@nx/vite 20.0.6 → 20.0.7

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/migrations.json CHANGED
@@ -24,6 +24,11 @@
24
24
  "version": "20.0.4-beta.0",
25
25
  "description": "Add gitignore entry for temporary vite config files.",
26
26
  "implementation": "./src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore"
27
+ },
28
+ "update-20-0-6": {
29
+ "version": "20.0.6-beta.0",
30
+ "description": "Add gitignore entry for temporary vite config files and remove previous incorrect glob.",
31
+ "implementation": "./src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore"
27
32
  }
28
33
  },
29
34
  "packageJsonUpdates": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/vite",
3
- "version": "20.0.6",
3
+ "version": "20.0.7",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for building and testing applications using Vite",
6
6
  "repository": {
@@ -30,11 +30,11 @@
30
30
  "migrations": "./migrations.json"
31
31
  },
32
32
  "dependencies": {
33
- "@nx/devkit": "20.0.6",
33
+ "@nx/devkit": "20.0.7",
34
34
  "@phenomnomnominal/tsquery": "~5.0.1",
35
35
  "@swc/helpers": "~0.5.0",
36
36
  "enquirer": "~2.3.6",
37
- "@nx/js": "20.0.6",
37
+ "@nx/js": "20.0.7",
38
38
  "tsconfig-paths": "^4.1.2",
39
39
  "minimatch": "9.0.3"
40
40
  },
@@ -34,11 +34,13 @@ async function* viteBuildExecutor(options, context) {
34
34
  const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, options.configFile);
35
35
  const root = projectRoot === '.' ? process.cwd() : (0, _path.relative)(context.cwd, (0, _devkit.joinPathFragments)(context.root, projectRoot));
36
36
  const { buildOptions, otherOptions } = await getBuildExtraArgs(options);
37
- var _otherOptions_mode, _otherOptions_mode1;
37
+ var _otherOptions_mode;
38
+ const defaultMode = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : 'production';
39
+ var _process_env_NODE_ENV;
38
40
  const resolved = await resolveConfig({
39
41
  configFile: viteConfigPath,
40
- mode: (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : 'production'
41
- }, 'build', (_otherOptions_mode1 = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode1 : 'production');
42
+ mode: defaultMode
43
+ }, 'build', defaultMode, (_process_env_NODE_ENV = process.env.NODE_ENV) != null ? _process_env_NODE_ENV : defaultMode);
42
44
  var _joinPathFragments;
43
45
  const outDir = (_joinPathFragments = (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectRoot), options.outputPath)) != null ? _joinPathFragments : resolved == null ? void 0 : (_resolved_build = resolved.build) == null ? void 0 : _resolved_build.outDir;
44
46
  var _resolved_root;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/build/build.impl.ts"],"sourcesContent":["import {\n detectPackageManager,\n ExecutorContext,\n joinPathFragments,\n logger,\n offsetFromRoot,\n stripIndents,\n writeJsonFile,\n} from '@nx/devkit';\nimport {\n getProjectTsConfigPath,\n normalizeViteConfigFilePath,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from './schema';\nimport {\n copyAssets,\n createLockFile,\n createPackageJson,\n getLockFileName,\n} from '@nx/js';\nimport { existsSync, writeFileSync } from 'fs';\nimport { relative, resolve } from 'path';\nimport { createAsyncIterable } from '@nx/devkit/src/utils/async-iterable';\nimport {\n createBuildableTsConfig,\n loadViteDynamicImport,\n validateTypes,\n} from '../../utils/executor-utils';\nimport { type Plugin } from 'vite';\n\nexport async function* viteBuildExecutor(\n options: Record<string, any> & ViteBuildExecutorOptions,\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, build, resolveConfig } = await loadViteDynamicImport();\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const tsConfigForBuild = createBuildableTsConfig(\n projectRoot,\n options,\n context\n );\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n options.configFile\n );\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n\n const { buildOptions, otherOptions } = await getBuildExtraArgs(options);\n\n const resolved = await resolveConfig(\n {\n configFile: viteConfigPath,\n mode: otherOptions?.mode ?? 'production',\n },\n 'build',\n otherOptions?.mode ?? 'production'\n );\n\n const outDir =\n joinPathFragments(offsetFromRoot(projectRoot), options.outputPath) ??\n resolved?.build?.outDir;\n\n const buildConfig = 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 build: {\n outDir,\n ...buildOptions,\n },\n ...otherOptions,\n }\n );\n\n if (!options.skipTypeCheck) {\n await validateTypes({\n workspaceRoot: context.root,\n tsconfig: tsConfigForBuild,\n isVueProject: Boolean(\n resolved.plugins?.find(\n (plugin: Plugin) =>\n typeof plugin === 'object' && plugin?.name === 'vite:vue'\n )\n ),\n });\n }\n\n const watcherOrOutput = await build(buildConfig);\n\n const libraryPackageJson = resolve(projectRoot, 'package.json');\n const rootPackageJson = resolve(context.root, 'package.json');\n\n // Here, we want the outdir relative to the workspace root.\n // So, we calculate the relative path from the workspace root to the outdir.\n const outDirRelativeToWorkspaceRoot = outDir.replaceAll('../', '');\n const distPackageJson = resolve(\n outDirRelativeToWorkspaceRoot,\n 'package.json'\n );\n\n // Generate a package.json if option has been set.\n if (options.generatePackageJson) {\n if (context.projectGraph.nodes[context.projectName].type !== 'app') {\n logger.warn(\n stripIndents`The project ${context.projectName} is using the 'generatePackageJson' option which is deprecated for library projects. It should only be used for applications.\n For libraries, configure the project to use the '@nx/dependency-checks' ESLint rule instead (https://nx.dev/nx-api/eslint-plugin/documents/dependency-checks).`\n );\n }\n\n const builtPackageJson = createPackageJson(\n context.projectName,\n context.projectGraph,\n {\n target: context.targetName,\n root: context.root,\n isProduction: !options.includeDevDependenciesInPackageJson, // By default we remove devDependencies since this is a production build.\n skipOverrides: options.skipOverrides,\n skipPackageManager: options.skipPackageManager,\n }\n );\n\n builtPackageJson.type ??= 'module';\n\n writeJsonFile(\n `${outDirRelativeToWorkspaceRoot}/package.json`,\n builtPackageJson\n );\n const packageManager = detectPackageManager(context.root);\n\n const lockFile = createLockFile(\n builtPackageJson,\n context.projectGraph,\n packageManager\n );\n writeFileSync(\n `${outDirRelativeToWorkspaceRoot}/${getLockFileName(packageManager)}`,\n lockFile,\n {\n encoding: 'utf-8',\n }\n );\n }\n // For buildable libs, copy package.json if it exists.\n else if (\n options.generatePackageJson !== false &&\n !existsSync(distPackageJson) &&\n existsSync(libraryPackageJson) &&\n rootPackageJson !== libraryPackageJson\n ) {\n await copyAssets(\n {\n outputPath: outDirRelativeToWorkspaceRoot,\n assets: [\n {\n input: projectRoot,\n output: '.',\n glob: 'package.json',\n },\n ],\n },\n context\n );\n }\n\n if ('on' in watcherOrOutput) {\n const iterable = createAsyncIterable<{ success: boolean }>(({ next }) => {\n let success = true;\n watcherOrOutput.on('event', (event) => {\n if (event.code === 'START') {\n success = true;\n } else if (event.code === 'ERROR') {\n success = false;\n } else if (event.code === 'END') {\n next({ success });\n }\n // result must be closed when present.\n // see https://rollupjs.org/guide/en/#rollupwatch\n if ('result' in event && event.result) {\n event.result.close();\n }\n });\n });\n yield* iterable;\n } else {\n const output = watcherOrOutput?.['output'] || watcherOrOutput?.[0]?.output;\n const fileName = output?.[0]?.fileName || 'main.cjs';\n const outfile = resolve(outDirRelativeToWorkspaceRoot, fileName);\n yield { success: true, outfile };\n }\n}\n\nexport async function getBuildExtraArgs(\n options: ViteBuildExecutorOptions\n): Promise<{\n // vite BuildOptions\n buildOptions: 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 const buildOptions = {};\n const buildSchemaKeys = [\n 'target',\n 'polyfillModulePreload',\n 'modulePreload',\n 'outDir',\n 'assetsDir',\n 'assetsInlineLimit',\n 'cssCodeSplit',\n 'cssTarget',\n 'cssMinify',\n 'sourcemap',\n 'minify',\n 'terserOptions',\n 'rollupOptions',\n 'commonjsOptions',\n 'dynamicImportVarsOptions',\n 'write',\n 'emptyOutDir',\n 'copyPublicDir',\n 'manifest',\n 'lib',\n 'ssr',\n 'ssrManifest',\n 'ssrEmitAssets',\n 'reportCompressedSize',\n 'chunkSizeWarningLimit',\n 'watch',\n ];\n const otherOptions = {};\n for (const key of Object.keys(extraArgs)) {\n if (buildSchemaKeys.includes(key)) {\n buildOptions[key] = extraArgs[key];\n } else {\n otherOptions[key] = extraArgs[key];\n }\n }\n\n buildOptions['watch'] = options.watch ?? undefined;\n\n return {\n buildOptions,\n otherOptions,\n };\n}\n\nexport default viteBuildExecutor;\n"],"names":["getBuildExtraArgs","viteBuildExecutor","options","context","resolved","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","build","resolveConfig","loadViteDynamicImport","projectRoot","projectsConfigurations","projects","projectName","root","tsConfigForBuild","createBuildableTsConfig","viteConfigPath","normalizeViteConfigFilePath","configFile","cwd","relative","joinPathFragments","buildOptions","otherOptions","mode","outDir","offsetFromRoot","outputPath","buildConfig","skipTypeCheck","validateTypes","workspaceRoot","tsconfig","isVueProject","Boolean","plugins","find","plugin","name","watcherOrOutput","libraryPackageJson","resolve","rootPackageJson","outDirRelativeToWorkspaceRoot","replaceAll","distPackageJson","generatePackageJson","builtPackageJson","projectGraph","nodes","type","logger","warn","stripIndents","createPackageJson","target","targetName","isProduction","includeDevDependenciesInPackageJson","skipOverrides","skipPackageManager","writeJsonFile","packageManager","detectPackageManager","lockFile","createLockFile","writeFileSync","getLockFileName","encoding","existsSync","copyAssets","assets","input","output","glob","iterable","createAsyncIterable","next","success","on","event","code","result","close","fileName","outfile","schema","extraArgs","key","Object","keys","properties","buildSchemaKeys","includes","watch","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/build/build.impl.ts"],"sourcesContent":["import {\n detectPackageManager,\n ExecutorContext,\n joinPathFragments,\n logger,\n offsetFromRoot,\n stripIndents,\n writeJsonFile,\n} from '@nx/devkit';\nimport {\n getProjectTsConfigPath,\n normalizeViteConfigFilePath,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from './schema';\nimport {\n copyAssets,\n createLockFile,\n createPackageJson,\n getLockFileName,\n} from '@nx/js';\nimport { existsSync, writeFileSync } from 'fs';\nimport { relative, resolve } from 'path';\nimport { createAsyncIterable } from '@nx/devkit/src/utils/async-iterable';\nimport {\n createBuildableTsConfig,\n loadViteDynamicImport,\n validateTypes,\n} from '../../utils/executor-utils';\nimport { type Plugin } from 'vite';\n\nexport async function* viteBuildExecutor(\n options: Record<string, any> & ViteBuildExecutorOptions,\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, build, resolveConfig } = await loadViteDynamicImport();\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const tsConfigForBuild = createBuildableTsConfig(\n projectRoot,\n options,\n context\n );\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n options.configFile\n );\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n\n const { buildOptions, otherOptions } = await getBuildExtraArgs(options);\n const defaultMode = otherOptions?.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 joinPathFragments(offsetFromRoot(projectRoot), options.outputPath) ??\n resolved?.build?.outDir;\n\n const buildConfig = 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 build: {\n outDir,\n ...buildOptions,\n },\n ...otherOptions,\n }\n );\n\n if (!options.skipTypeCheck) {\n await validateTypes({\n workspaceRoot: context.root,\n tsconfig: tsConfigForBuild,\n isVueProject: Boolean(\n resolved.plugins?.find(\n (plugin: Plugin) =>\n typeof plugin === 'object' && plugin?.name === 'vite:vue'\n )\n ),\n });\n }\n\n const watcherOrOutput = await build(buildConfig);\n\n const libraryPackageJson = resolve(projectRoot, 'package.json');\n const rootPackageJson = resolve(context.root, 'package.json');\n\n // Here, we want the outdir relative to the workspace root.\n // So, we calculate the relative path from the workspace root to the outdir.\n const outDirRelativeToWorkspaceRoot = outDir.replaceAll('../', '');\n const distPackageJson = resolve(\n outDirRelativeToWorkspaceRoot,\n 'package.json'\n );\n\n // Generate a package.json if option has been set.\n if (options.generatePackageJson) {\n if (context.projectGraph.nodes[context.projectName].type !== 'app') {\n logger.warn(\n stripIndents`The project ${context.projectName} is using the 'generatePackageJson' option which is deprecated for library projects. It should only be used for applications.\n For libraries, configure the project to use the '@nx/dependency-checks' ESLint rule instead (https://nx.dev/nx-api/eslint-plugin/documents/dependency-checks).`\n );\n }\n\n const builtPackageJson = createPackageJson(\n context.projectName,\n context.projectGraph,\n {\n target: context.targetName,\n root: context.root,\n isProduction: !options.includeDevDependenciesInPackageJson, // By default we remove devDependencies since this is a production build.\n skipOverrides: options.skipOverrides,\n skipPackageManager: options.skipPackageManager,\n }\n );\n\n builtPackageJson.type ??= 'module';\n\n writeJsonFile(\n `${outDirRelativeToWorkspaceRoot}/package.json`,\n builtPackageJson\n );\n const packageManager = detectPackageManager(context.root);\n\n const lockFile = createLockFile(\n builtPackageJson,\n context.projectGraph,\n packageManager\n );\n writeFileSync(\n `${outDirRelativeToWorkspaceRoot}/${getLockFileName(packageManager)}`,\n lockFile,\n {\n encoding: 'utf-8',\n }\n );\n }\n // For buildable libs, copy package.json if it exists.\n else if (\n options.generatePackageJson !== false &&\n !existsSync(distPackageJson) &&\n existsSync(libraryPackageJson) &&\n rootPackageJson !== libraryPackageJson\n ) {\n await copyAssets(\n {\n outputPath: outDirRelativeToWorkspaceRoot,\n assets: [\n {\n input: projectRoot,\n output: '.',\n glob: 'package.json',\n },\n ],\n },\n context\n );\n }\n\n if ('on' in watcherOrOutput) {\n const iterable = createAsyncIterable<{ success: boolean }>(({ next }) => {\n let success = true;\n watcherOrOutput.on('event', (event) => {\n if (event.code === 'START') {\n success = true;\n } else if (event.code === 'ERROR') {\n success = false;\n } else if (event.code === 'END') {\n next({ success });\n }\n // result must be closed when present.\n // see https://rollupjs.org/guide/en/#rollupwatch\n if ('result' in event && event.result) {\n event.result.close();\n }\n });\n });\n yield* iterable;\n } else {\n const output = watcherOrOutput?.['output'] || watcherOrOutput?.[0]?.output;\n const fileName = output?.[0]?.fileName || 'main.cjs';\n const outfile = resolve(outDirRelativeToWorkspaceRoot, fileName);\n yield { success: true, outfile };\n }\n}\n\nexport async function getBuildExtraArgs(\n options: ViteBuildExecutorOptions\n): Promise<{\n // vite BuildOptions\n buildOptions: 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 const buildOptions = {};\n const buildSchemaKeys = [\n 'target',\n 'polyfillModulePreload',\n 'modulePreload',\n 'outDir',\n 'assetsDir',\n 'assetsInlineLimit',\n 'cssCodeSplit',\n 'cssTarget',\n 'cssMinify',\n 'sourcemap',\n 'minify',\n 'terserOptions',\n 'rollupOptions',\n 'commonjsOptions',\n 'dynamicImportVarsOptions',\n 'write',\n 'emptyOutDir',\n 'copyPublicDir',\n 'manifest',\n 'lib',\n 'ssr',\n 'ssrManifest',\n 'ssrEmitAssets',\n 'reportCompressedSize',\n 'chunkSizeWarningLimit',\n 'watch',\n ];\n const otherOptions = {};\n for (const key of Object.keys(extraArgs)) {\n if (buildSchemaKeys.includes(key)) {\n buildOptions[key] = extraArgs[key];\n } else {\n otherOptions[key] = extraArgs[key];\n }\n }\n\n buildOptions['watch'] = options.watch ?? undefined;\n\n return {\n buildOptions,\n otherOptions,\n };\n}\n\nexport default viteBuildExecutor;\n"],"names":["getBuildExtraArgs","viteBuildExecutor","options","context","resolved","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","build","resolveConfig","loadViteDynamicImport","projectRoot","projectsConfigurations","projects","projectName","root","tsConfigForBuild","createBuildableTsConfig","viteConfigPath","normalizeViteConfigFilePath","configFile","cwd","relative","joinPathFragments","buildOptions","otherOptions","defaultMode","mode","NODE_ENV","outDir","offsetFromRoot","outputPath","buildConfig","skipTypeCheck","validateTypes","workspaceRoot","tsconfig","isVueProject","Boolean","plugins","find","plugin","name","watcherOrOutput","libraryPackageJson","resolve","rootPackageJson","outDirRelativeToWorkspaceRoot","replaceAll","distPackageJson","generatePackageJson","builtPackageJson","projectGraph","nodes","type","logger","warn","stripIndents","createPackageJson","target","targetName","isProduction","includeDevDependenciesInPackageJson","skipOverrides","skipPackageManager","writeJsonFile","packageManager","detectPackageManager","lockFile","createLockFile","writeFileSync","getLockFileName","encoding","existsSync","copyAssets","assets","input","output","glob","iterable","createAsyncIterable","next","success","on","event","code","result","close","fileName","outfile","schema","extraArgs","key","Object","keys","properties","buildSchemaKeys","includes","watch","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -32,11 +32,13 @@ async function* viteDevServerExecutor(options, context) {
32
32
  const { buildOptions, otherOptions: otherOptionsFromBuild } = await (0, _buildimpl.getBuildExtraArgs)(buildTargetOptions);
33
33
  const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, buildTargetOptions.configFile);
34
34
  const { serverOptions, otherOptions } = await getServerExtraArgs(options, configuration, buildOptions, otherOptionsFromBuild);
35
- var _otherOptions_mode, _ref, _otherOptions_mode1, _ref1;
35
+ var _otherOptions_mode, _ref;
36
+ const defaultMode = (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : buildTargetOptions == null ? void 0 : buildTargetOptions['mode']) != null ? _ref : 'development';
37
+ var _process_env_NODE_ENV;
36
38
  const resolved = await resolveConfig({
37
39
  configFile: viteConfigPath,
38
- mode: (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : buildTargetOptions == null ? void 0 : buildTargetOptions['mode']) != null ? _ref : 'development'
39
- }, 'serve', (_ref1 = (_otherOptions_mode1 = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode1 : buildTargetOptions == null ? void 0 : buildTargetOptions['mode']) != null ? _ref1 : 'development');
40
+ mode: defaultMode
41
+ }, 'serve', defaultMode, (_process_env_NODE_ENV = process.env.NODE_ENV) != null ? _process_env_NODE_ENV : defaultMode);
40
42
  var _resolved_root;
41
43
  // vite InlineConfig
42
44
  const serverConfig = mergeConfig({
@@ -1 +1 @@
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 resolved = await resolveConfig(\n {\n configFile: viteConfigPath,\n mode: otherOptions?.mode ?? buildTargetOptions?.['mode'] ?? 'development',\n },\n 'serve',\n otherOptions?.mode ?? buildTargetOptions?.['mode'] ?? 'development'\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","resolved","mode","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
+ {"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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"}
@@ -37,13 +37,15 @@ async function* vitePreviewServerExecutor(options, context) {
37
37
  const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, buildTargetOptions.configFile);
38
38
  const { buildOptions, otherOptions: otherOptionsFromBuild } = await (0, _buildimpl.getBuildExtraArgs)(buildTargetOptions);
39
39
  const { previewOptions, otherOptions } = await getExtraArgs(options, configuration, otherOptionsFromBuild);
40
- var _otherOptions_mode, _ref, _otherOptions_mode1, _ref1;
40
+ var _otherOptions_mode, _ref;
41
+ const defaultMode = (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : otherOptionsFromBuild == null ? void 0 : otherOptionsFromBuild.mode) != null ? _ref : 'production';
42
+ var _process_env_NODE_ENV;
41
43
  const resolved = await resolveConfig({
42
44
  configFile: viteConfigPath,
43
- mode: (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : otherOptionsFromBuild == null ? void 0 : otherOptionsFromBuild.mode) != null ? _ref : 'production'
44
- }, 'build', (_ref1 = (_otherOptions_mode1 = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode1 : otherOptionsFromBuild == null ? void 0 : otherOptionsFromBuild.mode) != null ? _ref1 : 'production');
45
- var _options_staticFilePath, _ref2;
46
- const outDir = (_ref2 = (_options_staticFilePath = options.staticFilePath) != null ? _options_staticFilePath : (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectRoot), buildTargetOptions.outputPath)) != null ? _ref2 : resolved == null ? void 0 : (_resolved_build = resolved.build) == null ? void 0 : _resolved_build.outDir;
45
+ mode: defaultMode
46
+ }, 'build', defaultMode, (_process_env_NODE_ENV = process.env.NODE_ENV) != null ? _process_env_NODE_ENV : defaultMode);
47
+ var _options_staticFilePath, _ref1;
48
+ const outDir = (_ref1 = (_options_staticFilePath = options.staticFilePath) != null ? _options_staticFilePath : (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectRoot), buildTargetOptions.outputPath)) != null ? _ref1 : resolved == null ? void 0 : (_resolved_build = resolved.build) == null ? void 0 : _resolved_build.outDir;
47
49
  if (!outDir) {
48
50
  throw new Error(`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.`);
49
51
  }
@@ -1 +1 @@
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 resolved = await resolveConfig(\n {\n configFile: viteConfigPath,\n mode: otherOptions?.mode ?? otherOptionsFromBuild?.mode ?? 'production',\n },\n 'build',\n otherOptions?.mode ?? otherOptionsFromBuild?.mode ?? 'production'\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","mode","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
+ {"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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"}
@@ -6,7 +6,9 @@
6
6
  },
7
7
  "include": [
8
8
  "vite.config.ts",
9
+ "vite.config.mts",
9
10
  "vitest.config.ts",
11
+ "vitest.config.mts",
10
12
  "src/**/*.test.ts",
11
13
  "src/**/*.spec.ts",
12
14
  "src/**/*.test.tsx",
@@ -89,7 +89,7 @@ async function vitestGeneratorInternal(tree, schema, hasPlugin = false) {
89
89
  tasks.push(installCoverageProviderTask);
90
90
  // Setup workspace config file (https://vitest.dev/guide/workspace.html)
91
91
  if (!isRootProject && !tree.exists(`vitest.workspace.ts`) && !tree.exists(`vitest.workspace.js`) && !tree.exists(`vitest.workspace.json`) && !tree.exists(`vitest.projects.ts`) && !tree.exists(`vitest.projects.js`) && !tree.exists(`vitest.projects.json`)) {
92
- tree.write('vitest.workspace.ts', `export default ['**/*/vite.config.ts', '**/*/vitest.config.ts'];`);
92
+ tree.write('vitest.workspace.ts', `export default ['**/*/vite.config.{ts,mts}', '**/*/vitest.config.{ts,mts}'];`);
93
93
  }
94
94
  if (!schema.skipFormat) {
95
95
  await (0, _devkit.formatFiles)(tree);
@@ -165,7 +165,9 @@ function updateTsConfig(tree, options, projectRoot, projectType) {
165
165
  const uniqueExclude = new Set([
166
166
  ...json.exclude || [],
167
167
  'vite.config.ts',
168
+ 'vite.config.mts',
168
169
  'vitest.config.ts',
170
+ 'vitest.config.mts',
169
171
  'src/**/*.test.ts',
170
172
  'src/**/*.spec.ts',
171
173
  'src/**/*.test.tsx',
@@ -1 +1 @@
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 readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies, initGenerator as jsInitGenerator } from '@nx/js';\nimport { join } from 'path';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\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 } = readProjectConfiguration(tree, schema.project);\n const isRootProject = root === '.';\n\n tasks.push(await jsInitGenerator(tree, { ...schema, skipFormat: true }));\n const initTask = await initGenerator(tree, {\n skipFormat: true,\n addPlugin: schema.addPlugin,\n });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const hasPluginCheck = nxJson.plugins?.some(\n (p) =>\n (typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin') || hasPlugin\n );\n if (!hasPluginCheck) {\n const testTarget = schema.testTarget ?? 'test';\n addOrChangeTestTarget(tree, schema, testTarget);\n }\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: 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: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root, projectType);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\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.ts', '**/*/vitest.config.ts'];`\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 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 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 projectType === 'application' ? 'tsconfig.app.json' : '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 (options.inSourceTests) {\n if (tree.exists(runtimeTsconfigPath)) {\n updateJson(tree, runtimeTsconfigPath, (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n });\n }\n\n addTsLibDependencies(tree);\n } else {\n if (tree.exists(runtimeTsconfigPath)) {\n updateJson(tree, runtimeTsconfigPath, (json) => {\n const uniqueExclude = new Set([\n ...(json.exclude || []),\n 'vite.config.ts',\n 'vitest.config.ts',\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 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}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'v8':\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\n"],"names":["vitestGenerator","vitestGeneratorInternal","tree","schema","hasPlugin","addPlugin","nxJson","testEnvironment","tasks","root","projectType","readProjectConfiguration","project","isRootProject","push","jsInitGenerator","skipFormat","initTask","initGenerator","ensureDependencies","readNxJson","hasPluginCheck","plugins","some","p","plugin","testTarget","addOrChangeTestTarget","skipViteConfig","uiFramework","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","imports","compiler","coverageProvider","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","installCoverageProviderTask","addDependenciesToPackageJson","exists","write","formatFiles","runTasksInSerial","options","projectRoot","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","r","path","runtimeTsconfigPath","runtimeTsconfigFileName","Error","addTsLibDependencies","uniqueExclude","Set","exclude","logger","warn","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageV8Version","vitestCoverageIstanbulVersion"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
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 readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies, initGenerator as jsInitGenerator } from '@nx/js';\nimport { join } from 'path';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\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 } = readProjectConfiguration(tree, schema.project);\n const isRootProject = root === '.';\n\n tasks.push(await jsInitGenerator(tree, { ...schema, skipFormat: true }));\n const initTask = await initGenerator(tree, {\n skipFormat: true,\n addPlugin: schema.addPlugin,\n });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const hasPluginCheck = nxJson.plugins?.some(\n (p) =>\n (typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin') || hasPlugin\n );\n if (!hasPluginCheck) {\n const testTarget = schema.testTarget ?? 'test';\n addOrChangeTestTarget(tree, schema, testTarget);\n }\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: 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: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root, projectType);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\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.{ts,mts}', '**/*/vitest.config.{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 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 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 projectType === 'application' ? 'tsconfig.app.json' : '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 (options.inSourceTests) {\n if (tree.exists(runtimeTsconfigPath)) {\n updateJson(tree, runtimeTsconfigPath, (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n });\n }\n\n addTsLibDependencies(tree);\n } else {\n if (tree.exists(runtimeTsconfigPath)) {\n updateJson(tree, runtimeTsconfigPath, (json) => {\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 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}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'v8':\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\n"],"names":["vitestGenerator","vitestGeneratorInternal","tree","schema","hasPlugin","addPlugin","nxJson","testEnvironment","tasks","root","projectType","readProjectConfiguration","project","isRootProject","push","jsInitGenerator","skipFormat","initTask","initGenerator","ensureDependencies","readNxJson","hasPluginCheck","plugins","some","p","plugin","testTarget","addOrChangeTestTarget","skipViteConfig","uiFramework","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","imports","compiler","coverageProvider","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","installCoverageProviderTask","addDependenciesToPackageJson","exists","write","formatFiles","runTasksInSerial","options","projectRoot","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","r","path","runtimeTsconfigPath","runtimeTsconfigFileName","Error","addTsLibDependencies","uniqueExclude","Set","exclude","logger","warn","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageV8Version","vitestCoverageIstanbulVersion"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -7,6 +7,16 @@ Object.defineProperty(exports, "default", {
7
7
  });
8
8
  const _addvitetempfilestogitignore = require("../../utils/add-vite-temp-files-to-gitignore");
9
9
  function addViteTempFilesToGitIgnore(tree) {
10
+ // need to check if .gitignore exists before adding to it
11
+ // then need to check if it contains the following pattern
12
+ // **/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*
13
+ // if it does, remove just this pattern
14
+ if (tree.exists('.gitignore')) {
15
+ const gitIgnoreContents = tree.read('.gitignore', 'utf-8');
16
+ if (gitIgnoreContents.includes('**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*')) {
17
+ tree.write('.gitignore', gitIgnoreContents.replace('**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*', ''));
18
+ }
19
+ }
10
20
  (0, _addvitetempfilestogitignore.addViteTempFilesToGitIgnore)(tree);
11
21
  }
12
22
 
@@ -1 +1 @@
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/add-vite-temp-files-to-gitignore';\n\nexport default function addViteTempFilesToGitIgnore(tree: Tree) {\n _addViteTempFilesToGitIgnore(tree);\n}\n"],"names":["addViteTempFilesToGitIgnore","tree","_addViteTempFilesToGitIgnore"],"rangeMappings":";;;;;;;;;;","mappings":";+BAGA;;;eAAwBA;;;6CAFoD;AAE7D,SAASA,4BAA4BC,IAAU;IAC5DC,IAAAA,wDAA4B,EAACD;AAC/B"}
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/add-vite-temp-files-to-gitignore';\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;;;6CAFoD;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,wDAA4B,EAACP;AAC/B"}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "addViteTempFilesToGitIgnore", {
7
7
  });
8
8
  const _devkit = require("@nx/devkit");
9
9
  function addViteTempFilesToGitIgnore(tree) {
10
- let newGitIgnoreContents = `**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*`;
10
+ let newGitIgnoreContents = `vite.config.*.timestamp*`;
11
11
  if (tree.exists('.gitignore')) {
12
12
  const gitIgnoreContents = tree.read('.gitignore', 'utf-8');
13
13
  if (!gitIgnoreContents.includes(newGitIgnoreContents)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/vite/src/utils/add-vite-temp-files-to-gitignore.ts"],"sourcesContent":["import { stripIndents, Tree } from '@nx/devkit';\n\nexport function addViteTempFilesToGitIgnore(tree: Tree) {\n let newGitIgnoreContents = `**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*`;\n if (tree.exists('.gitignore')) {\n const gitIgnoreContents = tree.read('.gitignore', 'utf-8');\n if (!gitIgnoreContents.includes(newGitIgnoreContents)) {\n newGitIgnoreContents = stripIndents`${gitIgnoreContents}\n ${newGitIgnoreContents}`;\n\n tree.write('.gitignore', newGitIgnoreContents);\n }\n } else {\n tree.write('.gitignore', newGitIgnoreContents);\n }\n}\n"],"names":["addViteTempFilesToGitIgnore","tree","newGitIgnoreContents","exists","gitIgnoreContents","read","includes","stripIndents","write"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";+BAEgBA;;;eAAAA;;;wBAFmB;AAE5B,SAASA,4BAA4BC,IAAU;IACpD,IAAIC,uBAAuB,CAAC,iDAAiD,CAAC;IAC9E,IAAID,KAAKE,MAAM,CAAC,eAAe;QAC7B,MAAMC,oBAAoBH,KAAKI,IAAI,CAAC,cAAc;QAClD,IAAI,CAACD,kBAAkBE,QAAQ,CAACJ,uBAAuB;YACrDA,uBAAuBK,IAAAA,oBAAY,CAAA,CAAC,EAAEH,kBAAkB;QACtD,EAAEF,qBAAqB,CAAC;YAE1BD,KAAKO,KAAK,CAAC,cAAcN;QAC3B;IACF,OAAO;QACLD,KAAKO,KAAK,CAAC,cAAcN;IAC3B;AACF"}
1
+ {"version":3,"sources":["../../../../../packages/vite/src/utils/add-vite-temp-files-to-gitignore.ts"],"sourcesContent":["import { stripIndents, Tree } from '@nx/devkit';\n\nexport function addViteTempFilesToGitIgnore(tree: Tree) {\n let newGitIgnoreContents = `vite.config.*.timestamp*`;\n if (tree.exists('.gitignore')) {\n const gitIgnoreContents = tree.read('.gitignore', 'utf-8');\n if (!gitIgnoreContents.includes(newGitIgnoreContents)) {\n newGitIgnoreContents = stripIndents`${gitIgnoreContents}\n ${newGitIgnoreContents}`;\n\n tree.write('.gitignore', newGitIgnoreContents);\n }\n } else {\n tree.write('.gitignore', newGitIgnoreContents);\n }\n}\n"],"names":["addViteTempFilesToGitIgnore","tree","newGitIgnoreContents","exists","gitIgnoreContents","read","includes","stripIndents","write"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";+BAEgBA;;;eAAAA;;;wBAFmB;AAE5B,SAASA,4BAA4BC,IAAU;IACpD,IAAIC,uBAAuB,CAAC,wBAAwB,CAAC;IACrD,IAAID,KAAKE,MAAM,CAAC,eAAe;QAC7B,MAAMC,oBAAoBH,KAAKI,IAAI,CAAC,cAAc;QAClD,IAAI,CAACD,kBAAkBE,QAAQ,CAACJ,uBAAuB;YACrDA,uBAAuBK,IAAAA,oBAAY,CAAA,CAAC,EAAEH,kBAAkB;QACtD,EAAEF,qBAAqB,CAAC;YAE1BD,KAAKO,KAAK,CAAC,cAAcN;QAC3B;IACF,OAAO;QACLD,KAAKO,KAAK,CAAC,cAAcN;IAC3B;AACF"}