@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.
- package/executors.d.ts +1 -0
- package/executors.d.ts.map +1 -0
- package/executors.js +10 -26
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -0
- package/index.js +12 -26
- package/package.json +7 -4
- package/plugin.d.ts +1 -0
- package/plugin.d.ts.map +1 -0
- package/plugin.js +6 -23
- package/plugins/nx-copy-assets.plugin.d.ts +1 -0
- package/plugins/nx-copy-assets.plugin.d.ts.map +1 -0
- package/plugins/nx-copy-assets.plugin.js +28 -30
- package/plugins/nx-tsconfig-paths.plugin.d.ts +1 -0
- package/plugins/nx-tsconfig-paths.plugin.d.ts.map +1 -0
- package/plugins/nx-tsconfig-paths.plugin.js +86 -88
- package/plugins/nx-vite-build-coordination.plugin.d.ts +1 -0
- package/plugins/nx-vite-build-coordination.plugin.d.ts.map +1 -0
- package/plugins/nx-vite-build-coordination.plugin.js +25 -32
- package/plugins/rollup-replace-files.plugin.d.ts +1 -0
- package/plugins/rollup-replace-files.plugin.d.ts.map +1 -0
- package/plugins/rollup-replace-files.plugin.js +20 -26
- package/project.json +52 -0
- package/src/executors/build/build.impl.d.ts +1 -0
- package/src/executors/build/build.impl.d.ts.map +1 -0
- package/src/executors/build/build.impl.js +98 -112
- package/src/executors/build/compat.d.ts +1 -0
- package/src/executors/build/compat.d.ts.map +1 -0
- package/src/executors/build/compat.js +4 -11
- package/src/executors/dev-server/compat.d.ts +1 -0
- package/src/executors/dev-server/compat.d.ts.map +1 -0
- package/src/executors/dev-server/compat.js +4 -11
- package/src/executors/dev-server/dev-server.impl.d.ts +1 -0
- package/src/executors/dev-server/dev-server.impl.d.ts.map +1 -0
- package/src/executors/dev-server/dev-server.impl.js +54 -62
- package/src/executors/preview-server/compat.d.ts +1 -0
- package/src/executors/preview-server/compat.d.ts.map +1 -0
- package/src/executors/preview-server/compat.js +4 -11
- package/src/executors/preview-server/preview-server.impl.d.ts +1 -0
- package/src/executors/preview-server/preview-server.impl.d.ts.map +1 -0
- package/src/executors/preview-server/preview-server.impl.js +74 -77
- package/src/executors/test/compat.d.ts +1 -0
- package/src/executors/test/compat.d.ts.map +1 -0
- package/src/executors/test/compat.js +4 -11
- package/src/executors/test/lib/nx-reporter.d.ts +1 -0
- package/src/executors/test/lib/nx-reporter.d.ts.map +1 -0
- package/src/executors/test/lib/nx-reporter.js +17 -25
- package/src/executors/test/lib/utils.d.ts +1 -0
- package/src/executors/test/lib/utils.d.ts.map +1 -0
- package/src/executors/test/lib/utils.js +36 -59
- package/src/executors/test/vitest.impl.d.ts +1 -0
- package/src/executors/test/vitest.impl.d.ts.map +1 -0
- package/src/executors/test/vitest.impl.js +29 -43
- package/src/generators/configuration/configuration.d.ts +1 -0
- package/src/generators/configuration/configuration.d.ts.map +1 -0
- package/src/generators/configuration/configuration.js +82 -102
- package/src/generators/configuration/lib/convert-non-vite.d.ts +1 -0
- package/src/generators/configuration/lib/convert-non-vite.d.ts.map +1 -0
- package/src/generators/configuration/lib/convert-non-vite.js +33 -32
- package/src/generators/convert-to-inferred/convert-to-inferred.d.ts +1 -0
- package/src/generators/convert-to-inferred/convert-to-inferred.d.ts.map +1 -0
- package/src/generators/convert-to-inferred/convert-to-inferred.js +31 -61
- package/src/generators/convert-to-inferred/lib/build-post-target-transformer.d.ts +1 -0
- package/src/generators/convert-to-inferred/lib/build-post-target-transformer.d.ts.map +1 -0
- package/src/generators/convert-to-inferred/lib/build-post-target-transformer.js +46 -58
- package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.d.ts +1 -0
- package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.d.ts.map +1 -0
- package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.js +9 -14
- package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.d.ts +1 -0
- package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.d.ts.map +1 -0
- package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.js +10 -15
- package/src/generators/convert-to-inferred/lib/test-post-target-transformer.d.ts +1 -0
- package/src/generators/convert-to-inferred/lib/test-post-target-transformer.d.ts.map +1 -0
- package/src/generators/convert-to-inferred/lib/test-post-target-transformer.js +16 -23
- package/src/generators/convert-to-inferred/lib/utils.d.ts +1 -0
- package/src/generators/convert-to-inferred/lib/utils.d.ts.map +1 -0
- package/src/generators/convert-to-inferred/lib/utils.js +18 -33
- package/src/generators/init/init.d.ts +1 -0
- package/src/generators/init/init.d.ts.map +1 -0
- package/src/generators/init/init.js +44 -96
- package/src/generators/init/lib/utils.d.ts +1 -0
- package/src/generators/init/lib/utils.d.ts.map +1 -0
- package/src/generators/init/lib/utils.js +20 -35
- package/src/generators/setup-paths-plugin/lib/utils.d.ts +1 -0
- package/src/generators/setup-paths-plugin/lib/utils.d.ts.map +1 -0
- package/src/generators/setup-paths-plugin/lib/utils.js +0 -3
- package/src/generators/setup-paths-plugin/setup-paths-plugin.d.ts +1 -0
- package/src/generators/setup-paths-plugin/setup-paths-plugin.d.ts.map +1 -0
- package/src/generators/setup-paths-plugin/setup-paths-plugin.js +45 -54
- package/src/generators/vitest/vitest-generator.d.ts +1 -0
- package/src/generators/vitest/vitest-generator.d.ts.map +1 -0
- package/src/generators/vitest/vitest-generator.js +134 -174
- package/src/migrations/update-19-6-0/add-depends-on-for-preview.d.ts +1 -0
- package/src/migrations/update-19-6-0/add-depends-on-for-preview.d.ts.map +1 -0
- package/src/migrations/update-19-6-0/add-depends-on-for-preview.js +10 -18
- package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.d.ts +1 -0
- package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.d.ts.map +1 -0
- package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.js +4 -10
- package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.d.ts +1 -0
- package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.d.ts.map +1 -0
- package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.js +4 -10
- package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.d.ts +1 -0
- package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.d.ts.map +1 -0
- package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.js +20 -24
- package/src/migrations/update-20-5-0/install-jiti.d.ts +1 -0
- package/src/migrations/update-20-5-0/install-jiti.d.ts.map +1 -0
- package/src/migrations/update-20-5-0/install-jiti.js +6 -12
- package/src/migrations/update-20-5-0/update-resolve-conditions.d.ts +1 -0
- package/src/migrations/update-20-5-0/update-resolve-conditions.d.ts.map +1 -0
- package/src/migrations/update-20-5-0/update-resolve-conditions.js +26 -28
- package/src/plugins/plugin.d.ts +1 -0
- package/src/plugins/plugin.d.ts.map +1 -0
- package/src/plugins/plugin.js +189 -267
- package/src/utils/detect-ui-framework.d.ts +1 -0
- package/src/utils/detect-ui-framework.d.ts.map +1 -0
- package/src/utils/detect-ui-framework.js +9 -20
- package/src/utils/e2e-web-server-info-utils.d.ts +1 -0
- package/src/utils/e2e-web-server-info-utils.d.ts.map +1 -0
- package/src/utils/e2e-web-server-info-utils.js +23 -35
- package/src/utils/ensure-dependencies.d.ts +1 -0
- package/src/utils/ensure-dependencies.d.ts.map +1 -0
- package/src/utils/ensure-dependencies.js +24 -26
- package/src/utils/executor-utils.d.ts +1 -0
- package/src/utils/executor-utils.d.ts.map +1 -0
- package/src/utils/executor-utils.js +27 -43
- package/src/utils/find-vite-config.d.ts +1 -0
- package/src/utils/find-vite-config.d.ts.map +1 -0
- package/src/utils/find-vite-config.js +12 -37
- package/src/utils/generator-utils.d.ts +1 -0
- package/src/utils/generator-utils.d.ts.map +1 -0
- package/src/utils/generator-utils.js +204 -216
- package/src/utils/ignore-vite-temp-files.d.ts +1 -0
- package/src/utils/ignore-vite-temp-files.d.ts.map +1 -0
- package/src/utils/ignore-vite-temp-files.js +22 -32
- package/src/utils/nx-tsconfig-paths-find-file.d.ts +1 -0
- package/src/utils/nx-tsconfig-paths-find-file.d.ts.map +1 -0
- package/src/utils/nx-tsconfig-paths-find-file.js +10 -16
- package/src/utils/options-utils.d.ts +1 -0
- package/src/utils/options-utils.d.ts.map +1 -0
- package/src/utils/options-utils.js +48 -58
- package/src/utils/test-files/test-vite-configs.d.ts +1 -0
- package/src/utils/test-files/test-vite-configs.d.ts.map +1 -0
- package/src/utils/test-files/test-vite-configs.js +21 -82
- package/src/utils/test-utils.d.ts +1 -0
- package/src/utils/test-utils.d.ts.map +1 -0
- package/src/utils/test-utils.js +103 -130
- package/src/utils/version-utils.d.ts +1 -0
- package/src/utils/version-utils.d.ts.map +1 -0
- package/src/utils/version-utils.js +26 -44
- package/src/utils/versions.d.ts +1 -0
- package/src/utils/versions.d.ts.map +1 -0
- package/src/utils/versions.js +22 -82
- package/src/utils/vite-config-edit-utils.d.ts +1 -0
- package/src/utils/vite-config-edit-utils.d.ts.map +1 -0
- package/src/utils/vite-config-edit-utils.js +145 -125
- package/executors.js.map +0 -1
- package/index.js.map +0 -1
- package/plugin.js.map +0 -1
- package/plugins/nx-copy-assets.plugin.js.map +0 -1
- package/plugins/nx-tsconfig-paths.plugin.js.map +0 -1
- package/plugins/nx-vite-build-coordination.plugin.js.map +0 -1
- package/plugins/rollup-replace-files.plugin.js.map +0 -1
- package/src/executors/build/build.impl.js.map +0 -1
- package/src/executors/build/compat.js.map +0 -1
- package/src/executors/build/schema.d.js +0 -3
- package/src/executors/build/schema.d.js.map +0 -1
- package/src/executors/dev-server/compat.js.map +0 -1
- package/src/executors/dev-server/dev-server.impl.js.map +0 -1
- package/src/executors/dev-server/schema.d.js +0 -3
- package/src/executors/dev-server/schema.d.js.map +0 -1
- package/src/executors/preview-server/compat.js.map +0 -1
- package/src/executors/preview-server/preview-server.impl.js.map +0 -1
- package/src/executors/preview-server/schema.d.js +0 -3
- package/src/executors/preview-server/schema.d.js.map +0 -1
- package/src/executors/test/compat.js.map +0 -1
- package/src/executors/test/lib/nx-reporter.js.map +0 -1
- package/src/executors/test/lib/utils.js.map +0 -1
- package/src/executors/test/schema.d.js +0 -3
- package/src/executors/test/schema.d.js.map +0 -1
- package/src/executors/test/vitest.impl.js.map +0 -1
- package/src/generators/configuration/configuration.js.map +0 -1
- package/src/generators/configuration/lib/convert-non-vite.js.map +0 -1
- package/src/generators/configuration/schema.d.js +0 -3
- package/src/generators/configuration/schema.d.js.map +0 -1
- package/src/generators/convert-to-inferred/convert-to-inferred.js.map +0 -1
- package/src/generators/convert-to-inferred/lib/build-post-target-transformer.js.map +0 -1
- package/src/generators/convert-to-inferred/lib/preview-post-target-transformer.js.map +0 -1
- package/src/generators/convert-to-inferred/lib/serve-post-target-transformer.js.map +0 -1
- package/src/generators/convert-to-inferred/lib/test-post-target-transformer.js.map +0 -1
- package/src/generators/convert-to-inferred/lib/utils.js.map +0 -1
- package/src/generators/init/init.js.map +0 -1
- package/src/generators/init/lib/utils.js.map +0 -1
- package/src/generators/init/schema.d.js +0 -3
- package/src/generators/init/schema.d.js.map +0 -1
- package/src/generators/setup-paths-plugin/lib/utils.js.map +0 -1
- package/src/generators/setup-paths-plugin/schema.d.js +0 -3
- package/src/generators/setup-paths-plugin/schema.d.js.map +0 -1
- package/src/generators/setup-paths-plugin/setup-paths-plugin.js.map +0 -1
- package/src/generators/vitest/schema.d.js +0 -3
- package/src/generators/vitest/schema.d.js.map +0 -1
- package/src/generators/vitest/vitest-generator.js.map +0 -1
- package/src/migrations/update-19-6-0/add-depends-on-for-preview.js.map +0 -1
- package/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.js.map +0 -1
- package/src/migrations/update-20-3-0/add-vitest-temp-files-to-git-ignore.js.map +0 -1
- package/src/migrations/update-20-5-0/eslint-ignore-vite-temp-files.js.map +0 -1
- package/src/migrations/update-20-5-0/install-jiti.js.map +0 -1
- package/src/migrations/update-20-5-0/update-resolve-conditions.js.map +0 -1
- package/src/plugins/plugin.js.map +0 -1
- package/src/utils/detect-ui-framework.js.map +0 -1
- package/src/utils/e2e-web-server-info-utils.js.map +0 -1
- package/src/utils/ensure-dependencies.js.map +0 -1
- package/src/utils/executor-utils.js.map +0 -1
- package/src/utils/find-vite-config.js.map +0 -1
- package/src/utils/generator-utils.js.map +0 -1
- package/src/utils/ignore-vite-temp-files.js.map +0 -1
- package/src/utils/nx-tsconfig-paths-find-file.js.map +0 -1
- package/src/utils/options-utils.js.map +0 -1
- package/src/utils/test-files/test-vite-configs.js.map +0 -1
- package/src/utils/test-utils.js.map +0 -1
- package/src/utils/version-utils.js.map +0 -1
- package/src/utils/versions.js.map +0 -1
- 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 +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 +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 +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 +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":"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"}
|
|
@@ -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 +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 +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 +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"}
|