@nx/vite 21.3.7 → 21.4.0-beta.1

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 (222) hide show
  1. package/executors.d.ts +1 -0
  2. package/executors.d.ts.map +1 -0
  3. package/executors.js +10 -26
  4. package/index.d.ts +1 -0
  5. package/index.d.ts.map +1 -0
  6. package/index.js +12 -26
  7. package/package.json +7 -4
  8. package/plugin.d.ts +1 -0
  9. package/plugin.d.ts.map +1 -0
  10. package/plugin.js +6 -23
  11. package/plugins/nx-copy-assets.plugin.d.ts +1 -0
  12. package/plugins/nx-copy-assets.plugin.d.ts.map +1 -0
  13. package/plugins/nx-copy-assets.plugin.js +28 -30
  14. package/plugins/nx-tsconfig-paths.plugin.d.ts +1 -0
  15. package/plugins/nx-tsconfig-paths.plugin.d.ts.map +1 -0
  16. package/plugins/nx-tsconfig-paths.plugin.js +86 -88
  17. package/plugins/nx-vite-build-coordination.plugin.d.ts +1 -0
  18. package/plugins/nx-vite-build-coordination.plugin.d.ts.map +1 -0
  19. package/plugins/nx-vite-build-coordination.plugin.js +25 -32
  20. package/plugins/rollup-replace-files.plugin.d.ts +1 -0
  21. package/plugins/rollup-replace-files.plugin.d.ts.map +1 -0
  22. package/plugins/rollup-replace-files.plugin.js +20 -26
  23. package/project.json +52 -0
  24. package/src/executors/build/build.impl.d.ts +1 -0
  25. package/src/executors/build/build.impl.d.ts.map +1 -0
  26. package/src/executors/build/build.impl.js +98 -112
  27. package/src/executors/build/compat.d.ts +1 -0
  28. package/src/executors/build/compat.d.ts.map +1 -0
  29. package/src/executors/build/compat.js +4 -11
  30. package/src/executors/dev-server/compat.d.ts +1 -0
  31. package/src/executors/dev-server/compat.d.ts.map +1 -0
  32. package/src/executors/dev-server/compat.js +4 -11
  33. package/src/executors/dev-server/dev-server.impl.d.ts +1 -0
  34. package/src/executors/dev-server/dev-server.impl.d.ts.map +1 -0
  35. package/src/executors/dev-server/dev-server.impl.js +54 -62
  36. package/src/executors/preview-server/compat.d.ts +1 -0
  37. package/src/executors/preview-server/compat.d.ts.map +1 -0
  38. package/src/executors/preview-server/compat.js +4 -11
  39. package/src/executors/preview-server/preview-server.impl.d.ts +1 -0
  40. package/src/executors/preview-server/preview-server.impl.d.ts.map +1 -0
  41. package/src/executors/preview-server/preview-server.impl.js +74 -77
  42. package/src/executors/test/compat.d.ts +1 -0
  43. package/src/executors/test/compat.d.ts.map +1 -0
  44. package/src/executors/test/compat.js +4 -11
  45. package/src/executors/test/lib/nx-reporter.d.ts +1 -0
  46. package/src/executors/test/lib/nx-reporter.d.ts.map +1 -0
  47. package/src/executors/test/lib/nx-reporter.js +17 -25
  48. package/src/executors/test/lib/utils.d.ts +1 -0
  49. package/src/executors/test/lib/utils.d.ts.map +1 -0
  50. package/src/executors/test/lib/utils.js +36 -59
  51. package/src/executors/test/vitest.impl.d.ts +1 -0
  52. package/src/executors/test/vitest.impl.d.ts.map +1 -0
  53. package/src/executors/test/vitest.impl.js +29 -43
  54. package/src/generators/configuration/configuration.d.ts +1 -0
  55. package/src/generators/configuration/configuration.d.ts.map +1 -0
  56. package/src/generators/configuration/configuration.js +82 -102
  57. package/src/generators/configuration/lib/convert-non-vite.d.ts +1 -0
  58. package/src/generators/configuration/lib/convert-non-vite.d.ts.map +1 -0
  59. package/src/generators/configuration/lib/convert-non-vite.js +33 -32
  60. package/src/generators/convert-to-inferred/convert-to-inferred.d.ts +1 -0
  61. package/src/generators/convert-to-inferred/convert-to-inferred.d.ts.map +1 -0
  62. package/src/generators/convert-to-inferred/convert-to-inferred.js +31 -61
  63. package/src/generators/convert-to-inferred/lib/build-post-target-transformer.d.ts +1 -0
  64. package/src/generators/convert-to-inferred/lib/build-post-target-transformer.d.ts.map +1 -0
  65. package/src/generators/convert-to-inferred/lib/build-post-target-transformer.js +46 -58
  66. package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.d.ts +1 -0
  67. package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.d.ts.map +1 -0
  68. package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.js +9 -14
  69. package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.d.ts +1 -0
  70. package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.d.ts.map +1 -0
  71. package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.js +10 -15
  72. package/src/generators/convert-to-inferred/lib/test-post-target-transformer.d.ts +1 -0
  73. package/src/generators/convert-to-inferred/lib/test-post-target-transformer.d.ts.map +1 -0
  74. package/src/generators/convert-to-inferred/lib/test-post-target-transformer.js +16 -23
  75. package/src/generators/convert-to-inferred/lib/utils.d.ts +1 -0
  76. package/src/generators/convert-to-inferred/lib/utils.d.ts.map +1 -0
  77. package/src/generators/convert-to-inferred/lib/utils.js +18 -33
  78. package/src/generators/init/init.d.ts +1 -0
  79. package/src/generators/init/init.d.ts.map +1 -0
  80. package/src/generators/init/init.js +44 -96
  81. package/src/generators/init/lib/utils.d.ts +1 -0
  82. package/src/generators/init/lib/utils.d.ts.map +1 -0
  83. package/src/generators/init/lib/utils.js +20 -35
  84. package/src/generators/setup-paths-plugin/lib/utils.d.ts +1 -0
  85. package/src/generators/setup-paths-plugin/lib/utils.d.ts.map +1 -0
  86. package/src/generators/setup-paths-plugin/lib/utils.js +0 -3
  87. package/src/generators/setup-paths-plugin/setup-paths-plugin.d.ts +1 -0
  88. package/src/generators/setup-paths-plugin/setup-paths-plugin.d.ts.map +1 -0
  89. package/src/generators/setup-paths-plugin/setup-paths-plugin.js +45 -54
  90. package/src/generators/vitest/vitest-generator.d.ts +1 -0
  91. package/src/generators/vitest/vitest-generator.d.ts.map +1 -0
  92. package/src/generators/vitest/vitest-generator.js +134 -174
  93. package/src/migrations/update-19-6-0/add-depends-on-for-preview.d.ts +1 -0
  94. package/src/migrations/update-19-6-0/add-depends-on-for-preview.d.ts.map +1 -0
  95. package/src/migrations/update-19-6-0/add-depends-on-for-preview.js +10 -18
  96. package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.d.ts +1 -0
  97. package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.d.ts.map +1 -0
  98. package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.js +4 -10
  99. package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.d.ts +1 -0
  100. package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.d.ts.map +1 -0
  101. package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.js +4 -10
  102. package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.d.ts +1 -0
  103. package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.d.ts.map +1 -0
  104. package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.js +20 -24
  105. package/src/migrations/update-20-5-0/install-jiti.d.ts +1 -0
  106. package/src/migrations/update-20-5-0/install-jiti.d.ts.map +1 -0
  107. package/src/migrations/update-20-5-0/install-jiti.js +6 -12
  108. package/src/migrations/update-20-5-0/update-resolve-conditions.d.ts +1 -0
  109. package/src/migrations/update-20-5-0/update-resolve-conditions.d.ts.map +1 -0
  110. package/src/migrations/update-20-5-0/update-resolve-conditions.js +26 -28
  111. package/src/plugins/plugin.d.ts +1 -0
  112. package/src/plugins/plugin.d.ts.map +1 -0
  113. package/src/plugins/plugin.js +189 -267
  114. package/src/utils/detect-ui-framework.d.ts +1 -0
  115. package/src/utils/detect-ui-framework.d.ts.map +1 -0
  116. package/src/utils/detect-ui-framework.js +9 -20
  117. package/src/utils/e2e-web-server-info-utils.d.ts +1 -0
  118. package/src/utils/e2e-web-server-info-utils.d.ts.map +1 -0
  119. package/src/utils/e2e-web-server-info-utils.js +23 -35
  120. package/src/utils/ensure-dependencies.d.ts +1 -0
  121. package/src/utils/ensure-dependencies.d.ts.map +1 -0
  122. package/src/utils/ensure-dependencies.js +24 -26
  123. package/src/utils/executor-utils.d.ts +1 -0
  124. package/src/utils/executor-utils.d.ts.map +1 -0
  125. package/src/utils/executor-utils.js +27 -43
  126. package/src/utils/find-vite-config.d.ts +1 -0
  127. package/src/utils/find-vite-config.d.ts.map +1 -0
  128. package/src/utils/find-vite-config.js +12 -37
  129. package/src/utils/generator-utils.d.ts +1 -0
  130. package/src/utils/generator-utils.d.ts.map +1 -0
  131. package/src/utils/generator-utils.js +204 -216
  132. package/src/utils/ignore-vite-temp-files.d.ts +1 -0
  133. package/src/utils/ignore-vite-temp-files.d.ts.map +1 -0
  134. package/src/utils/ignore-vite-temp-files.js +22 -32
  135. package/src/utils/nx-tsconfig-paths-find-file.d.ts +1 -0
  136. package/src/utils/nx-tsconfig-paths-find-file.d.ts.map +1 -0
  137. package/src/utils/nx-tsconfig-paths-find-file.js +10 -16
  138. package/src/utils/options-utils.d.ts +1 -0
  139. package/src/utils/options-utils.d.ts.map +1 -0
  140. package/src/utils/options-utils.js +48 -58
  141. package/src/utils/test-files/test-vite-configs.d.ts +1 -0
  142. package/src/utils/test-files/test-vite-configs.d.ts.map +1 -0
  143. package/src/utils/test-files/test-vite-configs.js +21 -82
  144. package/src/utils/test-utils.d.ts +1 -0
  145. package/src/utils/test-utils.d.ts.map +1 -0
  146. package/src/utils/test-utils.js +103 -130
  147. package/src/utils/version-utils.d.ts +1 -0
  148. package/src/utils/version-utils.d.ts.map +1 -0
  149. package/src/utils/version-utils.js +26 -44
  150. package/src/utils/versions.d.ts +1 -0
  151. package/src/utils/versions.d.ts.map +1 -0
  152. package/src/utils/versions.js +22 -82
  153. package/src/utils/vite-config-edit-utils.d.ts +1 -0
  154. package/src/utils/vite-config-edit-utils.d.ts.map +1 -0
  155. package/src/utils/vite-config-edit-utils.js +145 -125
  156. package/executors.js.map +0 -1
  157. package/index.js.map +0 -1
  158. package/plugin.js.map +0 -1
  159. package/plugins/nx-copy-assets.plugin.js.map +0 -1
  160. package/plugins/nx-tsconfig-paths.plugin.js.map +0 -1
  161. package/plugins/nx-vite-build-coordination.plugin.js.map +0 -1
  162. package/plugins/rollup-replace-files.plugin.js.map +0 -1
  163. package/src/executors/build/build.impl.js.map +0 -1
  164. package/src/executors/build/compat.js.map +0 -1
  165. package/src/executors/build/schema.d.js +0 -3
  166. package/src/executors/build/schema.d.js.map +0 -1
  167. package/src/executors/dev-server/compat.js.map +0 -1
  168. package/src/executors/dev-server/dev-server.impl.js.map +0 -1
  169. package/src/executors/dev-server/schema.d.js +0 -3
  170. package/src/executors/dev-server/schema.d.js.map +0 -1
  171. package/src/executors/preview-server/compat.js.map +0 -1
  172. package/src/executors/preview-server/preview-server.impl.js.map +0 -1
  173. package/src/executors/preview-server/schema.d.js +0 -3
  174. package/src/executors/preview-server/schema.d.js.map +0 -1
  175. package/src/executors/test/compat.js.map +0 -1
  176. package/src/executors/test/lib/nx-reporter.js.map +0 -1
  177. package/src/executors/test/lib/utils.js.map +0 -1
  178. package/src/executors/test/schema.d.js +0 -3
  179. package/src/executors/test/schema.d.js.map +0 -1
  180. package/src/executors/test/vitest.impl.js.map +0 -1
  181. package/src/generators/configuration/configuration.js.map +0 -1
  182. package/src/generators/configuration/lib/convert-non-vite.js.map +0 -1
  183. package/src/generators/configuration/schema.d.js +0 -3
  184. package/src/generators/configuration/schema.d.js.map +0 -1
  185. package/src/generators/convert-to-inferred/convert-to-inferred.js.map +0 -1
  186. package/src/generators/convert-to-inferred/lib/build-post-target-transformer.js.map +0 -1
  187. package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.js.map +0 -1
  188. package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.js.map +0 -1
  189. package/src/generators/convert-to-inferred/lib/test-post-target-transformer.js.map +0 -1
  190. package/src/generators/convert-to-inferred/lib/utils.js.map +0 -1
  191. package/src/generators/init/init.js.map +0 -1
  192. package/src/generators/init/lib/utils.js.map +0 -1
  193. package/src/generators/init/schema.d.js +0 -3
  194. package/src/generators/init/schema.d.js.map +0 -1
  195. package/src/generators/setup-paths-plugin/lib/utils.js.map +0 -1
  196. package/src/generators/setup-paths-plugin/schema.d.js +0 -3
  197. package/src/generators/setup-paths-plugin/schema.d.js.map +0 -1
  198. package/src/generators/setup-paths-plugin/setup-paths-plugin.js.map +0 -1
  199. package/src/generators/vitest/schema.d.js +0 -3
  200. package/src/generators/vitest/schema.d.js.map +0 -1
  201. package/src/generators/vitest/vitest-generator.js.map +0 -1
  202. package/src/migrations/update-19-6-0/add-depends-on-for-preview.js.map +0 -1
  203. package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.js.map +0 -1
  204. package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.js.map +0 -1
  205. package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.js.map +0 -1
  206. package/src/migrations/update-20-5-0/install-jiti.js.map +0 -1
  207. package/src/migrations/update-20-5-0/update-resolve-conditions.js.map +0 -1
  208. package/src/plugins/plugin.js.map +0 -1
  209. package/src/utils/detect-ui-framework.js.map +0 -1
  210. package/src/utils/e2e-web-server-info-utils.js.map +0 -1
  211. package/src/utils/ensure-dependencies.js.map +0 -1
  212. package/src/utils/executor-utils.js.map +0 -1
  213. package/src/utils/find-vite-config.js.map +0 -1
  214. package/src/utils/generator-utils.js.map +0 -1
  215. package/src/utils/ignore-vite-temp-files.js.map +0 -1
  216. package/src/utils/nx-tsconfig-paths-find-file.js.map +0 -1
  217. package/src/utils/options-utils.js.map +0 -1
  218. package/src/utils/test-files/test-vite-configs.js.map +0 -1
  219. package/src/utils/test-utils.js.map +0 -1
  220. package/src/utils/version-utils.js.map +0 -1
  221. package/src/utils/versions.js.map +0 -1
  222. package/src/utils/vite-config-edit-utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/build/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/compat.ts"],"sourcesContent":["import { convertNxExecutor } from '@nx/devkit';\nimport viteDevServerExecutor from './dev-server.impl';\n\nexport default convertNxExecutor(viteDevServerExecutor);\n"],"names":["convertNxExecutor","viteDevServerExecutor"],"rangeMappings":";;;;;;;;;","mappings":";+BAGA;;;eAAA;;;wBAHkC;+BACA;MAElC,WAAeA,IAAAA,yBAAiB,EAACC,sBAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/dev-server.impl.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n parseTargetString,\n} from '@nx/devkit';\nimport {\n getNxTargetOptions,\n getViteServerOptions,\n normalizeViteConfigFilePath,\n} from '../../utils/options-utils';\nimport { ViteDevServerExecutorOptions } from './schema';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport {\n createBuildableTsConfig,\n loadViteDynamicImport,\n} from '../../utils/executor-utils';\nimport { relative } from 'path';\nimport { getBuildExtraArgs } from '../build/build.impl';\n\nexport async function* viteDevServerExecutor(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): AsyncGenerator<{ success: boolean; baseUrl: string }> {\n process.env.VITE_CJS_IGNORE_WARNING = 'true';\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { mergeConfig, createServer, resolveConfig } =\n await loadViteDynamicImport();\n\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n createBuildableTsConfig(projectRoot, options, context);\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n const { configuration } = parseTargetString(options.buildTarget, context);\n\n const { buildOptions, otherOptions: otherOptionsFromBuild } =\n await getBuildExtraArgs(buildTargetOptions);\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n buildTargetOptions.configFile\n );\n const { serverOptions, otherOptions } = await getServerExtraArgs(\n options,\n configuration,\n buildOptions,\n otherOptionsFromBuild\n );\n const defaultMode =\n otherOptions?.mode ?? buildTargetOptions?.['mode'] ?? 'development';\n const resolved = await resolveConfig(\n {\n configFile: viteConfigPath,\n mode: defaultMode,\n },\n 'serve',\n defaultMode,\n process.env.NODE_ENV ?? defaultMode\n );\n\n // vite InlineConfig\n const serverConfig = mergeConfig(\n {\n // This should not be needed as it's going to be set in vite.config.ts\n // but leaving it here in case someone did not migrate correctly\n root: resolved.root ?? root,\n configFile: viteConfigPath,\n },\n {\n server: {\n ...(await getViteServerOptions(options, context)),\n ...serverOptions,\n },\n ...otherOptions,\n }\n );\n\n try {\n const server = await createServer(serverConfig);\n await runViteDevServer(server);\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\n// vite ViteDevServer\nasync function runViteDevServer(server: Record<string, any>): Promise<void> {\n await server.listen();\n\n server.printUrls();\n\n const processOnExit = async () => {\n await server.close();\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n}\n\nexport default viteDevServerExecutor;\n\nasync function getServerExtraArgs(\n options: ViteDevServerExecutorOptions,\n configuration: string | undefined,\n buildOptionsFromBuildTarget: Record<string, unknown> | undefined,\n otherOptionsFromBuildTarget: Record<string, unknown> | undefined\n): Promise<{\n // vite ServerOptions\n serverOptions: Record<string, unknown>;\n otherOptions: Record<string, any>;\n}> {\n // support passing extra args to vite cli\n const schema = await import('./schema.json');\n const extraArgs = {};\n for (const key of Object.keys(options)) {\n if (!schema.properties[key]) {\n extraArgs[key] = options[key];\n }\n }\n\n let serverOptions: Record<string, unknown> = {};\n const serverSchemaKeys = [\n 'hmr',\n 'warmup',\n 'watch',\n 'middlewareMode',\n 'fs',\n 'origin',\n 'preTransformRequests',\n 'sourcemapIgnoreList',\n 'port',\n 'strictPort',\n 'host',\n 'https',\n 'open',\n 'proxy',\n 'cors',\n 'headers',\n ];\n\n let otherOptions = {};\n for (const key of Object.keys(extraArgs)) {\n if (serverSchemaKeys.includes(key)) {\n serverOptions[key] = extraArgs[key];\n } else {\n otherOptions[key] = extraArgs[key];\n }\n }\n\n if (configuration) {\n serverOptions = {\n ...serverOptions,\n watch: buildOptionsFromBuildTarget?.watch ?? serverOptions?.watch,\n };\n otherOptions = {\n ...otherOptions,\n ...(otherOptionsFromBuildTarget ?? {}),\n };\n }\n\n return {\n serverOptions,\n otherOptions,\n };\n}\n"],"names":["viteDevServerExecutor","options","context","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","createServer","resolveConfig","loadViteDynamicImport","projectRoot","projectsConfigurations","projects","projectName","root","cwd","relative","joinPathFragments","createBuildableTsConfig","buildTargetOptions","getNxTargetOptions","buildTarget","configuration","parseTargetString","buildOptions","otherOptions","otherOptionsFromBuild","getBuildExtraArgs","viteConfigPath","normalizeViteConfigFilePath","configFile","serverOptions","getServerExtraArgs","defaultMode","mode","resolved","NODE_ENV","serverConfig","server","getViteServerOptions","runViteDevServer","resolvedUrls","local","network","success","baseUrl","e","console","error","Promise","resolve","once","listen","printUrls","processOnExit","close","buildOptionsFromBuildTarget","otherOptionsFromBuildTarget","schema","extraArgs","key","Object","keys","properties","serverSchemaKeys","includes","watch"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=schema.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/compat.ts"],"sourcesContent":["import { convertNxExecutor } from '@nx/devkit';\nimport vitePreviewServerExecutor from './preview-server.impl';\n\nexport default convertNxExecutor(vitePreviewServerExecutor);\n"],"names":["convertNxExecutor","vitePreviewServerExecutor"],"rangeMappings":";;;;;;;;;","mappings":";+BAGA;;;eAAA;;;wBAHkC;mCACI;MAEtC,WAAeA,IAAAA,yBAAiB,EAACC,0BAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/preview-server.impl.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n offsetFromRoot,\n parseTargetString,\n runExecutor,\n} from '@nx/devkit';\nimport {\n getNxTargetOptions,\n getProxyConfig,\n normalizeViteConfigFilePath,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { VitePreviewServerExecutorOptions } from './schema';\nimport { relative } from 'path';\nimport { getBuildExtraArgs } from '../build/build.impl';\nimport { loadViteDynamicImport } from '../../utils/executor-utils';\n\nexport async function* vitePreviewServerExecutor(\n options: VitePreviewServerExecutorOptions,\n context: ExecutorContext\n) {\n process.env.VITE_CJS_IGNORE_WARNING = 'true';\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { mergeConfig, preview, resolveConfig } = await loadViteDynamicImport();\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const target = parseTargetString(options.buildTarget, context);\n const targetConfiguration =\n context.projectsConfigurations.projects[target.project]?.targets[\n target.target\n ];\n if (!targetConfiguration) {\n throw new Error(`Invalid buildTarget: ${options.buildTarget}`);\n }\n\n const isCustomBuildTarget =\n targetConfiguration.executor !== '@nx/vite:build' &&\n targetConfiguration.executor !== '@nrwl/vite:build';\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n const { configuration } = parseTargetString(options.buildTarget, context);\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n buildTargetOptions.configFile\n );\n\n const { buildOptions, otherOptions: otherOptionsFromBuild } =\n await getBuildExtraArgs(buildTargetOptions);\n\n const { previewOptions, otherOptions } = await getExtraArgs(\n options,\n configuration,\n otherOptionsFromBuild\n );\n const defaultMode =\n otherOptions?.mode ?? otherOptionsFromBuild?.mode ?? 'production';\n\n const resolved = await resolveConfig(\n {\n configFile: viteConfigPath,\n mode: defaultMode,\n },\n 'build',\n defaultMode,\n process.env.NODE_ENV ?? defaultMode\n );\n\n const outDir =\n options.staticFilePath ??\n joinPathFragments(\n offsetFromRoot(projectRoot),\n buildTargetOptions.outputPath\n ) ??\n resolved?.build?.outDir;\n\n if (!outDir) {\n throw new Error(\n `Could not infer the \"outputPath\" or \"outDir\". It should be set in your vite.config.ts, or as a property of the \"${options.buildTarget}\" buildTarget or provided explicitly as a \"staticFilePath\" option.`\n );\n }\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n\n // Merge the options from the build and preview-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...{ watch: {} },\n build: {\n outDir,\n ...(isCustomBuildTarget ? {} : buildOptions),\n },\n ...(isCustomBuildTarget ? {} : otherOptionsFromBuild),\n ...otherOptions,\n preview: {\n ...getProxyConfig(context, otherOptions.proxyConfig),\n ...previewOptions,\n },\n };\n\n // vite InlineConfig\n const serverConfig = mergeConfig(\n {\n // This should not be needed as it's going to be set in vite.config.ts\n // but leaving it here in case someone did not migrate correctly\n root: resolved.root ?? root,\n configFile: viteConfigPath,\n },\n {\n ...mergedOptions,\n }\n );\n\n if (serverConfig.mode === 'production') {\n console.warn('WARNING: preview is not meant to be run in production!');\n }\n\n // vite PreviewServer\n let server: Record<string, any> | undefined;\n\n const processOnExit = async () => {\n await closeServer(server);\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n\n // Launch the build target.\n // If customBuildTarget is set to true, do not provide any overrides to it\n const buildTargetOverrides = isCustomBuildTarget ? {} : mergedOptions;\n const build = await runExecutor(target, buildTargetOverrides, context);\n\n for await (const result of build) {\n if (result.success) {\n try {\n if (!server) {\n server = await preview(serverConfig);\n }\n server.printUrls();\n\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n } else {\n yield {\n success: false,\n baseUrl: '',\n };\n }\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\nfunction closeServer(server?: Record<string, any>): Promise<void> {\n return new Promise((resolve) => {\n if (!server) {\n resolve();\n } else {\n const { httpServer } = server;\n if (httpServer['closeAllConnections']) {\n // https://github.com/vitejs/vite/pull/14834\n // closeAllConnections was added in Node v18.2.0\n // typically is \"as http.Server\" but no reason\n // to import http just for this\n (httpServer as any).closeAllConnections();\n }\n httpServer.close(() => resolve());\n }\n });\n}\n\nexport default vitePreviewServerExecutor;\n\nasync function getExtraArgs(\n options: VitePreviewServerExecutorOptions,\n configuration: string | undefined,\n otherOptionsFromBuildTarget: Record<string, unknown> | undefined\n): Promise<{\n // vite PreviewOptions\n previewOptions: Record<string, any>;\n otherOptions: Record<string, any>;\n}> {\n // support passing extra args to vite cli\n const schema = await import('./schema.json');\n const extraArgs = {};\n for (const key of Object.keys(options)) {\n if (!schema.properties[key]) {\n extraArgs[key] = options[key];\n }\n }\n\n const previewOptions = {};\n const previewSchemaKeys = [\n 'port',\n 'strictPort',\n 'host',\n 'https',\n 'open',\n 'proxy',\n 'cors',\n 'headers',\n ];\n\n let otherOptions = {};\n for (const key of Object.keys(extraArgs)) {\n if (previewSchemaKeys.includes(key)) {\n previewOptions[key] = extraArgs[key];\n } else {\n otherOptions[key] = extraArgs[key];\n }\n }\n\n if (configuration) {\n otherOptions = {\n ...otherOptions,\n ...(otherOptionsFromBuildTarget ?? {}),\n };\n }\n\n return {\n previewOptions,\n otherOptions,\n };\n}\n"],"names":["vitePreviewServerExecutor","options","context","resolved","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","preview","resolveConfig","loadViteDynamicImport","projectRoot","projectsConfigurations","projects","projectName","root","target","parseTargetString","buildTarget","targetConfiguration","project","targets","Error","isCustomBuildTarget","executor","buildTargetOptions","getNxTargetOptions","configuration","viteConfigPath","normalizeViteConfigFilePath","configFile","buildOptions","otherOptions","otherOptionsFromBuild","getBuildExtraArgs","previewOptions","getExtraArgs","defaultMode","mode","NODE_ENV","outDir","staticFilePath","joinPathFragments","offsetFromRoot","outputPath","build","cwd","relative","mergedOptions","watch","getProxyConfig","proxyConfig","serverConfig","console","warn","server","processOnExit","closeServer","once","buildTargetOverrides","runExecutor","result","success","printUrls","resolvedUrls","local","network","baseUrl","e","error","Promise","resolve","httpServer","closeAllConnections","close","otherOptionsFromBuildTarget","schema","extraArgs","key","Object","keys","properties","previewSchemaKeys","includes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=schema.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/test/compat.ts"],"sourcesContent":["import { convertNxExecutor } from '@nx/devkit';\nimport vitestExecutor from './vitest.impl';\n\nexport default convertNxExecutor(vitestExecutor);\n"],"names":["convertNxExecutor","vitestExecutor"],"rangeMappings":";;;;;;;;;","mappings":";+BAGA;;;eAAA;;;wBAHkC;4BACP;MAE3B,WAAeA,IAAAA,yBAAiB,EAACC,mBAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/executors/test/lib/nx-reporter.ts"],"sourcesContent":["import type { File, Reporter } from 'vitest';\n\nexport class NxReporter implements Reporter {\n deferred: {\n promise: Promise<boolean>;\n resolve: (val: boolean) => void;\n };\n\n constructor(private watch: boolean) {\n this.setupDeferred();\n }\n\n async *[Symbol.asyncIterator]() {\n do {\n const hasErrors = await this.deferred.promise;\n yield { hasErrors };\n this.setupDeferred();\n } while (this.watch);\n }\n\n private setupDeferred() {\n let resolve: (val: boolean) => void;\n this.deferred = {\n promise: new Promise((res) => {\n resolve = res;\n }),\n resolve,\n };\n }\n\n /** Vitest ≥ 0.29 */\n onTestRunEnd(files: any[], errors?: any) {\n this._handleFinished(files, errors);\n }\n /** Vitest ≤ 0.28 */\n onFinished(files: File[], errors?: unknown[]) {\n this._handleFinished(files, errors);\n }\n\n // --- private ----------------------------------------------------------\n private _handleFinished(files: any[], errors?: any) {\n const hasErrors =\n files.some((f) => f.result?.state === 'fail') || errors?.length > 0;\n this.deferred.resolve(hasErrors);\n }\n}\n"],"names":["NxReporter","Symbol","asyncIterator","hasErrors","deferred","promise","setupDeferred","watch","resolve","Promise","res","onTestRunEnd","files","errors","_handleFinished","onFinished","some","f","result","state","length","constructor"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAEaA;;;eAAAA;;;AAAN,IAAA,AAAMA,aAAN,MAAMA;IAUX,OAAO,CAACC,OAAOC,aAAa,CAAC,GAAG;QAC9B,GAAG;YACD,MAAMC,YAAY,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO;YAC7C,MAAM;gBAAEF;YAAU;YAClB,IAAI,CAACG,aAAa;QACpB,QAAS,IAAI,CAACC,KAAK,CAAE;IACvB;IAEQD,gBAAgB;QACtB,IAAIE;QACJ,IAAI,CAACJ,QAAQ,GAAG;YACdC,SAAS,IAAII,QAAQ,CAACC;gBACpBF,UAAUE;YACZ;YACAF;QACF;IACF;IAEA,kBAAkB,GAClBG,aAAaC,KAAY,EAAEC,MAAY,EAAE;QACvC,IAAI,CAACC,eAAe,CAACF,OAAOC;IAC9B;IACA,kBAAkB,GAClBE,WAAWH,KAAa,EAAEC,MAAkB,EAAE;QAC5C,IAAI,CAACC,eAAe,CAACF,OAAOC;IAC9B;IAEA,yEAAyE;IACjEC,gBAAgBF,KAAY,EAAEC,MAAY,EAAE;QAClD,MAAMV,YACJS,MAAMI,IAAI,CAAC,CAACC;gBAAMA;mBAAAA,EAAAA,YAAAA,EAAEC,MAAM,qBAARD,UAAUE,KAAK,MAAK;cAAWN,CAAAA,0BAAAA,OAAQO,MAAM,IAAG;QACpE,IAAI,CAAChB,QAAQ,CAACI,OAAO,CAACL;IACxB;IApCAkB,YAAY,AAAQd,KAAc,CAAE;aAAhBA,QAAAA;QAClB,IAAI,CAACD,aAAa;IACpB;AAmCF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/executors/test/lib/utils.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n logger,\n stripIndents,\n} from '@nx/devkit';\nimport { VitestExecutorOptions } from '../schema';\nimport { normalizeViteConfigFilePath } from '../../../utils/options-utils';\nimport { relative } from 'path';\nimport {\n loadViteDynamicImport,\n loadVitestDynamicImport,\n} from '../../../utils/executor-utils';\n\nexport async function getOptions(\n options: VitestExecutorOptions,\n context: ExecutorContext,\n projectRoot: string\n) {\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { loadConfigFromFile, mergeConfig } = await loadViteDynamicImport();\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n options.configFile\n );\n\n if (!viteConfigPath) {\n throw new Error(\n stripIndents`\n Unable to load test config from config file ${viteConfigPath}.\n \n Please make sure that vitest is configured correctly, \n or use the @nx/vite:vitest generator to configure it for you.\n You can read more here: https://nx.dev/nx-api/vite/generators/vitest\n `\n );\n }\n\n const resolved = await loadConfigFromFile(\n {\n mode: options?.mode ?? 'production',\n command: 'serve',\n },\n viteConfigPath\n );\n\n if (!viteConfigPath || !resolved?.config?.['test']) {\n logger.warn(stripIndents`Unable to load test config from config file ${\n resolved?.path ?? viteConfigPath\n }\n Some settings may not be applied as expected.\n You can manually set the config in the project, ${\n context.projectName\n }, configuration.\n `);\n }\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n\n const { parseCLI } = await loadVitestDynamicImport();\n\n const {\n options: { watch, ...normalizedExtraArgs },\n } = parseCLI(['vitest', ...getOptionsAsArgv(options)]);\n\n const { reportsDirectory, coverage, ...restNormalizedArgs } =\n normalizedExtraArgs as Record<string, any>;\n\n const settings = {\n // Explicitly set watch mode to false if not provided otherwise vitest\n // will enable watch mode by default for non CI environments\n watch: watch ?? false,\n ...restNormalizedArgs,\n // This should not be needed as it's going to be set in vite.config.ts\n // but leaving it here in case someone did not migrate correctly\n root: resolved.config.root ?? root,\n config: viteConfigPath,\n coverage: {\n ...(coverage ?? {}),\n ...(reportsDirectory && { reportsDirectory }),\n },\n };\n\n return mergeConfig(resolved?.config?.['test'] ?? {}, settings);\n}\n\nexport function getOptionsAsArgv(obj: Record<string, any>): string[] {\n const argv: string[] = [];\n\n for (const [key, value] of Object.entries(obj)) {\n if (Array.isArray(value)) {\n value.forEach((item) => argv.push(`--${key}=${item}`));\n } else if (typeof value === 'object' && value !== null) {\n argv.push(`--${key}='${JSON.stringify(value)}'`);\n } else {\n argv.push(`--${key}=${value}`);\n }\n }\n\n return argv;\n}\n"],"names":["getOptions","getOptionsAsArgv","options","context","projectRoot","resolved","loadConfigFromFile","mergeConfig","loadViteDynamicImport","viteConfigPath","normalizeViteConfigFilePath","root","configFile","Error","stripIndents","mode","command","config","logger","warn","path","projectName","process","cwd","relative","joinPathFragments","parseCLI","loadVitestDynamicImport","watch","normalizedExtraArgs","reportsDirectory","coverage","restNormalizedArgs","settings","obj","argv","key","value","Object","entries","Array","isArray","forEach","item","push","JSON","stringify"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAcsBA,UAAU;eAAVA;;IA4ENC,gBAAgB;eAAhBA;;;;;wBArFT;8BAEqC;sBACnB;+BAIlB;AAEA,eAAeD,WACpBE,OAA8B,EAC9BC,OAAwB,EACxBC,WAAmB;QA+BKC,kBAuCLA;IApEnB,yFAAyF;IACzF,MAAM,EAAEC,kBAAkB,EAAEC,WAAW,EAAE,GAAG,MAAMC,IAAAA,oCAAqB;IAEvE,MAAMC,iBAAiBC,IAAAA,yCAA2B,EAChDP,QAAQQ,IAAI,EACZP,aACAF,QAAQU,UAAU;IAGpB,IAAI,CAACH,gBAAgB;QACnB,MAAM,IAAII,MACRC,IAAAA,oBAAY,CAAA,CAAC;oDACiC,EAAEL,eAAe;;;;;QAK7D,CAAC;IAEP;QAIUP;IAFV,MAAMG,WAAW,MAAMC,mBACrB;QACES,MAAMb,CAAAA,gBAAAA,2BAAAA,QAASa,IAAI,YAAbb,gBAAiB;QACvBc,SAAS;IACX,GACAP;IAGF,IAAI,CAACA,kBAAkB,EAACJ,6BAAAA,mBAAAA,SAAUY,MAAM,qBAAhBZ,gBAAkB,CAAC,OAAO,GAAE;YAEhDA;QADFa,cAAM,CAACC,IAAI,CAACL,IAAAA,oBAAY,CAAA,CAAC,4CAA4C,EACnET,CAAAA,iBAAAA,4BAAAA,SAAUe,IAAI,YAAdf,iBAAkBI,eACnB;;kDAE6C,EAC9CN,QAAQkB,WAAW,CACpB;QACK,CAAC;IACP;IACA,MAAMV,OACJP,gBAAgB,MACZkB,QAAQC,GAAG,KACXC,IAAAA,cAAQ,EAACrB,QAAQoB,GAAG,EAAEE,IAAAA,yBAAiB,EAACtB,QAAQQ,IAAI,EAAEP;IAE5D,MAAM,EAAEsB,QAAQ,EAAE,GAAG,MAAMC,IAAAA,sCAAuB;IAElD,MAEID,YAAAA,SAAS;QAAC;WAAazB,iBAAiBC;KAAS,GAF/C,EACJA,SAAS,EAAE0B,KAAK,EAA0B,EAC3C,GAAGF,WADmBG,yDACnBH,UADFxB;QAAW0B;;IAGb,MAAM,EAAEE,gBAAgB,EAAEC,QAAQ,EAAyB,GACzDF,qBADqCG,wDACrCH;QADMC;QAAkBC;;QAUlB1B;IAPR,MAAM4B,WAAW;QACf,sEAAsE;QACtE,4DAA4D;QAC5DL,OAAOA,gBAAAA,QAAS;OACbI;QACH,sEAAsE;QACtE,gEAAgE;QAChErB,MAAMN,CAAAA,wBAAAA,SAASY,MAAM,CAACN,IAAI,YAApBN,wBAAwBM;QAC9BM,QAAQR;QACRsB,UAAU,eACJA,mBAAAA,WAAY,CAAC,GACbD,oBAAoB;YAAEA;QAAiB;;QAI5BzB;IAAnB,OAAOE,YAAYF,CAAAA,wBAAAA,6BAAAA,oBAAAA,SAAUY,MAAM,qBAAhBZ,iBAAkB,CAAC,OAAO,YAA1BA,wBAA8B,CAAC,GAAG4B;AACvD;AAEO,SAAShC,iBAAiBiC,GAAwB;IACvD,MAAMC,OAAiB,EAAE;IAEzB,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACL,KAAM;QAC9C,IAAIM,MAAMC,OAAO,CAACJ,QAAQ;YACxBA,MAAMK,OAAO,CAAC,CAACC,OAASR,KAAKS,IAAI,CAAC,CAAC,EAAE,EAAER,IAAI,CAAC,EAAEO,KAAK,CAAC;QACtD,OAAO,IAAI,OAAON,UAAU,YAAYA,UAAU,MAAM;YACtDF,KAAKS,IAAI,CAAC,CAAC,EAAE,EAAER,IAAI,EAAE,EAAES,KAAKC,SAAS,CAACT,OAAO,CAAC,CAAC;QACjD,OAAO;YACLF,KAAKS,IAAI,CAAC,CAAC,EAAE,EAAER,IAAI,CAAC,EAAEC,MAAM,CAAC;QAC/B;IACF;IAEA,OAAOF;AACT"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=schema.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/test/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/test/vitest.impl.ts"],"sourcesContent":["import { ExecutorContext, workspaceRoot } from '@nx/devkit';\nimport { VitestExecutorOptions } from './schema';\nimport { resolve } from 'path';\nimport { registerTsConfigPaths } from '@nx/js/src/internal';\nimport { NxReporter } from './lib/nx-reporter';\nimport { getOptions } from './lib/utils';\nimport { loadVitestDynamicImport } from '../../utils/executor-utils';\n\nexport async function* vitestExecutor(\n options: VitestExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n registerTsConfigPaths(resolve(workspaceRoot, projectRoot, 'tsconfig.json'));\n\n process.env.VITE_CJS_IGNORE_WARNING = 'true';\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { startVitest } = await loadVitestDynamicImport();\n\n const resolvedOptions =\n (await getOptions(options, context, projectRoot)) ?? {};\n\n const watch = resolvedOptions['watch'] === true;\n\n const nxReporter = new NxReporter(watch);\n if (resolvedOptions['reporters'] === undefined) {\n resolvedOptions['reporters'] = [];\n } else if (typeof resolvedOptions['reporters'] === 'string') {\n resolvedOptions['reporters'] = [resolvedOptions['reporters']];\n }\n resolvedOptions['reporters'].push(nxReporter);\n\n const cliFilters = options.testFiles ?? [];\n\n const ctx = await startVitest(\n resolvedOptions['mode'] ?? 'test',\n cliFilters,\n resolvedOptions\n );\n\n let hasErrors = false;\n\n const processExit = () => {\n ctx.exit();\n if (hasErrors) {\n process.exit(1);\n } else {\n process.exit(0);\n }\n };\n\n if (watch) {\n process.on('SIGINT', processExit);\n process.on('SIGTERM', processExit);\n process.on('exit', processExit);\n }\n\n // vitest sets the exitCode in case of exception without notifying reporters\n if (\n process.exitCode === undefined ||\n (watch && ctx.state.getFiles().length > 0)\n ) {\n for await (const report of nxReporter) {\n // vitest sets the exitCode = 1 when code coverage isn't met\n hasErrors =\n report.hasErrors || (process.exitCode && process.exitCode !== 0);\n }\n } else {\n hasErrors = process.exitCode !== 0;\n }\n\n return {\n success: !hasErrors,\n };\n}\n\nexport default vitestExecutor;\n"],"names":["vitestExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","registerTsConfigPaths","resolve","workspaceRoot","process","env","VITE_CJS_IGNORE_WARNING","startVitest","loadVitestDynamicImport","resolvedOptions","getOptions","watch","nxReporter","NxReporter","undefined","push","cliFilters","testFiles","ctx","hasErrors","processExit","exit","on","exitCode","state","getFiles","length","report","success"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IA8EA,OAA8B;eAA9B;;IAtEuBA,cAAc;eAAdA;;;wBARwB;sBAEvB;0BACc;4BACX;uBACA;+BACa;AAEjC,gBAAgBA,eACrBC,OAA8B,EAC9BC,OAAwB;IAExB,MAAMC,cACJD,QAAQE,sBAAsB,CAACC,QAAQ,CAACH,QAAQI,WAAW,CAAC,CAACC,IAAI;IAEnEC,IAAAA,+BAAqB,EAACC,IAAAA,aAAO,EAACC,qBAAa,EAAEP,aAAa;IAE1DQ,QAAQC,GAAG,CAACC,uBAAuB,GAAG;IACtC,yFAAyF;IACzF,MAAM,EAAEC,WAAW,EAAE,GAAG,MAAMC,IAAAA,sCAAuB;QAGlD;IADH,MAAMC,kBACJ,CAAC,OAAA,MAAMC,IAAAA,iBAAU,EAAChB,SAASC,SAASC,wBAAnC,OAAoD,CAAC;IAExD,MAAMe,QAAQF,eAAe,CAAC,QAAQ,KAAK;IAE3C,MAAMG,aAAa,IAAIC,sBAAU,CAACF;IAClC,IAAIF,eAAe,CAAC,YAAY,KAAKK,WAAW;QAC9CL,eAAe,CAAC,YAAY,GAAG,EAAE;IACnC,OAAO,IAAI,OAAOA,eAAe,CAAC,YAAY,KAAK,UAAU;QAC3DA,eAAe,CAAC,YAAY,GAAG;YAACA,eAAe,CAAC,YAAY;SAAC;IAC/D;IACAA,eAAe,CAAC,YAAY,CAACM,IAAI,CAACH;QAEflB;IAAnB,MAAMsB,aAAatB,CAAAA,qBAAAA,QAAQuB,SAAS,YAAjBvB,qBAAqB,EAAE;QAGxCe;IADF,MAAMS,MAAM,MAAMX,YAChBE,CAAAA,wBAAAA,eAAe,CAAC,OAAO,YAAvBA,wBAA2B,QAC3BO,YACAP;IAGF,IAAIU,YAAY;IAEhB,MAAMC,cAAc;QAClBF,IAAIG,IAAI;QACR,IAAIF,WAAW;YACbf,QAAQiB,IAAI,CAAC;QACf,OAAO;YACLjB,QAAQiB,IAAI,CAAC;QACf;IACF;IAEA,IAAIV,OAAO;QACTP,QAAQkB,EAAE,CAAC,UAAUF;QACrBhB,QAAQkB,EAAE,CAAC,WAAWF;QACtBhB,QAAQkB,EAAE,CAAC,QAAQF;IACrB;IAEA,4EAA4E;IAC5E,IACEhB,QAAQmB,QAAQ,KAAKT,aACpBH,SAASO,IAAIM,KAAK,CAACC,QAAQ,GAAGC,MAAM,GAAG,GACxC;QACA,WAAW,MAAMC,UAAUf,WAAY;YACrC,4DAA4D;YAC5DO,YACEQ,OAAOR,SAAS,IAAKf,QAAQmB,QAAQ,IAAInB,QAAQmB,QAAQ,KAAK;QAClE;IACF,OAAO;QACLJ,YAAYf,QAAQmB,QAAQ,KAAK;IACnC;IAEA,OAAO;QACLK,SAAS,CAACT;IACZ;AACF;MAEA,WAAe1B"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/configuration.ts"],"sourcesContent":["import {\n formatFiles,\n GeneratorCallback,\n joinPathFragments,\n readJson,\n readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n writeJson,\n} from '@nx/devkit';\nimport {\n getUpdatedPackageJsonContent,\n initGenerator as jsInitGenerator,\n} from '@nx/js';\nimport { getImportPath } from '@nx/js/src/utils/get-import-path';\nimport {\n getProjectType,\n isUsingTsSolutionSetup,\n} from '@nx/js/src/utils/typescript/ts-solution-setup';\nimport { join } from 'node:path/posix';\nimport type { PackageJson } from 'nx/src/utils/package-json';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\nimport {\n addBuildTarget,\n addPreviewTarget,\n addServeTarget,\n createOrEditViteConfig,\n TargetFlags,\n} from '../../utils/generator-utils';\nimport initGenerator from '../init/init';\nimport vitestGenerator from '../vitest/vitest-generator';\nimport { convertNonVite } from './lib/convert-non-vite';\nimport { ViteConfigurationGeneratorSchema } from './schema';\n\nexport function viteConfigurationGenerator(\n host: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n return viteConfigurationGeneratorInternal(host, {\n addPlugin: false,\n ...schema,\n });\n}\n\nexport async function viteConfigurationGeneratorInternal(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const projectConfig = readProjectConfiguration(tree, schema.project);\n const { targets, root: projectRoot } = projectConfig;\n\n const projectType = getProjectType(\n tree,\n projectConfig.root,\n schema.projectType ?? projectConfig.projectType\n );\n\n schema.includeLib ??= projectType === 'library';\n\n // Setting default to jsdom since it is the most common use case (React, Web).\n // The @nx/js:lib generator specifically sets this to node to be more generic.\n schema.testEnvironment ??= 'jsdom';\n\n /**\n * This is for when we are converting an existing project\n * to use the vite executors.\n */\n let projectAlreadyHasViteTargets: TargetFlags = {};\n\n if (!schema.newProject) {\n await convertNonVite(tree, schema, projectRoot, projectType, targets);\n }\n\n const jsInitTask = await jsInitGenerator(tree, {\n ...schema,\n skipFormat: true,\n tsConfigName: projectRoot === '.' ? 'tsconfig.json' : 'tsconfig.base.json',\n });\n tasks.push(jsInitTask);\n const initTask = await initGenerator(tree, {\n ...schema,\n projectRoot,\n skipFormat: true,\n });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n if (!projectAlreadyHasViteTargets.build) {\n addBuildTarget(tree, schema, 'build');\n }\n\n if (!schema.includeLib) {\n if (!projectAlreadyHasViteTargets.serve) {\n addServeTarget(tree, schema, 'serve');\n }\n if (!projectAlreadyHasViteTargets.preview) {\n addPreviewTarget(tree, schema, 'preview');\n }\n }\n }\n if (projectType === 'library') {\n // update tsconfig.lib.json to include vite/client\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n json.compilerOptions ??= {};\n json.compilerOptions.types ??= [];\n if (!json.compilerOptions.types.includes('vite/client')) {\n json.compilerOptions.types.push('vite/client');\n }\n return json;\n }\n );\n }\n\n if (!schema.newProject) {\n // We are converting existing project to use Vite\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: schema.includeLib,\n includeVitest: schema.includeVitest,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [\n schema.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc'`\n : `import react from '@vitejs/plugin-react'`,\n ],\n plugins: ['react()'],\n port: schema.port,\n },\n false,\n undefined\n );\n } else {\n createOrEditViteConfig(tree, schema, false, projectAlreadyHasViteTargets);\n }\n }\n\n if (schema.includeVitest) {\n const vitestTask = await vitestGenerator(tree, {\n project: schema.project,\n uiFramework: schema.uiFramework,\n inSourceTests: schema.inSourceTests,\n coverageProvider: 'v8',\n skipViteConfig: true,\n testTarget: 'test',\n skipFormat: true,\n addPlugin: schema.addPlugin,\n compiler: schema.compiler,\n projectType,\n });\n tasks.push(vitestTask);\n }\n\n if (isUsingTsSolutionSetup(tree)) {\n updatePackageJson(tree, schema, projectType);\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default viteConfigurationGenerator;\n\nfunction updatePackageJson(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n projectType: 'application' | 'library'\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const packageJsonPath = join(project.root, 'package.json');\n let packageJson: PackageJson;\n if (tree.exists(packageJsonPath)) {\n packageJson = readJson(tree, packageJsonPath);\n } else {\n packageJson = {\n name: getImportPath(tree, options.project),\n version: '0.0.1',\n };\n if (getProjectType(tree, project.root, projectType) === 'application') {\n packageJson.private = true;\n }\n }\n\n if (projectType === 'library') {\n // we always write/override the vite and project config with some set values,\n // so we can rely on them\n const main = join(project.root, 'src/index.ts');\n // we configure the dts plugin with the entryRoot set to `src`\n const rootDir = join(project.root, 'src');\n const outputPath = joinPathFragments(project.root, 'dist');\n\n // the file must exist in the TS solution setup, which is the only case this\n // function is called\n const tsconfigBase = readJson(tree, 'tsconfig.base.json');\n\n packageJson = getUpdatedPackageJsonContent(packageJson, {\n main,\n outputPath,\n projectRoot: project.root,\n rootDir,\n generateExportsField: true,\n packageJsonPath,\n format: ['esm'],\n skipDevelopmentExports:\n !tsconfigBase.compilerOptions?.customConditions?.includes(\n 'development'\n ),\n });\n }\n\n writeJson(tree, packageJsonPath, packageJson);\n}\n"],"names":["viteConfigurationGenerator","viteConfigurationGeneratorInternal","host","schema","addPlugin","tree","nxJson","tasks","projectConfig","readProjectConfiguration","project","targets","root","projectRoot","projectType","getProjectType","includeLib","testEnvironment","projectAlreadyHasViteTargets","newProject","convertNonVite","jsInitTask","jsInitGenerator","skipFormat","tsConfigName","push","initTask","initGenerator","ensureDependencies","readNxJson","addPluginDefault","process","env","NX_ADD_PLUGINS","useInferencePlugins","hasPlugin","plugins","some","p","plugin","build","addBuildTarget","serve","addServeTarget","preview","addPreviewTarget","updateJson","joinPathFragments","json","compilerOptions","types","includes","uiFramework","createOrEditViteConfig","includeVitest","inSourceTests","rollupOptionsExternal","imports","compiler","port","undefined","vitestTask","vitestGenerator","coverageProvider","skipViteConfig","testTarget","isUsingTsSolutionSetup","updatePackageJson","formatFiles","runTasksInSerial","options","packageJsonPath","join","packageJson","exists","readJson","name","getImportPath","version","private","tsconfigBase","main","rootDir","outputPath","getUpdatedPackageJsonContent","generateExportsField","format","skipDevelopmentExports","customConditions","writeJson"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/configuration/lib/convert-non-vite.ts"],"sourcesContent":["import {\n TargetConfiguration,\n Tree,\n joinPathFragments,\n logger,\n} from '@nx/devkit';\nimport {\n findViteConfig,\n findWebpackConfig,\n} from '../../../utils/find-vite-config';\nimport { ViteConfigurationGeneratorSchema } from '../schema';\nimport {\n deleteWebpackConfig,\n editTsConfig,\n findExistingJsBuildTargetInProject,\n handleUnknownConfiguration,\n moveAndEditIndexHtml,\n} from '../../../utils/generator-utils';\nimport { getProjectType } from '@nx/js/src/utils/typescript/ts-solution-setup';\n\nexport async function convertNonVite(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema,\n projectRoot: string,\n _projectType: string,\n targets: {\n [targetName: string]: TargetConfiguration<any>;\n }\n) {\n // Check if it has vite\n const hasViteConfig = findViteConfig(tree, projectRoot);\n const hasIndexHtmlAtRoot = tree.exists(\n joinPathFragments(projectRoot, 'index.html')\n );\n\n // Check if it has webpack\n const hasWebpackConfig = findWebpackConfig(tree, projectRoot);\n const projectType = getProjectType(\n tree,\n projectRoot,\n _projectType as 'application' | 'library'\n );\n if (hasWebpackConfig) {\n if (projectType === 'application') {\n moveAndEditIndexHtml(tree, schema);\n }\n deleteWebpackConfig(tree, projectRoot, hasWebpackConfig);\n editTsConfig(tree, schema);\n return;\n }\n\n if (\n projectType === 'application' &&\n hasViteConfig &&\n hasIndexHtmlAtRoot &&\n !hasWebpackConfig\n ) {\n throw new Error(\n `The project ${schema.project} is already configured to use Vite.`\n );\n return;\n }\n\n if (projectType === 'library' && hasViteConfig) {\n // continue anyway - it could need to be updated - only update vite.config.ts in any case\n editTsConfig(tree, schema);\n return;\n }\n\n // Does the project have js executors?\n const { supported: jsTargetName, unsupported } =\n findExistingJsBuildTargetInProject(targets);\n if (jsTargetName) {\n editTsConfig(tree, schema);\n return;\n }\n\n if (unsupported) {\n throw new Error(`\n Nx cannot convert your project to use vite.\n Please try again with a different project.\n `);\n }\n\n // If it's a library, it's most possible it's non-buildable\n // So fix the tsconfig and return, to continue with the rest of the setup\n if (\n projectType === 'library' &&\n !hasViteConfig &&\n !hasWebpackConfig &&\n !jsTargetName\n ) {\n editTsConfig(tree, schema);\n return;\n }\n\n /**\n * The project is an app.\n * The project has no js executors, no webpack config, no vite config.\n * We did not find any configuration that hints the project can\n * definitely be converted.\n * So, we should warn the user about it.\n * They can choose whether to convert it or not\n */\n await handleUnknownConfiguration(schema.project);\n}\n"],"names":["convertNonVite","tree","schema","projectRoot","_projectType","targets","hasViteConfig","findViteConfig","hasIndexHtmlAtRoot","exists","joinPathFragments","hasWebpackConfig","findWebpackConfig","projectType","getProjectType","moveAndEditIndexHtml","deleteWebpackConfig","editTsConfig","Error","project","supported","jsTargetName","unsupported","findExistingJsBuildTargetInProject","handleUnknownConfiguration"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAoBsBA;;;eAAAA;;;wBAff;gCAIA;gCAQA;iCACwB;AAExB,eAAeA,eACpBC,IAAU,EACVC,MAAwC,EACxCC,WAAmB,EACnBC,YAAoB,EACpBC,OAEC;IAED,uBAAuB;IACvB,MAAMC,gBAAgBC,IAAAA,8BAAc,EAACN,MAAME;IAC3C,MAAMK,qBAAqBP,KAAKQ,MAAM,CACpCC,IAAAA,yBAAiB,EAACP,aAAa;IAGjC,0BAA0B;IAC1B,MAAMQ,mBAAmBC,IAAAA,iCAAiB,EAACX,MAAME;IACjD,MAAMU,cAAcC,IAAAA,+BAAc,EAChCb,MACAE,aACAC;IAEF,IAAIO,kBAAkB;QACpB,IAAIE,gBAAgB,eAAe;YACjCE,IAAAA,oCAAoB,EAACd,MAAMC;QAC7B;QACAc,IAAAA,mCAAmB,EAACf,MAAME,aAAaQ;QACvCM,IAAAA,4BAAY,EAAChB,MAAMC;QACnB;IACF;IAEA,IACEW,gBAAgB,iBAChBP,iBACAE,sBACA,CAACG,kBACD;QACA,MAAM,IAAIO,MACR,CAAC,YAAY,EAAEhB,OAAOiB,OAAO,CAAC,mCAAmC,CAAC;QAEpE;IACF;IAEA,IAAIN,gBAAgB,aAAaP,eAAe;QAC9C,yFAAyF;QACzFW,IAAAA,4BAAY,EAAChB,MAAMC;QACnB;IACF;IAEA,sCAAsC;IACtC,MAAM,EAAEkB,WAAWC,YAAY,EAAEC,WAAW,EAAE,GAC5CC,IAAAA,kDAAkC,EAAClB;IACrC,IAAIgB,cAAc;QAChBJ,IAAAA,4BAAY,EAAChB,MAAMC;QACnB;IACF;IAEA,IAAIoB,aAAa;QACf,MAAM,IAAIJ,MAAM,CAAC;;;IAGjB,CAAC;IACH;IAEA,2DAA2D;IAC3D,yEAAyE;IACzE,IACEL,gBAAgB,aAChB,CAACP,iBACD,CAACK,oBACD,CAACU,cACD;QACAJ,IAAAA,4BAAY,EAAChB,MAAMC;QACnB;IACF;IAEA;;;;;;;GAOC,GACD,MAAMsB,IAAAA,0CAA0B,EAACtB,OAAOiB,OAAO;AACjD"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=schema.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/convert-to-inferred/convert-to-inferred.ts"],"sourcesContent":["import { createProjectGraphAsync, formatFiles, type Tree } from '@nx/devkit';\nimport {\n migrateProjectExecutorsToPlugin,\n NoTargetsToMigrateError,\n} from '@nx/devkit/src/generators/plugin-migrations/executor-to-plugin-migrator';\nimport { createNodesV2, VitePluginOptions } from '../../plugins/plugin';\nimport { buildPostTargetTransformer } from './lib/build-post-target-transformer';\nimport { servePostTargetTransformer } from './lib/serve-post-target-transformer';\nimport { previewPostTargetTransformer } from './lib/preview-post-target-transformer';\nimport { testPostTargetTransformer } from './lib/test-post-target-transformer';\nimport { AggregatedLog } from '@nx/devkit/src/generators/plugin-migrations/aggregate-log-util';\n\ninterface Schema {\n project?: string;\n skipFormat?: boolean;\n}\n\nexport async function convertToInferred(tree: Tree, options: Schema) {\n const projectGraph = await createProjectGraphAsync();\n const migrationLogs = new AggregatedLog();\n\n const migratedProjects =\n await migrateProjectExecutorsToPlugin<VitePluginOptions>(\n tree,\n projectGraph,\n '@nx/vite/plugin',\n createNodesV2,\n {\n buildTargetName: 'build',\n serveTargetName: 'serve',\n previewTargetName: 'preview',\n testTargetName: 'test',\n serveStaticTargetName: 'serve-static',\n },\n [\n {\n executors: ['@nx/vite:build'],\n postTargetTransformer: buildPostTargetTransformer,\n targetPluginOptionMapper: (target) => ({ buildTargetName: target }),\n },\n {\n executors: ['@nx/vite:dev-server'],\n postTargetTransformer: servePostTargetTransformer(migrationLogs),\n targetPluginOptionMapper: (target) => ({ serveTargetName: target }),\n },\n {\n executors: ['@nx/vite:preview-server'],\n postTargetTransformer: previewPostTargetTransformer(migrationLogs),\n targetPluginOptionMapper: (target) => ({ previewTargetName: target }),\n },\n {\n executors: ['@nx/vite:test'],\n postTargetTransformer: testPostTargetTransformer,\n targetPluginOptionMapper: (target) => ({ testTargetName: target }),\n },\n ],\n options.project\n );\n\n if (migratedProjects.size === 0) {\n throw new NoTargetsToMigrateError();\n }\n\n if (!options.skipFormat) {\n await formatFiles(tree);\n }\n\n return () => {\n migrationLogs.flushLogs();\n };\n}\n\nexport default convertToInferred;\n"],"names":["convertToInferred","tree","options","projectGraph","createProjectGraphAsync","migrationLogs","AggregatedLog","migratedProjects","migrateProjectExecutorsToPlugin","createNodesV2","buildTargetName","serveTargetName","previewTargetName","testTargetName","serveStaticTargetName","executors","postTargetTransformer","buildPostTargetTransformer","targetPluginOptionMapper","target","servePostTargetTransformer","previewPostTargetTransformer","testPostTargetTransformer","project","size","NoTargetsToMigrateError","skipFormat","formatFiles","flushLogs"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAiBsBA,iBAAiB;eAAjBA;;IAuDtB,OAAiC;eAAjC;;;wBAxEgE;0CAIzD;wBAC0C;4CACN;4CACA;8CACE;2CACH;kCACZ;AAOvB,eAAeA,kBAAkBC,IAAU,EAAEC,OAAe;IACjE,MAAMC,eAAe,MAAMC,IAAAA,+BAAuB;IAClD,MAAMC,gBAAgB,IAAIC,+BAAa;IAEvC,MAAMC,mBACJ,MAAMC,IAAAA,yDAA+B,EACnCP,MACAE,cACA,mBACAM,qBAAa,EACb;QACEC,iBAAiB;QACjBC,iBAAiB;QACjBC,mBAAmB;QACnBC,gBAAgB;QAChBC,uBAAuB;IACzB,GACA;QACE;YACEC,WAAW;gBAAC;aAAiB;YAC7BC,uBAAuBC,sDAA0B;YACjDC,0BAA0B,CAACC,SAAY,CAAA;oBAAET,iBAAiBS;gBAAO,CAAA;QACnE;QACA;YACEJ,WAAW;gBAAC;aAAsB;YAClCC,uBAAuBI,IAAAA,sDAA0B,EAACf;YAClDa,0BAA0B,CAACC,SAAY,CAAA;oBAAER,iBAAiBQ;gBAAO,CAAA;QACnE;QACA;YACEJ,WAAW;gBAAC;aAA0B;YACtCC,uBAAuBK,IAAAA,0DAA4B,EAAChB;YACpDa,0BAA0B,CAACC,SAAY,CAAA;oBAAEP,mBAAmBO;gBAAO,CAAA;QACrE;QACA;YACEJ,WAAW;gBAAC;aAAgB;YAC5BC,uBAAuBM,oDAAyB;YAChDJ,0BAA0B,CAACC,SAAY,CAAA;oBAAEN,gBAAgBM;gBAAO,CAAA;QAClE;KACD,EACDjB,QAAQqB,OAAO;IAGnB,IAAIhB,iBAAiBiB,IAAI,KAAK,GAAG;QAC/B,MAAM,IAAIC,iDAAuB;IACnC;IAEA,IAAI,CAACvB,QAAQwB,UAAU,EAAE;QACvB,MAAMC,IAAAA,mBAAW,EAAC1B;IACpB;IAEA,OAAO;QACLI,cAAcuB,SAAS;IACzB;AACF;MAEA,WAAe5B"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/convert-to-inferred/lib/build-post-target-transformer.ts"],"sourcesContent":["import {\n joinPathFragments,\n type TargetConfiguration,\n type Tree,\n} from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { extname } from 'path/posix';\nimport {\n addConfigValuesToViteConfig,\n getViteConfigPath,\n toProjectRelativePath,\n} from './utils';\nimport { processTargetOutputs } from '@nx/devkit/src/generators/plugin-migrations/plugin-migration-utils';\n\nexport function buildPostTargetTransformer(\n target: TargetConfiguration,\n tree: Tree,\n projectDetails: { projectName: string; root: string },\n inferredTargetConfiguration: TargetConfiguration\n) {\n let viteConfigPath = getViteConfigPath(tree, projectDetails.root);\n\n const configValues: Record<string, Record<string, unknown>> = {\n default: {},\n };\n\n if (target.configurations) {\n for (const configurationName in target.configurations) {\n const configuration = target.configurations[configurationName];\n configValues[configurationName] = {};\n let configurationConfigFile = viteConfigPath;\n if (configuration.configFile) {\n if ('buildLibsFromSource' in target.options) {\n configuration.buildLibsFromSource =\n target.options.buildLibsFromSource;\n }\n\n configurationConfigFile = configuration.configFile;\n }\n\n removePropertiesFromTargetOptions(\n tree,\n configuration,\n configurationConfigFile,\n projectDetails.root,\n configValues[configurationName],\n configuration.configFile && configuration.configFile !== viteConfigPath\n );\n }\n\n for (const configurationName in target.configurations) {\n const configuration = target.configurations[configurationName];\n if (\n configuration.config &&\n configuration.config !==\n toProjectRelativePath(viteConfigPath, projectDetails.root)\n ) {\n const configFilePath = joinPathFragments(\n projectDetails.root,\n configuration.config\n );\n addConfigValuesToViteConfig(tree, configFilePath, configValues);\n }\n }\n\n if (Object.keys(target.configurations).length === 0) {\n if ('defaultConfiguration' in target) {\n delete target.defaultConfiguration;\n }\n delete target.configurations;\n }\n\n if (\n 'defaultConfiguration' in target &&\n !target.configurations[target.defaultConfiguration]\n ) {\n delete target.defaultConfiguration;\n }\n }\n\n if (target.options) {\n if (target.options.configFile) {\n viteConfigPath = target.options.configFile;\n }\n\n removePropertiesFromTargetOptions(\n tree,\n target.options,\n viteConfigPath,\n projectDetails.root,\n configValues['default'],\n true\n );\n }\n\n if (target.outputs) {\n processTargetOutputs(\n target,\n [{ newName: 'outDir', oldName: 'outputPath' }],\n inferredTargetConfiguration,\n {\n projectName: projectDetails.projectName,\n projectRoot: projectDetails.root,\n }\n );\n }\n\n if (\n target.inputs &&\n target.inputs.every((i) => i === 'production' || i === '^production')\n ) {\n delete target.inputs;\n }\n\n addConfigValuesToViteConfig(tree, viteConfigPath, configValues);\n\n return target;\n}\n\nfunction removePropertiesFromTargetOptions(\n tree: Tree,\n targetOptions: any,\n viteConfigPath: string,\n projectRoot: string,\n configValues: Record<string, unknown>,\n needsAstTransform = false\n) {\n if ('configFile' in targetOptions) {\n targetOptions.config = toProjectRelativePath(\n targetOptions.configFile,\n projectRoot\n );\n delete targetOptions.configFile;\n }\n if (targetOptions.outputPath) {\n targetOptions.outDir = toProjectRelativePath(\n targetOptions.outputPath,\n projectRoot\n );\n\n delete targetOptions.outputPath;\n }\n if ('buildLibsFromSource' in targetOptions) {\n configValues['buildLibsFromSource'] = targetOptions.buildLibsFromSource;\n\n if (needsAstTransform) {\n moveBuildLibsFromSourceToViteConfig(tree, viteConfigPath);\n }\n delete targetOptions.buildLibsFromSource;\n }\n if ('skipTypeCheck' in targetOptions) {\n delete targetOptions.skipTypeCheck;\n }\n if ('generatePackageJson' in targetOptions) {\n delete targetOptions.generatePackageJson;\n }\n if ('includeDevDependenciesInPackageJson' in targetOptions) {\n delete targetOptions.includeDevDependenciesInPackageJson;\n }\n if ('tsConfig' in targetOptions) {\n delete targetOptions.tsConfig;\n }\n}\n\nexport function moveBuildLibsFromSourceToViteConfig(\n tree: Tree,\n configPath: string\n) {\n const PLUGINS_PROPERTY_SELECTOR =\n 'PropertyAssignment:has(Identifier[name=plugins])';\n const PLUGINS_NX_VITE_TS_PATHS_SELECTOR =\n 'PropertyAssignment:has(Identifier[name=plugins]) CallExpression:has(Identifier[name=nxViteTsPaths])';\n const BUILD_LIBS_FROM_SOURCE_SELECTOR =\n 'PropertyAssignment:has(Identifier[name=plugins]) CallExpression:has(Identifier[name=nxViteTsPaths]) ObjectLiteralExpression > PropertyAssignment:has(Identifier[name=buildLibsFromSource])';\n\n const nxViteTsPathsImport =\n extname(configPath) === 'js'\n ? 'const {nxViteTsPaths} = require(\"@nx/vite/plugins/nx-tsconfig-paths.plugin\");'\n : 'import { nxViteTsPaths } from \"@nx/vite/plugins/nx-tsconfig-paths.plugin\";';\n const plugin = `nxViteTsPaths({ buildLibsFromSource: options.buildLibsFromSource }),`;\n\n const viteConfigContents = tree.read(configPath, 'utf-8');\n let newViteConfigContents = viteConfigContents;\n\n const ast = tsquery.ast(viteConfigContents);\n const buildLibsFromSourceNodes = tsquery(\n ast,\n BUILD_LIBS_FROM_SOURCE_SELECTOR,\n { visitAllChildren: true }\n );\n if (buildLibsFromSourceNodes.length > 0) {\n return;\n }\n\n const nxViteTsPathsNodes = tsquery(ast, PLUGINS_NX_VITE_TS_PATHS_SELECTOR, {\n visitAllChildren: true,\n });\n if (nxViteTsPathsNodes.length === 0) {\n const pluginsNodes = tsquery(ast, PLUGINS_PROPERTY_SELECTOR, {\n visitAllChildren: true,\n });\n if (pluginsNodes.length === 0) {\n // Add plugin property\n const configNodes = tsquery(\n ast,\n 'CallExpression:has(Identifier[name=defineConfig]) > ObjectLiteralExpression',\n { visitAllChildren: true }\n );\n if (configNodes.length === 0) {\n return;\n }\n\n newViteConfigContents = `${nxViteTsPathsImport}\\n${viteConfigContents.slice(\n 0,\n configNodes[0].getStart() + 1\n )}plugins: [${plugin}],${viteConfigContents.slice(\n configNodes[0].getStart() + 1\n )}`;\n } else {\n // Add nxViteTsPaths plugin\n\n const pluginsArrayNodes = tsquery(\n pluginsNodes[0],\n 'ArrayLiteralExpression'\n );\n if (pluginsArrayNodes.length === 0) {\n return;\n }\n\n newViteConfigContents = `${nxViteTsPathsImport}\\n${viteConfigContents.slice(\n 0,\n pluginsArrayNodes[0].getStart() + 1\n )}${plugin}${viteConfigContents.slice(\n pluginsArrayNodes[0].getStart() + 1\n )}`;\n }\n } else {\n const pluginOptionsNodes = tsquery(\n nxViteTsPathsNodes[0],\n 'ObjectLiteralExpression'\n );\n if (pluginOptionsNodes.length === 0) {\n // Add the options\n newViteConfigContents = `${viteConfigContents.slice(\n 0,\n nxViteTsPathsNodes[0].getStart()\n )}${plugin}${viteConfigContents.slice(nxViteTsPathsNodes[0].getEnd())}`;\n } else {\n // update the object\n newViteConfigContents = `${viteConfigContents.slice(\n 0,\n pluginOptionsNodes[0].getStart() + 1\n )}buildLibsFromSource: options.buildLibsFromSource, ${viteConfigContents.slice(\n pluginOptionsNodes[0].getStart() + 1\n )}`;\n }\n }\n\n tree.write(configPath, newViteConfigContents);\n}\n"],"names":["buildPostTargetTransformer","moveBuildLibsFromSourceToViteConfig","target","tree","projectDetails","inferredTargetConfiguration","viteConfigPath","getViteConfigPath","root","configValues","default","configurations","configurationName","configuration","configurationConfigFile","configFile","options","buildLibsFromSource","removePropertiesFromTargetOptions","config","toProjectRelativePath","configFilePath","joinPathFragments","addConfigValuesToViteConfig","Object","keys","length","defaultConfiguration","outputs","processTargetOutputs","newName","oldName","projectName","projectRoot","inputs","every","i","targetOptions","needsAstTransform","outputPath","outDir","skipTypeCheck","generatePackageJson","includeDevDependenciesInPackageJson","tsConfig","configPath","PLUGINS_PROPERTY_SELECTOR","PLUGINS_NX_VITE_TS_PATHS_SELECTOR","BUILD_LIBS_FROM_SOURCE_SELECTOR","nxViteTsPathsImport","extname","plugin","viteConfigContents","read","newViteConfigContents","ast","tsquery","buildLibsFromSourceNodes","visitAllChildren","nxViteTsPathsNodes","pluginsNodes","configNodes","slice","getStart","pluginsArrayNodes","pluginOptionsNodes","getEnd","write"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAcgBA,0BAA0B;eAA1BA;;IAsJAC,mCAAmC;eAAnCA;;;wBAhKT;yBACiB;uBACA;uBAKjB;sCAC8B;AAE9B,SAASD,2BACdE,MAA2B,EAC3BC,IAAU,EACVC,cAAqD,EACrDC,2BAAgD;IAEhD,IAAIC,iBAAiBC,IAAAA,wBAAiB,EAACJ,MAAMC,eAAeI,IAAI;IAEhE,MAAMC,eAAwD;QAC5DC,SAAS,CAAC;IACZ;IAEA,IAAIR,OAAOS,cAAc,EAAE;QACzB,IAAK,MAAMC,qBAAqBV,OAAOS,cAAc,CAAE;YACrD,MAAME,gBAAgBX,OAAOS,cAAc,CAACC,kBAAkB;YAC9DH,YAAY,CAACG,kBAAkB,GAAG,CAAC;YACnC,IAAIE,0BAA0BR;YAC9B,IAAIO,cAAcE,UAAU,EAAE;gBAC5B,IAAI,yBAAyBb,OAAOc,OAAO,EAAE;oBAC3CH,cAAcI,mBAAmB,GAC/Bf,OAAOc,OAAO,CAACC,mBAAmB;gBACtC;gBAEAH,0BAA0BD,cAAcE,UAAU;YACpD;YAEAG,kCACEf,MACAU,eACAC,yBACAV,eAAeI,IAAI,EACnBC,YAAY,CAACG,kBAAkB,EAC/BC,cAAcE,UAAU,IAAIF,cAAcE,UAAU,KAAKT;QAE7D;QAEA,IAAK,MAAMM,qBAAqBV,OAAOS,cAAc,CAAE;YACrD,MAAME,gBAAgBX,OAAOS,cAAc,CAACC,kBAAkB;YAC9D,IACEC,cAAcM,MAAM,IACpBN,cAAcM,MAAM,KAClBC,IAAAA,4BAAqB,EAACd,gBAAgBF,eAAeI,IAAI,GAC3D;gBACA,MAAMa,iBAAiBC,IAAAA,yBAAiB,EACtClB,eAAeI,IAAI,EACnBK,cAAcM,MAAM;gBAEtBI,IAAAA,kCAA2B,EAACpB,MAAMkB,gBAAgBZ;YACpD;QACF;QAEA,IAAIe,OAAOC,IAAI,CAACvB,OAAOS,cAAc,EAAEe,MAAM,KAAK,GAAG;YACnD,IAAI,0BAA0BxB,QAAQ;gBACpC,OAAOA,OAAOyB,oBAAoB;YACpC;YACA,OAAOzB,OAAOS,cAAc;QAC9B;QAEA,IACE,0BAA0BT,UAC1B,CAACA,OAAOS,cAAc,CAACT,OAAOyB,oBAAoB,CAAC,EACnD;YACA,OAAOzB,OAAOyB,oBAAoB;QACpC;IACF;IAEA,IAAIzB,OAAOc,OAAO,EAAE;QAClB,IAAId,OAAOc,OAAO,CAACD,UAAU,EAAE;YAC7BT,iBAAiBJ,OAAOc,OAAO,CAACD,UAAU;QAC5C;QAEAG,kCACEf,MACAD,OAAOc,OAAO,EACdV,gBACAF,eAAeI,IAAI,EACnBC,YAAY,CAAC,UAAU,EACvB;IAEJ;IAEA,IAAIP,OAAO0B,OAAO,EAAE;QAClBC,IAAAA,0CAAoB,EAClB3B,QACA;YAAC;gBAAE4B,SAAS;gBAAUC,SAAS;YAAa;SAAE,EAC9C1B,6BACA;YACE2B,aAAa5B,eAAe4B,WAAW;YACvCC,aAAa7B,eAAeI,IAAI;QAClC;IAEJ;IAEA,IACEN,OAAOgC,MAAM,IACbhC,OAAOgC,MAAM,CAACC,KAAK,CAAC,CAACC,IAAMA,MAAM,gBAAgBA,MAAM,gBACvD;QACA,OAAOlC,OAAOgC,MAAM;IACtB;IAEAX,IAAAA,kCAA2B,EAACpB,MAAMG,gBAAgBG;IAElD,OAAOP;AACT;AAEA,SAASgB,kCACPf,IAAU,EACVkC,aAAkB,EAClB/B,cAAsB,EACtB2B,WAAmB,EACnBxB,YAAqC,EACrC6B,oBAAoB,KAAK;IAEzB,IAAI,gBAAgBD,eAAe;QACjCA,cAAclB,MAAM,GAAGC,IAAAA,4BAAqB,EAC1CiB,cAActB,UAAU,EACxBkB;QAEF,OAAOI,cAActB,UAAU;IACjC;IACA,IAAIsB,cAAcE,UAAU,EAAE;QAC5BF,cAAcG,MAAM,GAAGpB,IAAAA,4BAAqB,EAC1CiB,cAAcE,UAAU,EACxBN;QAGF,OAAOI,cAAcE,UAAU;IACjC;IACA,IAAI,yBAAyBF,eAAe;QAC1C5B,YAAY,CAAC,sBAAsB,GAAG4B,cAAcpB,mBAAmB;QAEvE,IAAIqB,mBAAmB;YACrBrC,oCAAoCE,MAAMG;QAC5C;QACA,OAAO+B,cAAcpB,mBAAmB;IAC1C;IACA,IAAI,mBAAmBoB,eAAe;QACpC,OAAOA,cAAcI,aAAa;IACpC;IACA,IAAI,yBAAyBJ,eAAe;QAC1C,OAAOA,cAAcK,mBAAmB;IAC1C;IACA,IAAI,yCAAyCL,eAAe;QAC1D,OAAOA,cAAcM,mCAAmC;IAC1D;IACA,IAAI,cAAcN,eAAe;QAC/B,OAAOA,cAAcO,QAAQ;IAC/B;AACF;AAEO,SAAS3C,oCACdE,IAAU,EACV0C,UAAkB;IAElB,MAAMC,4BACJ;IACF,MAAMC,oCACJ;IACF,MAAMC,kCACJ;IAEF,MAAMC,sBACJC,IAAAA,cAAO,EAACL,gBAAgB,OACpB,kFACA;IACN,MAAMM,SAAS,CAAC,oEAAoE,CAAC;IAErF,MAAMC,qBAAqBjD,KAAKkD,IAAI,CAACR,YAAY;IACjD,IAAIS,wBAAwBF;IAE5B,MAAMG,MAAMC,gBAAO,CAACD,GAAG,CAACH;IACxB,MAAMK,2BAA2BD,IAAAA,gBAAO,EACtCD,KACAP,iCACA;QAAEU,kBAAkB;IAAK;IAE3B,IAAID,yBAAyB/B,MAAM,GAAG,GAAG;QACvC;IACF;IAEA,MAAMiC,qBAAqBH,IAAAA,gBAAO,EAACD,KAAKR,mCAAmC;QACzEW,kBAAkB;IACpB;IACA,IAAIC,mBAAmBjC,MAAM,KAAK,GAAG;QACnC,MAAMkC,eAAeJ,IAAAA,gBAAO,EAACD,KAAKT,2BAA2B;YAC3DY,kBAAkB;QACpB;QACA,IAAIE,aAAalC,MAAM,KAAK,GAAG;YAC7B,sBAAsB;YACtB,MAAMmC,cAAcL,IAAAA,gBAAO,EACzBD,KACA,+EACA;gBAAEG,kBAAkB;YAAK;YAE3B,IAAIG,YAAYnC,MAAM,KAAK,GAAG;gBAC5B;YACF;YAEA4B,wBAAwB,CAAC,EAAEL,oBAAoB,EAAE,EAAEG,mBAAmBU,KAAK,CACzE,GACAD,WAAW,CAAC,EAAE,CAACE,QAAQ,KAAK,GAC5B,UAAU,EAAEZ,OAAO,EAAE,EAAEC,mBAAmBU,KAAK,CAC/CD,WAAW,CAAC,EAAE,CAACE,QAAQ,KAAK,GAC5B,CAAC;QACL,OAAO;YACL,2BAA2B;YAE3B,MAAMC,oBAAoBR,IAAAA,gBAAO,EAC/BI,YAAY,CAAC,EAAE,EACf;YAEF,IAAII,kBAAkBtC,MAAM,KAAK,GAAG;gBAClC;YACF;YAEA4B,wBAAwB,CAAC,EAAEL,oBAAoB,EAAE,EAAEG,mBAAmBU,KAAK,CACzE,GACAE,iBAAiB,CAAC,EAAE,CAACD,QAAQ,KAAK,GAClC,EAAEZ,OAAO,EAAEC,mBAAmBU,KAAK,CACnCE,iBAAiB,CAAC,EAAE,CAACD,QAAQ,KAAK,GAClC,CAAC;QACL;IACF,OAAO;QACL,MAAME,qBAAqBT,IAAAA,gBAAO,EAChCG,kBAAkB,CAAC,EAAE,EACrB;QAEF,IAAIM,mBAAmBvC,MAAM,KAAK,GAAG;YACnC,kBAAkB;YAClB4B,wBAAwB,CAAC,EAAEF,mBAAmBU,KAAK,CACjD,GACAH,kBAAkB,CAAC,EAAE,CAACI,QAAQ,IAC9B,EAAEZ,OAAO,EAAEC,mBAAmBU,KAAK,CAACH,kBAAkB,CAAC,EAAE,CAACO,MAAM,IAAI,CAAC;QACzE,OAAO;YACL,oBAAoB;YACpBZ,wBAAwB,CAAC,EAAEF,mBAAmBU,KAAK,CACjD,GACAG,kBAAkB,CAAC,EAAE,CAACF,QAAQ,KAAK,GACnC,kDAAkD,EAAEX,mBAAmBU,KAAK,CAC5EG,kBAAkB,CAAC,EAAE,CAACF,QAAQ,KAAK,GACnC,CAAC;QACL;IACF;IAEA5D,KAAKgE,KAAK,CAACtB,YAAYS;AACzB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/convert-to-inferred/lib/preview-post-target-transformer.ts"],"sourcesContent":["import { type TargetConfiguration, type Tree } from '@nx/devkit';\nimport { getViteConfigPath } from './utils';\nimport { AggregatedLog } from '@nx/devkit/src/generators/plugin-migrations/aggregate-log-util';\n\nexport function previewPostTargetTransformer(migrationLogs: AggregatedLog) {\n return (\n target: TargetConfiguration,\n tree: Tree,\n projectDetails: { projectName: string; root: string },\n inferredTargetConfiguration: TargetConfiguration\n ) => {\n const viteConfigPath = getViteConfigPath(tree, projectDetails.root);\n\n if (target.options) {\n removePropertiesFromTargetOptions(\n target.options,\n projectDetails.projectName,\n migrationLogs\n );\n }\n\n if (target.configurations) {\n for (const configurationName in target.configurations) {\n const configuration = target.configurations[configurationName];\n removePropertiesFromTargetOptions(\n configuration,\n projectDetails.projectName,\n migrationLogs\n );\n }\n\n if (Object.keys(target.configurations).length === 0) {\n if ('defaultConfiguration' in target) {\n delete target.defaultConfiguration;\n }\n delete target.configurations;\n }\n\n if (\n 'defaultConfiguration' in target &&\n !target.configurations[target.defaultConfiguration]\n ) {\n delete target.defaultConfiguration;\n }\n }\n\n return target;\n };\n}\n\nfunction removePropertiesFromTargetOptions(\n targetOptions: any,\n projectName: string,\n migrationLogs: AggregatedLog\n) {\n if ('buildTarget' in targetOptions) {\n delete targetOptions.buildTarget;\n }\n\n if ('staticFilePath' in targetOptions) {\n delete targetOptions.staticFilePath;\n }\n\n if ('proxyConfig' in targetOptions) {\n migrationLogs.addLog({\n executorName: '@nx/vite:preview-server',\n project: projectName,\n log: `Encountered 'proxyConfig' in project.json. You will need to copy the contents of this file to the 'server.proxy' property in your Vite config file.`,\n });\n delete targetOptions.proxyConfig;\n }\n}\n"],"names":["previewPostTargetTransformer","migrationLogs","target","tree","projectDetails","inferredTargetConfiguration","viteConfigPath","getViteConfigPath","root","options","removePropertiesFromTargetOptions","projectName","configurations","configurationName","configuration","Object","keys","length","defaultConfiguration","targetOptions","buildTarget","staticFilePath","addLog","executorName","project","log","proxyConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAIgBA;;;eAAAA;;;uBAHkB;AAG3B,SAASA,6BAA6BC,aAA4B;IACvE,OAAO,CACLC,QACAC,MACAC,gBACAC;QAEA,MAAMC,iBAAiBC,IAAAA,wBAAiB,EAACJ,MAAMC,eAAeI,IAAI;QAElE,IAAIN,OAAOO,OAAO,EAAE;YAClBC,kCACER,OAAOO,OAAO,EACdL,eAAeO,WAAW,EAC1BV;QAEJ;QAEA,IAAIC,OAAOU,cAAc,EAAE;YACzB,IAAK,MAAMC,qBAAqBX,OAAOU,cAAc,CAAE;gBACrD,MAAME,gBAAgBZ,OAAOU,cAAc,CAACC,kBAAkB;gBAC9DH,kCACEI,eACAV,eAAeO,WAAW,EAC1BV;YAEJ;YAEA,IAAIc,OAAOC,IAAI,CAACd,OAAOU,cAAc,EAAEK,MAAM,KAAK,GAAG;gBACnD,IAAI,0BAA0Bf,QAAQ;oBACpC,OAAOA,OAAOgB,oBAAoB;gBACpC;gBACA,OAAOhB,OAAOU,cAAc;YAC9B;YAEA,IACE,0BAA0BV,UAC1B,CAACA,OAAOU,cAAc,CAACV,OAAOgB,oBAAoB,CAAC,EACnD;gBACA,OAAOhB,OAAOgB,oBAAoB;YACpC;QACF;QAEA,OAAOhB;IACT;AACF;AAEA,SAASQ,kCACPS,aAAkB,EAClBR,WAAmB,EACnBV,aAA4B;IAE5B,IAAI,iBAAiBkB,eAAe;QAClC,OAAOA,cAAcC,WAAW;IAClC;IAEA,IAAI,oBAAoBD,eAAe;QACrC,OAAOA,cAAcE,cAAc;IACrC;IAEA,IAAI,iBAAiBF,eAAe;QAClClB,cAAcqB,MAAM,CAAC;YACnBC,cAAc;YACdC,SAASb;YACTc,KAAK,CAAC,mJAAmJ,CAAC;QAC5J;QACA,OAAON,cAAcO,WAAW;IAClC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/convert-to-inferred/lib/serve-post-target-transformer.ts"],"sourcesContent":["import { type TargetConfiguration, type Tree } from '@nx/devkit';\nimport { getViteConfigPath } from './utils';\nimport { AggregatedLog } from '@nx/devkit/src/generators/plugin-migrations/aggregate-log-util';\n\nexport function servePostTargetTransformer(migrationLogs: AggregatedLog) {\n return (\n target: TargetConfiguration,\n tree: Tree,\n projectDetails: { projectName: string; root: string },\n inferredTargetConfiguration: TargetConfiguration\n ) => {\n const viteConfigPath = getViteConfigPath(tree, projectDetails.root);\n\n if (target.options) {\n removePropertiesFromTargetOptions(\n tree,\n target.options,\n viteConfigPath,\n projectDetails.root,\n projectDetails.projectName,\n migrationLogs,\n true\n );\n }\n\n if (target.configurations) {\n for (const configurationName in target.configurations) {\n const configuration = target.configurations[configurationName];\n removePropertiesFromTargetOptions(\n tree,\n configuration,\n viteConfigPath,\n projectDetails.root,\n projectDetails.projectName,\n migrationLogs\n );\n }\n\n if (Object.keys(target.configurations).length === 0) {\n if ('defaultConfiguration' in target) {\n delete target.defaultConfiguration;\n }\n delete target.configurations;\n }\n\n if (\n 'defaultConfiguration' in target &&\n !target.configurations[target.defaultConfiguration]\n ) {\n delete target.defaultConfiguration;\n }\n }\n\n return target;\n };\n}\n\nfunction removePropertiesFromTargetOptions(\n tree: Tree,\n targetOptions: any,\n viteConfigPath: string,\n projectRoot: string,\n projectName: string,\n migrationLogs: AggregatedLog,\n defaultOptions = false\n) {\n if ('buildTarget' in targetOptions) {\n delete targetOptions.buildTarget;\n }\n\n if ('buildLibsFromSource' in targetOptions) {\n migrationLogs.addLog({\n executorName: '@nx/vite:dev-server',\n project: projectName,\n log: `Encountered 'buildLibsFromSource' in project.json. This property will be added to your Vite config file via the '@nx/vite:build' executor migration.`,\n });\n delete targetOptions.buildLibsFromSource;\n }\n\n if ('hmr' in targetOptions) {\n delete targetOptions.hmr;\n }\n\n if ('proxyConfig' in targetOptions) {\n migrationLogs.addLog({\n executorName: '@nx/vite:dev-server',\n project: projectName,\n log: `Encountered 'proxyConfig' in project.json. You will need to copy the contents of this file to the 'server.proxy' property in your Vite config file.`,\n });\n delete targetOptions.proxyConfig;\n }\n}\n"],"names":["servePostTargetTransformer","migrationLogs","target","tree","projectDetails","inferredTargetConfiguration","viteConfigPath","getViteConfigPath","root","options","removePropertiesFromTargetOptions","projectName","configurations","configurationName","configuration","Object","keys","length","defaultConfiguration","targetOptions","projectRoot","defaultOptions","buildTarget","addLog","executorName","project","log","buildLibsFromSource","hmr","proxyConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAIgBA;;;eAAAA;;;uBAHkB;AAG3B,SAASA,2BAA2BC,aAA4B;IACrE,OAAO,CACLC,QACAC,MACAC,gBACAC;QAEA,MAAMC,iBAAiBC,IAAAA,wBAAiB,EAACJ,MAAMC,eAAeI,IAAI;QAElE,IAAIN,OAAOO,OAAO,EAAE;YAClBC,kCACEP,MACAD,OAAOO,OAAO,EACdH,gBACAF,eAAeI,IAAI,EACnBJ,eAAeO,WAAW,EAC1BV,eACA;QAEJ;QAEA,IAAIC,OAAOU,cAAc,EAAE;YACzB,IAAK,MAAMC,qBAAqBX,OAAOU,cAAc,CAAE;gBACrD,MAAME,gBAAgBZ,OAAOU,cAAc,CAACC,kBAAkB;gBAC9DH,kCACEP,MACAW,eACAR,gBACAF,eAAeI,IAAI,EACnBJ,eAAeO,WAAW,EAC1BV;YAEJ;YAEA,IAAIc,OAAOC,IAAI,CAACd,OAAOU,cAAc,EAAEK,MAAM,KAAK,GAAG;gBACnD,IAAI,0BAA0Bf,QAAQ;oBACpC,OAAOA,OAAOgB,oBAAoB;gBACpC;gBACA,OAAOhB,OAAOU,cAAc;YAC9B;YAEA,IACE,0BAA0BV,UAC1B,CAACA,OAAOU,cAAc,CAACV,OAAOgB,oBAAoB,CAAC,EACnD;gBACA,OAAOhB,OAAOgB,oBAAoB;YACpC;QACF;QAEA,OAAOhB;IACT;AACF;AAEA,SAASQ,kCACPP,IAAU,EACVgB,aAAkB,EAClBb,cAAsB,EACtBc,WAAmB,EACnBT,WAAmB,EACnBV,aAA4B,EAC5BoB,iBAAiB,KAAK;IAEtB,IAAI,iBAAiBF,eAAe;QAClC,OAAOA,cAAcG,WAAW;IAClC;IAEA,IAAI,yBAAyBH,eAAe;QAC1ClB,cAAcsB,MAAM,CAAC;YACnBC,cAAc;YACdC,SAASd;YACTe,KAAK,CAAC,oJAAoJ,CAAC;QAC7J;QACA,OAAOP,cAAcQ,mBAAmB;IAC1C;IAEA,IAAI,SAASR,eAAe;QAC1B,OAAOA,cAAcS,GAAG;IAC1B;IAEA,IAAI,iBAAiBT,eAAe;QAClClB,cAAcsB,MAAM,CAAC;YACnBC,cAAc;YACdC,SAASd;YACTe,KAAK,CAAC,mJAAmJ,CAAC;QAC5J;QACA,OAAOP,cAAcU,WAAW;IAClC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/convert-to-inferred/lib/test-post-target-transformer.ts"],"sourcesContent":["import { type TargetConfiguration, type Tree } from '@nx/devkit';\nimport { toProjectRelativePath } from './utils';\nimport { processTargetOutputs } from '@nx/devkit/src/generators/plugin-migrations/plugin-migration-utils';\n\nexport function testPostTargetTransformer(\n target: TargetConfiguration,\n tree: Tree,\n projectDetails: { projectName: string; root: string },\n inferredTargetConfiguration: TargetConfiguration\n) {\n if (target.options) {\n removePropertiesFromTargetOptions(target.options, projectDetails.root);\n }\n\n if (target.configurations) {\n for (const configurationName in target.configurations) {\n const configuration = target.configurations[configurationName];\n removePropertiesFromTargetOptions(configuration, projectDetails.root);\n }\n\n if (Object.keys(target.configurations).length === 0) {\n if ('defaultConfiguration' in target) {\n delete target.defaultConfiguration;\n }\n delete target.configurations;\n }\n\n if (\n 'defaultConfiguration' in target &&\n !target.configurations[target.defaultConfiguration]\n ) {\n delete target.defaultConfiguration;\n }\n }\n\n if (target.outputs) {\n processTargetOutputs(\n target,\n [{ newName: 'coverage.reportsDirectory', oldName: 'reportsDirectory' }],\n inferredTargetConfiguration,\n {\n projectName: projectDetails.projectName,\n projectRoot: projectDetails.root,\n }\n );\n }\n\n if (\n target.inputs &&\n target.inputs.every((i) => i === 'default' || i === '^production')\n ) {\n delete target.inputs;\n }\n\n return target;\n}\n\nfunction removePropertiesFromTargetOptions(\n targetOptions: any,\n projectRoot: string\n) {\n if ('configFile' in targetOptions) {\n targetOptions.config = toProjectRelativePath(\n targetOptions.configFile,\n projectRoot\n );\n delete targetOptions.configFile;\n }\n\n if ('reportsDirectory' in targetOptions) {\n if (targetOptions.reportsDirectory.startsWith('../')) {\n targetOptions.reportsDirectory = targetOptions.reportsDirectory.replace(\n /(\\.\\.\\/)+/,\n ''\n );\n }\n targetOptions['coverage.reportsDirectory'] = toProjectRelativePath(\n targetOptions.reportsDirectory,\n projectRoot\n );\n delete targetOptions.reportsDirectory;\n }\n\n if ('testFiles' in targetOptions) {\n targetOptions.testNamePattern = `\"/(${targetOptions.testFiles\n .map((f) => f.replace('.', '\\\\.'))\n .join('|')})/\"`;\n delete targetOptions.testFiles;\n }\n}\n"],"names":["testPostTargetTransformer","target","tree","projectDetails","inferredTargetConfiguration","options","removePropertiesFromTargetOptions","root","configurations","configurationName","configuration","Object","keys","length","defaultConfiguration","outputs","processTargetOutputs","newName","oldName","projectName","projectRoot","inputs","every","i","targetOptions","config","toProjectRelativePath","configFile","reportsDirectory","startsWith","replace","testNamePattern","testFiles","map","f","join"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAIgBA;;;eAAAA;;;uBAHsB;sCACD;AAE9B,SAASA,0BACdC,MAA2B,EAC3BC,IAAU,EACVC,cAAqD,EACrDC,2BAAgD;IAEhD,IAAIH,OAAOI,OAAO,EAAE;QAClBC,kCAAkCL,OAAOI,OAAO,EAAEF,eAAeI,IAAI;IACvE;IAEA,IAAIN,OAAOO,cAAc,EAAE;QACzB,IAAK,MAAMC,qBAAqBR,OAAOO,cAAc,CAAE;YACrD,MAAME,gBAAgBT,OAAOO,cAAc,CAACC,kBAAkB;YAC9DH,kCAAkCI,eAAeP,eAAeI,IAAI;QACtE;QAEA,IAAII,OAAOC,IAAI,CAACX,OAAOO,cAAc,EAAEK,MAAM,KAAK,GAAG;YACnD,IAAI,0BAA0BZ,QAAQ;gBACpC,OAAOA,OAAOa,oBAAoB;YACpC;YACA,OAAOb,OAAOO,cAAc;QAC9B;QAEA,IACE,0BAA0BP,UAC1B,CAACA,OAAOO,cAAc,CAACP,OAAOa,oBAAoB,CAAC,EACnD;YACA,OAAOb,OAAOa,oBAAoB;QACpC;IACF;IAEA,IAAIb,OAAOc,OAAO,EAAE;QAClBC,IAAAA,0CAAoB,EAClBf,QACA;YAAC;gBAAEgB,SAAS;gBAA6BC,SAAS;YAAmB;SAAE,EACvEd,6BACA;YACEe,aAAahB,eAAegB,WAAW;YACvCC,aAAajB,eAAeI,IAAI;QAClC;IAEJ;IAEA,IACEN,OAAOoB,MAAM,IACbpB,OAAOoB,MAAM,CAACC,KAAK,CAAC,CAACC,IAAMA,MAAM,aAAaA,MAAM,gBACpD;QACA,OAAOtB,OAAOoB,MAAM;IACtB;IAEA,OAAOpB;AACT;AAEA,SAASK,kCACPkB,aAAkB,EAClBJ,WAAmB;IAEnB,IAAI,gBAAgBI,eAAe;QACjCA,cAAcC,MAAM,GAAGC,IAAAA,4BAAqB,EAC1CF,cAAcG,UAAU,EACxBP;QAEF,OAAOI,cAAcG,UAAU;IACjC;IAEA,IAAI,sBAAsBH,eAAe;QACvC,IAAIA,cAAcI,gBAAgB,CAACC,UAAU,CAAC,QAAQ;YACpDL,cAAcI,gBAAgB,GAAGJ,cAAcI,gBAAgB,CAACE,OAAO,CACrE,aACA;QAEJ;QACAN,aAAa,CAAC,4BAA4B,GAAGE,IAAAA,4BAAqB,EAChEF,cAAcI,gBAAgB,EAC9BR;QAEF,OAAOI,cAAcI,gBAAgB;IACvC;IAEA,IAAI,eAAeJ,eAAe;QAChCA,cAAcO,eAAe,GAAG,CAAC,GAAG,EAAEP,cAAcQ,SAAS,CAC1DC,GAAG,CAAC,CAACC,IAAMA,EAAEJ,OAAO,CAAC,KAAK,QAC1BK,IAAI,CAAC,KAAK,GAAG,CAAC;QACjB,OAAOX,cAAcQ,SAAS;IAChC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/convert-to-inferred/lib/utils.ts"],"sourcesContent":["import { relative, resolve } from 'path/posix';\nimport { workspaceRoot, type Tree, joinPathFragments } from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\n\nexport function toProjectRelativePath(\n path: string,\n projectRoot: string\n): string {\n if (projectRoot === '.') {\n // workspace and project root are the same, we normalize it to ensure it\n // works with Jest since some paths only work when they start with `./`\n return path.startsWith('.') ? path : `./${path}`;\n }\n\n const relativePath = relative(\n resolve(workspaceRoot, projectRoot),\n resolve(workspaceRoot, path)\n );\n\n return relativePath.startsWith('.') ? relativePath : `./${relativePath}`;\n}\n\nexport function getViteConfigPath(tree: Tree, root: string) {\n return [\n joinPathFragments(root, `vite.config.ts`),\n joinPathFragments(root, `vite.config.cts`),\n joinPathFragments(root, `vite.config.mts`),\n joinPathFragments(root, `vite.config.js`),\n joinPathFragments(root, `vite.config.cjs`),\n joinPathFragments(root, `vite.config.mjs`),\n ].find((f) => tree.exists(f));\n}\n\nexport function addConfigValuesToViteConfig(\n tree: Tree,\n configFile: string,\n configValues: Record<string, Record<string, unknown>>\n) {\n const IMPORT_PROPERTY_SELECTOR = 'ImportDeclaration';\n const viteConfigContents = tree.read(configFile, 'utf-8');\n\n const ast = tsquery.ast(viteConfigContents);\n // AST TO GET SECTION TO APPEND TO\n const importNodes = tsquery(ast, IMPORT_PROPERTY_SELECTOR, {\n visitAllChildren: true,\n });\n if (importNodes.length === 0) {\n return;\n }\n const lastImportNode = importNodes[importNodes.length - 1];\n\n const configValuesString = `\n // These options were migrated by @nx/vite:convert-to-inferred from the project.json file.\n const configValues = ${JSON.stringify(configValues)};\n \n // Determine the correct configValue to use based on the configuration\n const nxConfiguration = process.env.NX_TASK_TARGET_CONFIGURATION ?? 'default';\n \n const options = {\n ...configValues.default,\n ...(configValues[nxConfiguration] ?? {})\n }`;\n\n tree.write(\n configFile,\n `${viteConfigContents.slice(0, lastImportNode.getEnd())}\n ${configValuesString}\n ${viteConfigContents.slice(lastImportNode.getEnd())}`\n );\n}\n"],"names":["addConfigValuesToViteConfig","getViteConfigPath","toProjectRelativePath","path","projectRoot","startsWith","relativePath","relative","resolve","workspaceRoot","tree","root","joinPathFragments","find","f","exists","configFile","configValues","IMPORT_PROPERTY_SELECTOR","viteConfigContents","read","ast","tsquery","importNodes","visitAllChildren","length","lastImportNode","configValuesString","JSON","stringify","write","slice","getEnd"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAiCgBA,2BAA2B;eAA3BA;;IAXAC,iBAAiB;eAAjBA;;IAlBAC,qBAAqB;eAArBA;;;uBAJkB;wBAC0B;yBACpC;AAEjB,SAASA,sBACdC,IAAY,EACZC,WAAmB;IAEnB,IAAIA,gBAAgB,KAAK;QACvB,wEAAwE;QACxE,uEAAuE;QACvE,OAAOD,KAAKE,UAAU,CAAC,OAAOF,OAAO,CAAC,EAAE,EAAEA,KAAK,CAAC;IAClD;IAEA,MAAMG,eAAeC,IAAAA,eAAQ,EAC3BC,IAAAA,cAAO,EAACC,qBAAa,EAAEL,cACvBI,IAAAA,cAAO,EAACC,qBAAa,EAAEN;IAGzB,OAAOG,aAAaD,UAAU,CAAC,OAAOC,eAAe,CAAC,EAAE,EAAEA,aAAa,CAAC;AAC1E;AAEO,SAASL,kBAAkBS,IAAU,EAAEC,IAAY;IACxD,OAAO;QACLC,IAAAA,yBAAiB,EAACD,MAAM,CAAC,cAAc,CAAC;QACxCC,IAAAA,yBAAiB,EAACD,MAAM,CAAC,eAAe,CAAC;QACzCC,IAAAA,yBAAiB,EAACD,MAAM,CAAC,eAAe,CAAC;QACzCC,IAAAA,yBAAiB,EAACD,MAAM,CAAC,cAAc,CAAC;QACxCC,IAAAA,yBAAiB,EAACD,MAAM,CAAC,eAAe,CAAC;QACzCC,IAAAA,yBAAiB,EAACD,MAAM,CAAC,eAAe,CAAC;KAC1C,CAACE,IAAI,CAAC,CAACC,IAAMJ,KAAKK,MAAM,CAACD;AAC5B;AAEO,SAASd,4BACdU,IAAU,EACVM,UAAkB,EAClBC,YAAqD;IAErD,MAAMC,2BAA2B;IACjC,MAAMC,qBAAqBT,KAAKU,IAAI,CAACJ,YAAY;IAEjD,MAAMK,MAAMC,gBAAO,CAACD,GAAG,CAACF;IACxB,kCAAkC;IAClC,MAAMI,cAAcD,IAAAA,gBAAO,EAACD,KAAKH,0BAA0B;QACzDM,kBAAkB;IACpB;IACA,IAAID,YAAYE,MAAM,KAAK,GAAG;QAC5B;IACF;IACA,MAAMC,iBAAiBH,WAAW,CAACA,YAAYE,MAAM,GAAG,EAAE;IAE1D,MAAME,qBAAqB,CAAC;;uBAEP,EAAEC,KAAKC,SAAS,CAACZ,cAAc;;;;;;;;GAQnD,CAAC;IAEFP,KAAKoB,KAAK,CACRd,YACA,CAAC,EAAEG,mBAAmBY,KAAK,CAAC,GAAGL,eAAeM,MAAM,IAAI;EAC1D,EAAEL,mBAAmB;EACrB,EAAER,mBAAmBY,KAAK,CAACL,eAAeM,MAAM,IAAI,CAAC;AAEvD"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n GeneratorCallback,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { addPlugin } from '@nx/devkit/src/utils/add-plugin';\n\nimport { setupPathsPlugin } from '../setup-paths-plugin/setup-paths-plugin';\nimport { createNodesV2 } from '../../plugins/plugin';\nimport { InitGeneratorSchema } from './schema';\nimport { checkDependenciesInstalled, moveToDevDependencies } from './lib/utils';\nimport { ignoreViteTempFiles } from '../../utils/ignore-vite-temp-files';\n\nexport function updateNxJsonSettings(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json',\n '!{projectRoot}/src/test-setup.[jt]s'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults['@nx/vite:test'] ??= {};\n nxJson.targetDefaults['@nx/vite:test'].cache ??= true;\n nxJson.targetDefaults['@nx/vite:test'].inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n }\n\n updateNxJson(tree, nxJson);\n}\n\nexport function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n return initGeneratorInternal(tree, { addPlugin: false, ...schema });\n}\n\nexport async function initGeneratorInternal(\n tree: Tree,\n schema: InitGeneratorSchema\n) {\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n if (schema.addPlugin) {\n await addPlugin(\n tree,\n await createProjectGraphAsync(),\n '@nx/vite/plugin',\n createNodesV2,\n {\n buildTargetName: ['build', 'vite:build', 'vite-build'],\n testTargetName: ['test', 'vite:test', 'vite-test'],\n serveTargetName: ['serve', 'vite:serve', 'vite-serve'],\n devTargetName: ['dev', 'vite:dev', 'vite-dev'],\n previewTargetName: ['preview', 'vite:preview', 'vite-preview'],\n serveStaticTargetName: [\n 'serve-static',\n 'vite:serve-static',\n 'vite-serve-static',\n ],\n typecheckTargetName: ['typecheck', 'vite:typecheck', 'vite-typecheck'],\n buildDepsTargetName: [\n 'build-deps',\n 'vite:build-deps',\n 'vite-build-deps',\n ],\n watchDepsTargetName: [\n 'watch-deps',\n 'vite:watch-deps',\n 'vite-watch-deps',\n ],\n },\n schema.updatePackageScripts\n );\n }\n\n updateNxJsonSettings(tree);\n await ignoreViteTempFiles(tree, schema.projectRoot);\n\n if (schema.setupPathsPlugin) {\n await setupPathsPlugin(tree, { skipFormat: true });\n }\n\n const tasks: GeneratorCallback[] = [];\n if (!schema.skipPackageJson) {\n tasks.push(moveToDevDependencies(tree));\n tasks.push(await checkDependenciesInstalled(tree, schema));\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\n"],"names":["initGenerator","initGeneratorInternal","updateNxJsonSettings","tree","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","hasPlugin","plugins","some","p","plugin","targetDefaults","cache","inputs","updateNxJson","schema","addPlugin","addPluginDefault","process","env","NX_ADD_PLUGINS","useInferencePlugins","createProjectGraphAsync","createNodesV2","buildTargetName","testTargetName","serveTargetName","devTargetName","previewTargetName","serveStaticTargetName","typecheckTargetName","buildDepsTargetName","watchDepsTargetName","updatePackageScripts","ignoreViteTempFiles","projectRoot","setupPathsPlugin","skipFormat","tasks","skipPackageJson","moveToDevDependencies","checkDependenciesInstalled","formatFiles","runTasksInSerial"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/init/lib/utils.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n installPackagesTask,\n readNxJson,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\nimport {\n jitiVersion,\n nxVersion,\n viteV5Version,\n viteVersion,\n} from '../../../utils/versions';\nimport { InitGeneratorSchema } from '../schema';\nimport { getVitestDependenciesVersionsToInstall } from '../../../utils/version-utils';\n\nexport async function checkDependenciesInstalled(\n host: Tree,\n schema: InitGeneratorSchema\n) {\n const { vitest } = await getVitestDependenciesVersionsToInstall(host);\n return addDependenciesToPackageJson(\n host,\n {},\n {\n '@nx/vite': nxVersion,\n '@nx/web': nxVersion,\n vite: schema.useViteV5 ? viteV5Version : viteVersion,\n vitest: vitest,\n '@vitest/ui': vitest,\n jiti: jitiVersion,\n },\n undefined,\n schema.keepExistingVersions\n );\n}\n\nexport function moveToDevDependencies(tree: Tree) {\n let wasUpdated = false;\n updateJson(tree, 'package.json', (packageJson) => {\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n if (packageJson.dependencies['@nx/vite']) {\n packageJson.devDependencies['@nx/vite'] =\n packageJson.dependencies['@nx/vite'];\n delete packageJson.dependencies['@nx/vite'];\n wasUpdated = true;\n }\n return packageJson;\n });\n\n return wasUpdated ? () => installPackagesTask(tree) : () => {};\n}\n\nexport function createVitestConfig(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n updateNxJson(tree, nxJson);\n}\n"],"names":["checkDependenciesInstalled","createVitestConfig","moveToDevDependencies","host","schema","vitest","getVitestDependenciesVersionsToInstall","addDependenciesToPackageJson","nxVersion","vite","useViteV5","viteV5Version","viteVersion","jiti","jitiVersion","undefined","keepExistingVersions","tree","wasUpdated","updateJson","packageJson","dependencies","devDependencies","installPackagesTask","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","updateNxJson"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAiBsBA,0BAA0B;eAA1BA;;IAuCNC,kBAAkB;eAAlBA;;IAlBAC,qBAAqB;eAArBA;;;wBA/BT;0BAMA;8BAEgD;AAEhD,eAAeF,2BACpBG,IAAU,EACVC,MAA2B;IAE3B,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAMC,IAAAA,oDAAsC,EAACH;IAChE,OAAOI,IAAAA,oCAA4B,EACjCJ,MACA,CAAC,GACD;QACE,YAAYK,mBAAS;QACrB,WAAWA,mBAAS;QACpBC,MAAML,OAAOM,SAAS,GAAGC,uBAAa,GAAGC,qBAAW;QACpDP,QAAQA;QACR,cAAcA;QACdQ,MAAMC,qBAAW;IACnB,GACAC,WACAX,OAAOY,oBAAoB;AAE/B;AAEO,SAASd,sBAAsBe,IAAU;IAC9C,IAAIC,aAAa;IACjBC,IAAAA,kBAAU,EAACF,MAAM,gBAAgB,CAACG;QAChCA,YAAYC,YAAY,GAAGD,YAAYC,YAAY,IAAI,CAAC;QACxDD,YAAYE,eAAe,GAAGF,YAAYE,eAAe,IAAI,CAAC;QAE9D,IAAIF,YAAYC,YAAY,CAAC,WAAW,EAAE;YACxCD,YAAYE,eAAe,CAAC,WAAW,GACrCF,YAAYC,YAAY,CAAC,WAAW;YACtC,OAAOD,YAAYC,YAAY,CAAC,WAAW;YAC3CH,aAAa;QACf;QACA,OAAOE;IACT;IAEA,OAAOF,aAAa,IAAMK,IAAAA,2BAAmB,EAACN,QAAQ,KAAO;AAC/D;AAEO,SAAShB,mBAAmBgB,IAAU;QAGjBO;IAF1B,MAAMA,SAASC,IAAAA,kBAAU,EAACR;IAE1B,MAAMS,qBAAoBF,sBAAAA,OAAOG,WAAW,qBAAlBH,oBAAoBI,UAAU;IACxD,IAAIF,mBAAmB;QACrBA,kBAAkBG,IAAI,CACpB,yDACA;QAGFL,OAAOG,WAAW,CAACC,UAAU,GAAGE,MAAMC,IAAI,CAAC,IAAIC,IAAIN;IACrD;IAEAO,IAAAA,oBAAY,EAAChB,MAAMO;AACrB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=schema.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../packages/vite/src/generators/setup-paths-plugin/lib/utils.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=schema.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/setup-paths-plugin/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/setup-paths-plugin/setup-paths-plugin.ts"],"sourcesContent":["import {\n applyChangesToString,\n ChangeType,\n formatFiles,\n globAsync,\n Tree,\n} from '@nx/devkit';\nimport type { ArrayLiteralExpression, Node } from 'typescript';\n\nexport async function setupPathsPlugin(\n tree: Tree,\n schema: { skipFormat?: boolean }\n) {\n const files = await globAsync(tree, [\n '**/vite.config.{js,ts,mjs,mts,cjs,cts}',\n ]);\n\n for (const file of files) {\n ensureImportExists(tree, file);\n ensurePluginAdded(tree, file);\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n}\n\nfunction ensureImportExists(tree: Tree, file: string) {\n const { tsquery } = require('@phenomnomnominal/tsquery');\n let content = tree.read(file, 'utf-8');\n const ast = tsquery.ast(content);\n const allImports = tsquery.query(ast, 'ImportDeclaration');\n if (content.includes('@nx/vite/plugins/nx-tsconfig-paths.plugin')) {\n return;\n }\n if (allImports.length) {\n const lastImport = allImports[allImports.length - 1];\n tree.write(\n file,\n applyChangesToString(content, [\n {\n type: ChangeType.Insert,\n index: lastImport.end + 1,\n text: `import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\\n`,\n },\n ])\n );\n } else {\n if (file.endsWith('.cts') || file.endsWith('.cjs')) {\n tree.write(\n file,\n applyChangesToString(content, [\n {\n type: ChangeType.Insert,\n index: 0,\n text: `const { nxViteTsPaths } = require('@nx/vite/plugins/nx-tsconfig-paths.plugin');\\n`,\n },\n ])\n );\n } else {\n tree.write(\n file,\n applyChangesToString(content, [\n {\n type: ChangeType.Insert,\n index: 0,\n text: `import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\\n`,\n },\n ])\n );\n }\n }\n}\n\nfunction ensurePluginAdded(tree, file) {\n const { tsquery } = require('@phenomnomnominal/tsquery');\n const content = tree.read(file, 'utf-8');\n const ast = tsquery.ast(content);\n const foundDefineConfig = tsquery.query(\n ast,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n );\n if (!foundDefineConfig.length) return content;\n\n // Do not update defineConfig if it has an arrow function since it can be tricky and error-prone.\n const defineUsingArrowFunction = tsquery.query(\n foundDefineConfig[0],\n 'ArrowFunction'\n );\n if (defineUsingArrowFunction.length) return content;\n\n const propertyAssignments = tsquery.query(\n foundDefineConfig[0],\n 'PropertyAssignment'\n );\n\n if (propertyAssignments.length) {\n const pluginsNode = tsquery.query(\n foundDefineConfig[0],\n 'PropertyAssignment:has(Identifier[name=\"plugins\"])'\n );\n\n if (pluginsNode.length) {\n const updated = tsquery.replace(\n content,\n 'PropertyAssignment:has(Identifier[name=\"plugins\"])',\n (node: Node) => {\n const found = tsquery.query(\n node,\n 'ArrayLiteralExpression'\n ) as ArrayLiteralExpression[];\n let updatedPluginsString = '';\n\n const existingPluginNodes = found?.[0].elements ?? [];\n\n for (const plugin of existingPluginNodes) {\n updatedPluginsString += `${plugin.getText()},`;\n }\n\n if (\n !existingPluginNodes?.some((node: Node) =>\n node.getText().includes('nxViteTsPaths')\n )\n ) {\n updatedPluginsString += ` nxViteTsPaths(),`;\n }\n\n return `plugins: [${updatedPluginsString}]`;\n }\n );\n tree.write(file, updated);\n } else {\n tree.write(\n file,\n applyChangesToString(content, [\n {\n type: ChangeType.Insert,\n index: propertyAssignments[0].getStart(),\n text: `plugins: [nxViteTsPaths()],\n `,\n },\n ])\n );\n }\n } else {\n tree.write(\n file,\n applyChangesToString(content, [\n {\n type: ChangeType.Insert,\n index: foundDefineConfig[0].getStart() + 14, // length of \"defineConfig(\" + 1\n text: `plugins: [nxViteTsPaths()],`,\n },\n ])\n );\n }\n}\n\nexport default setupPathsPlugin;\n"],"names":["setupPathsPlugin","tree","schema","files","globAsync","file","ensureImportExists","ensurePluginAdded","skipFormat","formatFiles","tsquery","require","content","read","ast","allImports","query","includes","length","lastImport","write","applyChangesToString","type","ChangeType","Insert","index","end","text","endsWith","foundDefineConfig","defineUsingArrowFunction","propertyAssignments","pluginsNode","updated","replace","node","found","updatedPluginsString","existingPluginNodes","elements","plugin","getText","some","getStart"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=schema.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/vitest-generator.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n formatFiles,\n generateFiles,\n GeneratorCallback,\n joinPathFragments,\n logger,\n offsetFromRoot,\n ProjectType,\n readJson,\n readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\nimport { initGenerator as jsInitGenerator } from '@nx/js';\nimport {\n getProjectType,\n isUsingTsSolutionSetup,\n} from '@nx/js/src/utils/typescript/ts-solution-setup';\nimport { typesNodeVersion } from '@nx/js/src/utils/versions';\nimport { join } from 'path';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n} from '../../utils/generator-utils';\nimport initGenerator from '../init/init';\nimport { VitestGeneratorSchema } from './schema';\nimport { detectUiFramework } from '../../utils/detect-ui-framework';\nimport { getVitestDependenciesVersionsToInstall } from '../../utils/version-utils';\nimport { clean, coerce, major } from 'semver';\n\n/**\n * @param hasPlugin some frameworks (e.g. Nuxt) provide their own plugin. Their generators handle the plugin detection.\n */\nexport function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n return vitestGeneratorInternal(\n tree,\n { addPlugin: false, ...schema },\n hasPlugin\n );\n}\n\nexport async function vitestGeneratorInternal(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n // Setting default to jsdom since it is the most common use case (React, Web).\n // The @nx/js:lib generator specifically sets this to node to be more generic.\n schema.testEnvironment ??= 'jsdom';\n\n const tasks: GeneratorCallback[] = [];\n\n const { root, projectType: _projectType } = readProjectConfiguration(\n tree,\n schema.project\n );\n const projectType = schema.projectType ?? _projectType;\n const uiFramework =\n schema.uiFramework ?? (await detectUiFramework(schema.project));\n const isRootProject = root === '.';\n\n tasks.push(await jsInitGenerator(tree, { ...schema, skipFormat: true }));\n\n const pkgJson = readJson(tree, 'package.json');\n const useVite5 =\n major(coerce(pkgJson.devDependencies['vite']) ?? '6.0.0') === 5;\n const initTask = await initGenerator(tree, {\n projectRoot: root,\n skipFormat: true,\n addPlugin: schema.addPlugin,\n useViteV5: useVite5,\n });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, { ...schema, uiFramework }));\n\n addOrChangeTestTarget(tree, schema, hasPlugin);\n\n if (!schema.skipViteConfig) {\n if (uiFramework === 'angular') {\n const relativeTestSetupPath = joinPathFragments('src', 'test-setup.ts');\n\n const setupFile = joinPathFragments(root, relativeTestSetupPath);\n if (!tree.exists(setupFile)) {\n if (isAngularV20(tree)) {\n tree.write(\n setupFile,\n `import '@angular/compiler';\nimport '@analogjs/vitest-angular/setup-zone';\n\nimport {\n BrowserTestingModule,\n platformBrowserTesting,\n} from '@angular/platform-browser/testing';\nimport { getTestBed } from '@angular/core/testing';\n\ngetTestBed().initTestEnvironment(\n BrowserTestingModule,\n platformBrowserTesting()\n);\n`\n );\n } else {\n tree.write(\n setupFile,\n `import '@analogjs/vitest-angular/setup-zone';\n\nimport {\n BrowserDynamicTestingModule,\n platformBrowserDynamicTesting,\n} from '@angular/platform-browser-dynamic/testing';\nimport { getTestBed } from '@angular/core/testing';\n\ngetTestBed().initTestEnvironment(\n BrowserDynamicTestingModule,\n platformBrowserDynamicTesting()\n);\n`\n );\n }\n }\n\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: false,\n includeVitest: true,\n inSourceTests: false,\n imports: [`import angular from '@analogjs/vite-plugin-angular'`],\n plugins: ['angular()'],\n setupFile: relativeTestSetupPath,\n useEsmExtension: true,\n },\n true\n );\n } else if (uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: getProjectType(tree, root, projectType) === 'library',\n includeVitest: true,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [\n schema.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc'`\n : `import react from '@vitejs/plugin-react'`,\n ],\n plugins: ['react()'],\n coverageProvider: schema.coverageProvider,\n },\n true\n );\n } else {\n createOrEditViteConfig(\n tree,\n {\n ...schema,\n includeVitest: true,\n includeLib: getProjectType(tree, root, projectType) === 'library',\n },\n true\n );\n }\n }\n\n const isTsSolutionSetup = isUsingTsSolutionSetup(tree);\n\n createFiles(tree, schema, root, isTsSolutionSetup);\n updateTsConfig(tree, schema, root, projectType);\n\n if (isTsSolutionSetup) {\n // in the TS solution setup, the test target depends on the build outputs\n // so we need to setup the task pipeline accordingly\n const nxJson = readNxJson(tree);\n const testTarget = schema.testTarget ?? 'test';\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults[testTarget] ??= {};\n nxJson.targetDefaults[testTarget].dependsOn ??= [];\n nxJson.targetDefaults[testTarget].dependsOn = Array.from(\n new Set([...nxJson.targetDefaults[testTarget].dependsOn, '^build'])\n );\n updateNxJson(tree, nxJson);\n }\n\n const devDependencies = await getCoverageProviderDependency(\n tree,\n schema.coverageProvider\n );\n devDependencies['@types/node'] = typesNodeVersion;\n\n const installDependenciesTask = addDependenciesToPackageJson(\n tree,\n {},\n devDependencies\n );\n tasks.push(installDependenciesTask);\n\n // Setup workspace config file (https://vitest.dev/guide/workspace.html)\n if (\n !isRootProject &&\n !tree.exists(`vitest.workspace.ts`) &&\n !tree.exists(`vitest.workspace.js`) &&\n !tree.exists(`vitest.workspace.json`) &&\n !tree.exists(`vitest.projects.ts`) &&\n !tree.exists(`vitest.projects.js`) &&\n !tree.exists(`vitest.projects.json`)\n ) {\n tree.write(\n 'vitest.workspace.ts',\n `export default ['**/vite.config.{mjs,js,ts,mts}', '**/vitest.config.{mjs,js,ts,mts}'];`\n );\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nfunction updateTsConfig(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string,\n projectType: ProjectType\n) {\n const setupFile = tryFindSetupFile(tree, projectRoot);\n\n if (tree.exists(joinPathFragments(projectRoot, 'tsconfig.spec.json'))) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.spec.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n\n if (setupFile) {\n json.files = [...(json.files ?? []), setupFile];\n }\n\n return json;\n }\n );\n\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (\n json.references &&\n !json.references.some((r) => r.path === './tsconfig.spec.json')\n ) {\n json.references.push({\n path: './tsconfig.spec.json',\n });\n }\n return json;\n }\n );\n } else {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n }\n\n let runtimeTsconfigPath = joinPathFragments(\n projectRoot,\n getProjectType(tree, projectRoot, projectType) === 'application'\n ? 'tsconfig.app.json'\n : 'tsconfig.lib.json'\n );\n if (options.runtimeTsconfigFileName) {\n runtimeTsconfigPath = joinPathFragments(\n projectRoot,\n options.runtimeTsconfigFileName\n );\n if (!tree.exists(runtimeTsconfigPath)) {\n throw new Error(\n `Cannot find the specified runtimeTsConfigFileName (\"${options.runtimeTsconfigFileName}\") at the project root \"${projectRoot}\".`\n );\n }\n }\n\n if (tree.exists(runtimeTsconfigPath)) {\n updateJson(tree, runtimeTsconfigPath, (json) => {\n if (options.inSourceTests) {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n } else {\n const uniqueExclude = new Set([\n ...(json.exclude || []),\n 'vite.config.ts',\n 'vite.config.mts',\n 'vitest.config.ts',\n 'vitest.config.mts',\n 'src/**/*.test.ts',\n 'src/**/*.spec.ts',\n 'src/**/*.test.tsx',\n 'src/**/*.spec.tsx',\n 'src/**/*.test.js',\n 'src/**/*.spec.js',\n 'src/**/*.test.jsx',\n 'src/**/*.spec.jsx',\n ]);\n json.exclude = [...uniqueExclude];\n }\n\n if (setupFile) {\n json.exclude = [...(json.exclude ?? []), setupFile];\n }\n\n return json;\n });\n } else {\n logger.warn(\n `Couldn't find a runtime tsconfig file at ${runtimeTsconfigPath} to exclude the test files from. ` +\n `If you're using a different filename for your runtime tsconfig, please provide it with the '--runtimeTsconfigFileName' flag.`\n );\n }\n}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string,\n isTsSolutionSetup: boolean\n) {\n const rootOffset = offsetFromRoot(projectRoot);\n\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n extendedConfig: isTsSolutionSetup\n ? `${rootOffset}tsconfig.base.json`\n : './tsconfig.json',\n outDir: isTsSolutionSetup\n ? `./out-tsc/vitest`\n : `${rootOffset}dist/out-tsc`,\n });\n}\n\nasync function getCoverageProviderDependency(\n tree: Tree,\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n): Promise<Record<string, string>> {\n const { vitestCoverageV8, vitestCoverageIstanbul } =\n await getVitestDependenciesVersionsToInstall(tree);\n switch (coverageProvider) {\n case 'v8':\n return {\n '@vitest/coverage-v8': vitestCoverageV8,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbul,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8,\n };\n }\n}\n\nfunction tryFindSetupFile(tree: Tree, projectRoot: string) {\n const setupFile = joinPathFragments('src', 'test-setup.ts');\n if (tree.exists(joinPathFragments(projectRoot, setupFile))) {\n return setupFile;\n }\n}\n\nfunction isAngularV20(tree: Tree) {\n const { dependencies, devDependencies } = readJson(tree, 'package.json');\n const angularVersion =\n dependencies?.['@angular/core'] ?? devDependencies?.['@angular/core'];\n\n if (!angularVersion) {\n // assume the latest version will be installed, which will be 20 or later\n return true;\n }\n\n const cleanedAngularVersion =\n clean(angularVersion) ?? coerce(angularVersion).version;\n\n return major(cleanedAngularVersion) >= 20;\n}\n\nexport default vitestGenerator;\n"],"names":["vitestGenerator","vitestGeneratorInternal","tree","schema","hasPlugin","addPlugin","testEnvironment","tasks","root","projectType","_projectType","readProjectConfiguration","project","uiFramework","detectUiFramework","isRootProject","push","jsInitGenerator","skipFormat","pkgJson","readJson","coerce","useVite5","major","devDependencies","initTask","initGenerator","projectRoot","useViteV5","ensureDependencies","addOrChangeTestTarget","skipViteConfig","relativeTestSetupPath","joinPathFragments","setupFile","exists","isAngularV20","write","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","imports","plugins","useEsmExtension","getProjectType","rollupOptionsExternal","compiler","coverageProvider","isTsSolutionSetup","isUsingTsSolutionSetup","createFiles","updateTsConfig","nxJson","testTarget","readNxJson","targetDefaults","dependsOn","Array","from","Set","updateNxJson","getCoverageProviderDependency","typesNodeVersion","installDependenciesTask","addDependenciesToPackageJson","formatFiles","runTasksInSerial","options","tryFindSetupFile","updateJson","json","compilerOptions","types","includes","files","references","some","r","path","runtimeTsconfigPath","runtimeTsconfigFileName","Error","uniqueExclude","exclude","logger","warn","rootOffset","offsetFromRoot","generateFiles","join","__dirname","tmpl","extendedConfig","outDir","vitestCoverageV8","vitestCoverageIstanbul","getVitestDependenciesVersionsToInstall","dependencies","angularVersion","clean","cleanedAngularVersion","version"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-19-6-0/add-depends-on-for-preview.ts"],"sourcesContent":["import {\n type Tree,\n formatFiles,\n readProjectConfiguration,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { VitePreviewServerExecutorOptions } from '../../executors/preview-server/schema';\n\nexport default async function (tree: Tree) {\n forEachExecutorOptions<VitePreviewServerExecutorOptions>(\n tree,\n '@nx/vite:preview-server',\n (_, projectName, targetName) => {\n const project = readProjectConfiguration(tree, projectName);\n project.targets[targetName].dependsOn ??= [];\n if (project.targets[targetName].dependsOn.includes('build')) {\n return;\n }\n project.targets[targetName].dependsOn.push('build');\n updateProjectConfiguration(tree, projectName, project);\n }\n );\n\n await formatFiles(tree);\n}\n"],"names":["tree","forEachExecutorOptions","_","projectName","targetName","project","readProjectConfiguration","targets","dependsOn","includes","push","updateProjectConfiguration","formatFiles"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";+BASA;;;eAAA;;;wBAJO;sCACgC;AAGxB,eAAf,SAA+BA,IAAU;IACvCC,IAAAA,4CAAsB,EACpBD,MACA,2BACA,CAACE,GAAGC,aAAaC;YAEfC;QADA,MAAMA,UAAUC,IAAAA,gCAAwB,EAACN,MAAMG;;QAC/CE,eAAAA,8BAAAA,QAAQE,OAAO,CAACH,WAAW,EAACI,kCAA5BH,4BAA4BG,YAAc,EAAE;QAC5C,IAAIH,QAAQE,OAAO,CAACH,WAAW,CAACI,SAAS,CAACC,QAAQ,CAAC,UAAU;YAC3D;QACF;QACAJ,QAAQE,OAAO,CAACH,WAAW,CAACI,SAAS,CAACE,IAAI,CAAC;QAC3CC,IAAAA,kCAA0B,EAACX,MAAMG,aAAaE;IAChD;IAGF,MAAMO,IAAAA,mBAAW,EAACZ;AACpB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.ts"],"sourcesContent":["import { Tree } from '@nx/devkit';\nimport { addViteTempFilesToGitIgnore as _addViteTempFilesToGitIgnore } from '../../utils/ignore-vite-temp-files';\n\nexport default function addViteTempFilesToGitIgnore(tree: Tree) {\n // need to check if .gitignore exists before adding to it\n // then need to check if it contains the following pattern\n // **/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*\n // if it does, remove just this pattern\n if (tree.exists('.gitignore')) {\n const gitIgnoreContents = tree.read('.gitignore', 'utf-8');\n if (\n gitIgnoreContents.includes(\n '**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*'\n )\n ) {\n tree.write(\n '.gitignore',\n gitIgnoreContents.replace(\n '**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*',\n ''\n )\n );\n }\n }\n _addViteTempFilesToGitIgnore(tree);\n}\n"],"names":["addViteTempFilesToGitIgnore","tree","exists","gitIgnoreContents","read","includes","write","replace","_addViteTempFilesToGitIgnore"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";+BAGA;;;eAAwBA;;;qCAFoD;AAE7D,SAASA,4BAA4BC,IAAU;IAC5D,yDAAyD;IACzD,0DAA0D;IAC1D,oDAAoD;IACpD,uCAAuC;IACvC,IAAIA,KAAKC,MAAM,CAAC,eAAe;QAC7B,MAAMC,oBAAoBF,KAAKG,IAAI,CAAC,cAAc;QAClD,IACED,kBAAkBE,QAAQ,CACxB,sDAEF;YACAJ,KAAKK,KAAK,CACR,cACAH,kBAAkBI,OAAO,CACvB,qDACA;QAGN;IACF;IACAC,IAAAA,gDAA4B,EAACP;AAC/B"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.ts"],"sourcesContent":["import { Tree } from '@nx/devkit';\nimport { addViteTempFilesToGitIgnore as _addViteTempFilesToGitIgnore } from '../../utils/ignore-vite-temp-files';\n\nexport default function addViteTempFilesToGitIgnore(tree: Tree) {\n // need to check if .gitignore exists before adding to it\n // then need to check if it contains the following pattern\n // **/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*\n // if it does, remove just this pattern\n if (tree.exists('.gitignore')) {\n const gitIgnoreContents = tree.read('.gitignore', 'utf-8');\n if (\n gitIgnoreContents.includes(\n '**/vitest.config.{js,ts,mjs,mts,cjs,cts}.timestamp*'\n )\n ) {\n tree.write(\n '.gitignore',\n gitIgnoreContents.replace(\n '**/vitest.config.{js,ts,mjs,mts,cjs,cts}.timestamp*',\n ''\n )\n );\n }\n }\n _addViteTempFilesToGitIgnore(tree);\n}\n"],"names":["addViteTempFilesToGitIgnore","tree","exists","gitIgnoreContents","read","includes","write","replace","_addViteTempFilesToGitIgnore"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";+BAGA;;;eAAwBA;;;qCAFoD;AAE7D,SAASA,4BAA4BC,IAAU;IAC5D,yDAAyD;IACzD,0DAA0D;IAC1D,oDAAoD;IACpD,uCAAuC;IACvC,IAAIA,KAAKC,MAAM,CAAC,eAAe;QAC7B,MAAMC,oBAAoBF,KAAKG,IAAI,CAAC,cAAc;QAClD,IACED,kBAAkBE,QAAQ,CACxB,wDAEF;YACAJ,KAAKK,KAAK,CACR,cACAH,kBAAkBI,OAAO,CACvB,uDACA;QAGN;IACF;IACAC,IAAAA,gDAA4B,EAACP;AAC/B"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.ts"],"sourcesContent":["import {\n ensurePackage,\n formatFiles,\n getProjects,\n globAsync,\n type Tree,\n} from '@nx/devkit';\nimport { isEslintInstalled } from '../../utils/ignore-vite-temp-files';\nimport { nxVersion } from '../../utils/versions';\n\nexport default async function (tree: Tree) {\n if (!isEslintInstalled(tree)) {\n return;\n }\n\n ensurePackage('@nx/eslint', nxVersion);\n const { addIgnoresToLintConfig, isEslintConfigSupported } = await import(\n '@nx/eslint/src/generators/utils/eslint-file'\n );\n if (!isEslintConfigSupported(tree)) {\n return;\n }\n\n const { useFlatConfig } = await import('@nx/eslint/src/utils/flat-config');\n const isUsingFlatConfig = useFlatConfig(tree);\n\n if (isUsingFlatConfig) {\n // using flat config, so we update the root eslint config\n addIgnoresToLintConfig(tree, '', [\n '**/vite.config.*.timestamp*',\n '**/vitest.config.*.timestamp*',\n ]);\n } else {\n // not using flat config, so we update each project's eslint config\n const projects = getProjects(tree);\n\n for (const [, { root: projectRoot }] of projects) {\n const viteConfigFiles = await globAsync(tree, [\n `${projectRoot}/**/{vite,vitest}.config.{js,ts,mjs,mts,cjs,cts}`,\n ]);\n if (!viteConfigFiles.length) {\n // the project doesn't use vite or vitest, so we skip it\n continue;\n }\n\n addIgnoresToLintConfig(tree, projectRoot, [\n '**/vite.config.*.timestamp*',\n '**/vitest.config.*.timestamp*',\n ]);\n }\n }\n\n await formatFiles(tree);\n}\n"],"names":["tree","isEslintInstalled","ensurePackage","nxVersion","addIgnoresToLintConfig","isEslintConfigSupported","useFlatConfig","isUsingFlatConfig","projects","getProjects","root","projectRoot","viteConfigFiles","globAsync","length","formatFiles"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAUA;;;eAAA;;;wBAJO;qCAC2B;0BACR;AAEX,eAAf,SAA+BA,IAAU;IACvC,IAAI,CAACC,IAAAA,sCAAiB,EAACD,OAAO;QAC5B;IACF;IAEAE,IAAAA,qBAAa,EAAC,cAAcC,mBAAS;IACrC,MAAM,EAAEC,sBAAsB,EAAEC,uBAAuB,EAAE,GAAG,MAAM,2BAAA,QAChE;IAEF,IAAI,CAACA,wBAAwBL,OAAO;QAClC;IACF;IAEA,MAAM,EAAEM,aAAa,EAAE,GAAG,MAAM,2BAAA,QAAO;IACvC,MAAMC,oBAAoBD,cAAcN;IAExC,IAAIO,mBAAmB;QACrB,yDAAyD;QACzDH,uBAAuBJ,MAAM,IAAI;YAC/B;YACA;SACD;IACH,OAAO;QACL,mEAAmE;QACnE,MAAMQ,WAAWC,IAAAA,mBAAW,EAACT;QAE7B,KAAK,MAAM,GAAG,EAAEU,MAAMC,WAAW,EAAE,CAAC,IAAIH,SAAU;YAChD,MAAMI,kBAAkB,MAAMC,IAAAA,iBAAS,EAACb,MAAM;gBAC5C,CAAC,EAAEW,YAAY,gDAAgD,CAAC;aACjE;YACD,IAAI,CAACC,gBAAgBE,MAAM,EAAE;gBAE3B;YACF;YAEAV,uBAAuBJ,MAAMW,aAAa;gBACxC;gBACA;aACD;QACH;IACF;IAEA,MAAMI,IAAAA,mBAAW,EAACf;AACpB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-20-5-0/install-jiti.ts"],"sourcesContent":["import { type Tree, addDependenciesToPackageJson } from '@nx/devkit';\nimport { jitiVersion } from '../../utils/versions';\n\nexport default async function installJiti(tree: Tree) {\n const installTask = addDependenciesToPackageJson(\n tree,\n {},\n {\n jiti: jitiVersion,\n }\n );\n\n return installTask;\n}\n"],"names":["installJiti","tree","installTask","addDependenciesToPackageJson","jiti","jitiVersion"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";+BAGA;;;eAA8BA;;;wBAH0B;0BAC5B;AAEb,eAAeA,YAAYC,IAAU;IAClD,MAAMC,cAAcC,IAAAA,oCAA4B,EAC9CF,MACA,CAAC,GACD;QACEG,MAAMC,qBAAW;IACnB;IAGF,OAAOH;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-20-5-0/update-resolve-conditions.ts"],"sourcesContent":["import { formatFiles, visitNotIgnoredFiles, type Tree } from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport picomatch = require('picomatch');\n\nconst REMIX_IMPORT_SELECTOR =\n 'ImportDeclaration:has(StringLiteral[value=@remix-run/dev]),CallExpression:has(Identifier[name=require]) StringLiteral[value=@remix-run/dev]';\nconst DEFINE_CONFIG_OBJECT_SELECTOR = `CallExpression:has(Identifier[name=defineConfig]) > ObjectLiteralExpression`;\nconst RESOLVE_PROPERTY_SELECTOR = `PropertyAssignment:has(Identifier[name=resolve]) > ObjectLiteralExpression`;\nconst CONDITIONS_PROPERTY_SELECTOR = `PropertyAssignment:has(Identifier[name=conditions]) > ArrayLiteralExpression`;\n\nconst _conditions_array_values = [\n 'module',\n 'browser',\n 'development|production',\n];\nconst _condition_obj = `conditions: ${JSON.stringify(\n _conditions_array_values\n)},`;\nconst _resolve = `resolve: {\n ${_condition_obj}\n},`;\n\nexport default async function (tree: Tree) {\n const viteFiles = [];\n\n visitNotIgnoredFiles(tree, '', (filePath) => {\n if (picomatch('**/vite.*config*.{js,ts,mjs,mts,cjs,cts}')(filePath)) {\n viteFiles.push(filePath);\n }\n });\n\n for (const file of viteFiles) {\n const contents = tree.read(file, 'utf-8');\n const ast = tsquery.ast(contents);\n const remixImportNodes = tsquery(ast, REMIX_IMPORT_SELECTOR, {\n visitAllChildren: true,\n });\n if (remixImportNodes.length > 0) {\n continue;\n }\n\n const defineConfigObjectNodes = tsquery(ast, DEFINE_CONFIG_OBJECT_SELECTOR);\n if (defineConfigObjectNodes.length === 0) {\n console.warn(\n `Could not migrate vite config at ${file}. No \"defineConfig\" object found. Apply \"resolve.conditions: ['module', 'browser', 'development|production']\" manually to your vite config.`\n );\n continue;\n }\n let newContents = contents;\n const defineConfigObjectNode = defineConfigObjectNodes[0];\n const resolvePropertyNodes = tsquery(\n defineConfigObjectNode,\n RESOLVE_PROPERTY_SELECTOR\n );\n if (resolvePropertyNodes.length === 0) {\n // Do not add resolve property if it does not already exist\n continue;\n } else {\n const resolvePropertyNode = resolvePropertyNodes[0];\n const conditionsPropertyNodes = tsquery(\n resolvePropertyNode,\n CONDITIONS_PROPERTY_SELECTOR\n );\n if (conditionsPropertyNodes.length === 0) {\n // do not add conditions property if it does not already exist\n continue;\n } else {\n const conditionPropertyNode = conditionsPropertyNodes[0];\n const conditionsArrayValues = JSON.parse(\n conditionPropertyNode.getText().replace(/['`]/g, '\"')\n );\n const newConditionArrayValues = [\n ...new Set([...conditionsArrayValues, ..._conditions_array_values]),\n ];\n newContents =\n newContents.slice(0, conditionPropertyNode.getStart()) +\n `${JSON.stringify(newConditionArrayValues)}` +\n newContents.slice(conditionPropertyNode.getEnd());\n }\n }\n\n tree.write(file, newContents);\n }\n\n await formatFiles(tree);\n}\n"],"names":["picomatch","REMIX_IMPORT_SELECTOR","DEFINE_CONFIG_OBJECT_SELECTOR","RESOLVE_PROPERTY_SELECTOR","CONDITIONS_PROPERTY_SELECTOR","_conditions_array_values","_condition_obj","JSON","stringify","_resolve","tree","viteFiles","visitNotIgnoredFiles","filePath","push","file","contents","read","ast","tsquery","remixImportNodes","visitAllChildren","length","defineConfigObjectNodes","console","warn","newContents","defineConfigObjectNode","resolvePropertyNodes","resolvePropertyNode","conditionsPropertyNodes","conditionPropertyNode","conditionsArrayValues","parse","getText","replace","newConditionArrayValues","Set","slice","getStart","getEnd","write","formatFiles"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAsBA;;;eAAA;;;wBAtB6D;yBACrC;AACxB,MAAOA,oBAAoB;AAE3B,MAAMC,wBACJ;AACF,MAAMC,gCAAgC,CAAC,2EAA2E,CAAC;AACnH,MAAMC,4BAA4B,CAAC,0EAA0E,CAAC;AAC9G,MAAMC,+BAA+B,CAAC,4EAA4E,CAAC;AAEnH,MAAMC,2BAA2B;IAC/B;IACA;IACA;CACD;AACD,MAAMC,iBAAiB,CAAC,YAAY,EAAEC,KAAKC,SAAS,CAClDH,0BACA,CAAC,CAAC;AACJ,MAAMI,WAAW,CAAC;EAChB,EAAEH,eAAe;EACjB,CAAC;AAEY,eAAf,SAA+BI,IAAU;IACvC,MAAMC,YAAY,EAAE;IAEpBC,IAAAA,4BAAoB,EAACF,MAAM,IAAI,CAACG;QAC9B,IAAIb,UAAU,4CAA4Ca,WAAW;YACnEF,UAAUG,IAAI,CAACD;QACjB;IACF;IAEA,KAAK,MAAME,QAAQJ,UAAW;QAC5B,MAAMK,WAAWN,KAAKO,IAAI,CAACF,MAAM;QACjC,MAAMG,MAAMC,gBAAO,CAACD,GAAG,CAACF;QACxB,MAAMI,mBAAmBD,IAAAA,gBAAO,EAACD,KAAKjB,uBAAuB;YAC3DoB,kBAAkB;QACpB;QACA,IAAID,iBAAiBE,MAAM,GAAG,GAAG;YAC/B;QACF;QAEA,MAAMC,0BAA0BJ,IAAAA,gBAAO,EAACD,KAAKhB;QAC7C,IAAIqB,wBAAwBD,MAAM,KAAK,GAAG;YACxCE,QAAQC,IAAI,CACV,CAAC,iCAAiC,EAAEV,KAAK,2IAA2I,CAAC;YAEvL;QACF;QACA,IAAIW,cAAcV;QAClB,MAAMW,yBAAyBJ,uBAAuB,CAAC,EAAE;QACzD,MAAMK,uBAAuBT,IAAAA,gBAAO,EAClCQ,wBACAxB;QAEF,IAAIyB,qBAAqBN,MAAM,KAAK,GAAG;YAErC;QACF,OAAO;YACL,MAAMO,sBAAsBD,oBAAoB,CAAC,EAAE;YACnD,MAAME,0BAA0BX,IAAAA,gBAAO,EACrCU,qBACAzB;YAEF,IAAI0B,wBAAwBR,MAAM,KAAK,GAAG;gBAExC;YACF,OAAO;gBACL,MAAMS,wBAAwBD,uBAAuB,CAAC,EAAE;gBACxD,MAAME,wBAAwBzB,KAAK0B,KAAK,CACtCF,sBAAsBG,OAAO,GAAGC,OAAO,CAAC,SAAS;gBAEnD,MAAMC,0BAA0B;uBAC3B,IAAIC,IAAI;2BAAIL;2BAA0B3B;qBAAyB;iBACnE;gBACDqB,cACEA,YAAYY,KAAK,CAAC,GAAGP,sBAAsBQ,QAAQ,MACnD,CAAC,EAAEhC,KAAKC,SAAS,CAAC4B,yBAAyB,CAAC,GAC5CV,YAAYY,KAAK,CAACP,sBAAsBS,MAAM;YAClD;QACF;QAEA9B,KAAK+B,KAAK,CAAC1B,MAAMW;IACnB;IAEA,MAAMgB,IAAAA,mBAAW,EAAChC;AACpB"}