@nx/vite 17.2.6 → 17.3.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/README.md CHANGED
@@ -1,4 +1,9 @@
1
- <p style="text-align: center;"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx.png" width="600" alt="Nx - Smart, Fast and Extensible Build System"></p>
1
+ <p style="text-align: center;">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
4
+ <img alt="Nx - Smart Monorepos · Fast CI" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
5
+ </picture>
6
+ </p>
2
7
 
3
8
  <div style="text-align: center;">
4
9
 
@@ -15,9 +20,9 @@
15
20
 
16
21
  <hr>
17
22
 
18
- # Nx: Smart, Fast and Extensible Build System
23
+ # Nx: Smart Monorepos · Fast CI
19
24
 
20
- Nx is a next generation build system with first class monorepo support and powerful integrations.
25
+ Nx is a build system with built-in tooling and advanced CI capabilities. It helps you maintain and scale monorepos, both locally and on CI.
21
26
 
22
27
  This package is a [Vite plugin for Nx](https://nx.dev/packages/vite).
23
28
 
@@ -59,5 +64,5 @@ npx nx@latest init
59
64
  - [Blog Posts About Nx](https://blog.nrwl.io/nx/home)
60
65
 
61
66
  <p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg"
62
- width="100%" alt="Nx - Smart, Fast and Extensible Build System"></a></p>
67
+ width="100%" alt="Nx - Smart Monorepos · Fast CI"></a></p>
63
68
 
package/migrations.json CHANGED
@@ -45,9 +45,35 @@
45
45
  "version": "17.2.0-beta.10",
46
46
  "description": "Update vite config.",
47
47
  "implementation": "./src/migrations/update-17-2-0/update-vite-config"
48
+ },
49
+ "vitest-coverage-and-reporters": {
50
+ "version": "17.3.0-beta.0",
51
+ "description": "Move the vitest coverage thresholds in their own object if exists and add reporters.",
52
+ "implementation": "./src/migrations/update-17-3-0/vitest-coverage-and-reporters"
48
53
  }
49
54
  },
50
55
  "packageJsonUpdates": {
56
+ "17.3.0": {
57
+ "version": "17.3.0-beta.0",
58
+ "packages": {
59
+ "vitest": {
60
+ "version": "^1.0.4",
61
+ "alwaysAddToPackageJson": false
62
+ },
63
+ "@vitest/coverage-v8": {
64
+ "version": "^1.0.4",
65
+ "alwaysAddToPackageJson": false
66
+ },
67
+ "@vitest/ui": {
68
+ "version": "^1.0.4",
69
+ "alwaysAddToPackageJson": false
70
+ },
71
+ "@vitest/coverage-istanbul": {
72
+ "version": "^1.0.4",
73
+ "alwaysAddToPackageJson": false
74
+ }
75
+ }
76
+ },
51
77
  "17.2.0": {
52
78
  "version": "17.2.0-beta.2",
53
79
  "packages": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/vite",
3
- "version": "17.2.6",
3
+ "version": "17.3.0-beta.1",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for building and testing applications using Vite",
6
6
  "repository": {
@@ -29,17 +29,17 @@
29
29
  "migrations": "./migrations.json"
30
30
  },
31
31
  "dependencies": {
32
- "@nx/devkit": "17.2.6",
32
+ "@nx/devkit": "17.3.0-beta.1",
33
33
  "@phenomnomnominal/tsquery": "~5.0.1",
34
34
  "@swc/helpers": "~0.5.0",
35
35
  "enquirer": "~2.3.6",
36
- "@nx/js": "17.2.6",
36
+ "@nx/js": "17.3.0-beta.1",
37
37
  "tsconfig-paths": "^4.1.2",
38
- "@nrwl/vite": "17.2.6"
38
+ "@nrwl/vite": "17.3.0-beta.1"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "vite": "^5.0.0",
42
- "vitest": ">=0.34.6"
42
+ "vitest": "^1.0.0"
43
43
  },
44
44
  "publishConfig": {
45
45
  "access": "public"
@@ -18,6 +18,7 @@ const _devkit = require("@nx/devkit");
18
18
  const _optionsutils = require("../../utils/options-utils");
19
19
  const _executorutils = require("../../utils/executor-utils");
20
20
  const _path = require("path");
21
+ const _buildimpl = require("../build/build.impl");
21
22
  async function* viteDevServerExecutor(options, context) {
22
23
  process.env.VITE_CJS_IGNORE_WARNING = 'true';
23
24
  // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.
@@ -27,11 +28,13 @@ async function* viteDevServerExecutor(options, context) {
27
28
  (0, _executorutils.createBuildableTsConfig)(projectRoot, options, context);
28
29
  // Retrieve the option for the configured buildTarget.
29
30
  const buildTargetOptions = (0, _optionsutils.getNxTargetOptions)(options.buildTarget, context);
31
+ const { configuration } = (0, _devkit.parseTargetString)(options.buildTarget, context);
32
+ const { buildOptions, otherOptions: otherOptionsFromBuild } = await (0, _buildimpl.getBuildExtraArgs)(buildTargetOptions);
30
33
  const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, buildTargetOptions.configFile);
31
- const { serverOptions, otherOptions } = await getServerExtraArgs(options);
32
- var _otherOptions_mode;
34
+ const { serverOptions, otherOptions } = await getServerExtraArgs(options, configuration, buildOptions, otherOptionsFromBuild);
35
+ var _otherOptions_mode, _ref;
33
36
  const resolved = await loadConfigFromFile({
34
- mode: (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : 'development',
37
+ mode: (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : buildTargetOptions == null ? void 0 : buildTargetOptions['mode']) != null ? _ref : 'development',
35
38
  command: 'serve'
36
39
  }, viteConfigPath);
37
40
  var _resolved_config_root;
@@ -81,7 +84,7 @@ async function runViteDevServer(server) {
81
84
  process.once('exit', processOnExit);
82
85
  }
83
86
  const _default = viteDevServerExecutor;
84
- async function getServerExtraArgs(options) {
87
+ async function getServerExtraArgs(options, configuration, buildOptionsFromBuildTarget, otherOptionsFromBuildTarget) {
85
88
  // support passing extra args to vite cli
86
89
  const schema = await Promise.resolve().then(()=>require("./schema.json"));
87
90
  const extraArgs = {};
@@ -90,7 +93,7 @@ async function getServerExtraArgs(options) {
90
93
  extraArgs[key] = options[key];
91
94
  }
92
95
  }
93
- const serverOptions = {};
96
+ let serverOptions = {};
94
97
  const serverSchemaKeys = [
95
98
  'hmr',
96
99
  'warmup',
@@ -109,7 +112,7 @@ async function getServerExtraArgs(options) {
109
112
  'cors',
110
113
  'headers'
111
114
  ];
112
- const otherOptions = {};
115
+ let otherOptions = {};
113
116
  for (const key of Object.keys(extraArgs)){
114
117
  if (serverSchemaKeys.includes(key)) {
115
118
  serverOptions[key] = extraArgs[key];
@@ -117,6 +120,13 @@ async function getServerExtraArgs(options) {
117
120
  otherOptions[key] = extraArgs[key];
118
121
  }
119
122
  }
123
+ if (configuration) {
124
+ var _buildOptionsFromBuildTarget_watch;
125
+ serverOptions = _extends._({}, serverOptions, {
126
+ watch: (_buildOptionsFromBuildTarget_watch = buildOptionsFromBuildTarget == null ? void 0 : buildOptionsFromBuildTarget.watch) != null ? _buildOptionsFromBuildTarget_watch : serverOptions == null ? void 0 : serverOptions.watch
127
+ });
128
+ otherOptions = _extends._({}, otherOptions, otherOptionsFromBuildTarget != null ? otherOptionsFromBuildTarget : {});
129
+ }
120
130
  return {
121
131
  serverOptions,
122
132
  otherOptions
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/dev-server.impl.ts"],"sourcesContent":["import { ExecutorContext, joinPathFragments } 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 { createBuildableTsConfig } from '../../utils/executor-utils';\nimport { relative } from 'path';\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, loadConfigFromFile } = await (Function(\n 'return import(\"vite\")'\n )() as Promise<typeof import('vite')>);\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 const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n buildTargetOptions.configFile\n );\n const { serverOptions, otherOptions } = await getServerExtraArgs(options);\n const resolved = await loadConfigFromFile(\n {\n mode: otherOptions?.mode ?? 'development',\n command: 'serve',\n },\n viteConfigPath\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.config.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// 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): 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 const serverOptions = {};\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 const 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 return {\n serverOptions,\n otherOptions,\n };\n}\n"],"names":["viteDevServerExecutor","options","context","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","createServer","loadConfigFromFile","Function","projectRoot","projectsConfigurations","projects","projectName","root","cwd","relative","joinPathFragments","createBuildableTsConfig","buildTargetOptions","getNxTargetOptions","buildTarget","viteConfigPath","normalizeViteConfigFilePath","configFile","serverOptions","otherOptions","getServerExtraArgs","resolved","mode","command","serverConfig","config","server","getViteServerOptions","runViteDevServer","resolvedUrls","local","network","success","baseUrl","e","console","error","Promise","resolve","once","listen","printUrls","processOnExit","close","schema","extraArgs","key","Object","keys","properties","serverSchemaKeys","includes"],"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 { createBuildableTsConfig } 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, loadConfigFromFile } = await (Function(\n 'return import(\"vite\")'\n )() as Promise<typeof import('vite')>);\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 loadConfigFromFile(\n {\n mode: otherOptions?.mode ?? buildTargetOptions?.['mode'] ?? 'development',\n command: 'serve',\n },\n viteConfigPath\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.config.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// 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","loadConfigFromFile","Function","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","command","serverConfig","config","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"],"mappings":"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"}
@@ -32,16 +32,17 @@ async function* vitePreviewServerExecutor(options, context) {
32
32
  const isCustomBuildTarget = targetConfiguration.executor !== '@nx/vite:build' && targetConfiguration.executor !== '@nrwl/vite:build';
33
33
  // Retrieve the option for the configured buildTarget.
34
34
  const buildTargetOptions = (0, _optionsutils.getNxTargetOptions)(options.buildTarget, context);
35
+ const { configuration } = (0, _devkit.parseTargetString)(options.buildTarget, context);
35
36
  const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, buildTargetOptions.configFile);
36
37
  const { buildOptions, otherOptions: otherOptionsFromBuild } = await (0, _buildimpl.getBuildExtraArgs)(buildTargetOptions);
37
- const { previewOptions, otherOptions } = await getExtraArgs(options);
38
- var _otherOptions_mode;
38
+ const { previewOptions, otherOptions } = await getExtraArgs(options, configuration, otherOptionsFromBuild);
39
+ var _otherOptions_mode, _ref;
39
40
  const resolved = await loadConfigFromFile({
40
- mode: (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : 'production',
41
+ mode: (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : otherOptionsFromBuild == null ? void 0 : otherOptionsFromBuild.mode) != null ? _ref : 'production',
41
42
  command: 'build'
42
43
  }, viteConfigPath);
43
- var _options_staticFilePath, _ref;
44
- const outDir = (_ref = (_options_staticFilePath = options.staticFilePath) != null ? _options_staticFilePath : (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectRoot), buildTargetOptions.outputPath)) != null ? _ref : resolved == null ? void 0 : (_resolved_config = resolved.config) == null ? void 0 : (_resolved_config_build = _resolved_config.build) == null ? void 0 : _resolved_config_build.outDir;
44
+ var _options_staticFilePath, _ref1;
45
+ 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_config = resolved.config) == null ? void 0 : (_resolved_config_build = _resolved_config.build) == null ? void 0 : _resolved_config_build.outDir;
45
46
  if (!outDir) {
46
47
  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.`);
47
48
  }
@@ -134,7 +135,7 @@ function closeServer(server) {
134
135
  });
135
136
  }
136
137
  const _default = vitePreviewServerExecutor;
137
- async function getExtraArgs(options) {
138
+ async function getExtraArgs(options, configuration, otherOptionsFromBuildTarget) {
138
139
  // support passing extra args to vite cli
139
140
  const schema = await Promise.resolve().then(()=>require("./schema.json"));
140
141
  const extraArgs = {};
@@ -154,7 +155,7 @@ async function getExtraArgs(options) {
154
155
  'cors',
155
156
  'headers'
156
157
  ];
157
- const otherOptions = {};
158
+ let otherOptions = {};
158
159
  for (const key of Object.keys(extraArgs)){
159
160
  if (previewSchemaKeys.includes(key)) {
160
161
  previewOptions[key] = extraArgs[key];
@@ -162,6 +163,9 @@ async function getExtraArgs(options) {
162
163
  otherOptions[key] = extraArgs[key];
163
164
  }
164
165
  }
166
+ if (configuration) {
167
+ otherOptions = _extends._({}, otherOptions, otherOptionsFromBuildTarget != null ? otherOptionsFromBuildTarget : {});
168
+ }
165
169
  return {
166
170
  previewOptions,
167
171
  otherOptions
@@ -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';\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, loadConfigFromFile } = await (Function(\n 'return import(\"vite\")'\n )() as Promise<typeof import('vite')>);\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 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(options);\n const resolved = await loadConfigFromFile(\n {\n mode: otherOptions?.mode ?? 'production',\n command: 'build',\n },\n viteConfigPath\n );\n\n const outDir =\n options.staticFilePath ??\n joinPathFragments(\n offsetFromRoot(projectRoot),\n buildTargetOptions.outputPath\n ) ??\n resolved?.config?.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.config.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): 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 const 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 return {\n previewOptions,\n otherOptions,\n };\n}\n"],"names":["vitePreviewServerExecutor","options","context","resolved","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","preview","loadConfigFromFile","Function","projectRoot","projectsConfigurations","projects","projectName","root","target","parseTargetString","buildTarget","targetConfiguration","project","targets","Error","isCustomBuildTarget","executor","buildTargetOptions","getNxTargetOptions","viteConfigPath","normalizeViteConfigFilePath","configFile","buildOptions","otherOptions","otherOptionsFromBuild","getBuildExtraArgs","previewOptions","getExtraArgs","mode","command","outDir","staticFilePath","joinPathFragments","offsetFromRoot","outputPath","config","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","schema","extraArgs","key","Object","keys","properties","previewSchemaKeys","includes"],"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';\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, loadConfigFromFile } = await (Function(\n 'return import(\"vite\")'\n )() as Promise<typeof import('vite')>);\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 loadConfigFromFile(\n {\n mode: otherOptions?.mode ?? otherOptionsFromBuild?.mode ?? 'production',\n command: 'build',\n },\n viteConfigPath\n );\n\n const outDir =\n options.staticFilePath ??\n joinPathFragments(\n offsetFromRoot(projectRoot),\n buildTargetOptions.outputPath\n ) ??\n resolved?.config?.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.config.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","loadConfigFromFile","Function","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","command","outDir","staticFilePath","joinPathFragments","offsetFromRoot","outputPath","config","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"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import ts = require('typescript');
2
+ export declare function fixCoverageAndRerporters(configContents: string): string | undefined;
3
+ export declare function getConfigNode(configFileContents: string): ts.Node | undefined;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ function _export(target, all) {
3
+ for(var name in all)Object.defineProperty(target, name, {
4
+ enumerable: true,
5
+ get: all[name]
6
+ });
7
+ }
8
+ _export(exports, {
9
+ fixCoverageAndRerporters: function() {
10
+ return fixCoverageAndRerporters;
11
+ },
12
+ getConfigNode: function() {
13
+ return getConfigNode;
14
+ }
15
+ });
16
+ const _devkit = require("@nx/devkit");
17
+ const _tsquery = require("@phenomnomnominal/tsquery");
18
+ const ts = require("typescript");
19
+ function fixCoverageAndRerporters(configContents) {
20
+ var _tsquery_query, _tsquery_query1;
21
+ const configNode = getConfigNode(configContents);
22
+ if (!configNode) {
23
+ return;
24
+ }
25
+ const testHasCoverage = (_tsquery_query = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="test"]):has(PropertyAssignment:has(Identifier[name="coverage"]))`)) == null ? void 0 : _tsquery_query[0];
26
+ let changes = [];
27
+ if (testHasCoverage) {
28
+ var _tsquery_query2, _tsquery_query3, _tsquery_query4, _tsquery_query5, _tsquery_query6;
29
+ const testObjectLiteralExpressionNode = (_tsquery_query2 = _tsquery.tsquery.query(testHasCoverage, `ObjectLiteralExpression:has(Identifier[name="coverage"])`)) == null ? void 0 : _tsquery_query2[0];
30
+ const coverageNode = findCoverageNode(testObjectLiteralExpressionNode);
31
+ if (!coverageNode) {
32
+ return;
33
+ }
34
+ const linesNode = (_tsquery_query3 = _tsquery.tsquery.query(coverageNode, `PropertyAssignment:has(Identifier[name="lines"])`)) == null ? void 0 : _tsquery_query3[0];
35
+ const statementsNode = (_tsquery_query4 = _tsquery.tsquery.query(coverageNode, `PropertyAssignment:has(Identifier[name="statements"])`)) == null ? void 0 : _tsquery_query4[0];
36
+ const functionsNode = (_tsquery_query5 = _tsquery.tsquery.query(coverageNode, `PropertyAssignment:has(Identifier[name="functions"])`)) == null ? void 0 : _tsquery_query5[0];
37
+ const branchesNode = (_tsquery_query6 = _tsquery.tsquery.query(coverageNode, `PropertyAssignment:has(Identifier[name="branches"])`)) == null ? void 0 : _tsquery_query6[0];
38
+ if (linesNode) {
39
+ changes.push({
40
+ type: _devkit.ChangeType.Delete,
41
+ start: linesNode.getStart(),
42
+ length: linesNode.getWidth() + 1
43
+ });
44
+ }
45
+ if (statementsNode) {
46
+ changes.push({
47
+ type: _devkit.ChangeType.Delete,
48
+ start: statementsNode.getStart(),
49
+ length: statementsNode.getWidth() + 1
50
+ });
51
+ }
52
+ if (functionsNode) {
53
+ changes.push({
54
+ type: _devkit.ChangeType.Delete,
55
+ start: functionsNode.getStart(),
56
+ length: functionsNode.getWidth() + 1
57
+ });
58
+ }
59
+ if (branchesNode) {
60
+ changes.push({
61
+ type: _devkit.ChangeType.Delete,
62
+ start: branchesNode.getStart(),
63
+ length: branchesNode.getWidth() + 1
64
+ });
65
+ }
66
+ if (branchesNode || functionsNode || statementsNode || linesNode) {
67
+ changes.push({
68
+ type: _devkit.ChangeType.Insert,
69
+ index: coverageNode.getStart() + 1,
70
+ text: `thresholds: {
71
+ ${linesNode ? linesNode.getText() + ',' : ''}
72
+ ${statementsNode ? statementsNode.getText() + ',' : ''}
73
+ ${functionsNode ? functionsNode.getText() + ',' : ''}
74
+ ${branchesNode ? branchesNode.getText() + ',' : ''}
75
+ },`
76
+ });
77
+ }
78
+ }
79
+ const testHasReporters = (_tsquery_query1 = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="test"]):has(PropertyAssignment:has(Identifier[name="reporters"]))`)) == null ? void 0 : _tsquery_query1[0];
80
+ if (!testHasReporters) {
81
+ var _tsquery_query7;
82
+ const testObject = (_tsquery_query7 = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="test"])`)) == null ? void 0 : _tsquery_query7[0];
83
+ changes.push({
84
+ type: _devkit.ChangeType.Insert,
85
+ index: testObject.getStart() + `test: {`.length + 1,
86
+ text: `reporters: ['default'],`
87
+ });
88
+ }
89
+ if (changes.length > 0) {
90
+ return (0, _devkit.applyChangesToString)(configContents, changes);
91
+ } else {
92
+ return;
93
+ }
94
+ }
95
+ function getConfigNode(configFileContents) {
96
+ var _tsquery_query, _tsquery_query1;
97
+ if (!configFileContents) {
98
+ return;
99
+ }
100
+ let configNode = (_tsquery_query = _tsquery.tsquery.query(configFileContents, `ObjectLiteralExpression`)) == null ? void 0 : _tsquery_query[0];
101
+ const arrowFunctionReturnStatement = (_tsquery_query1 = _tsquery.tsquery.query(configFileContents, `ArrowFunction Block ReturnStatement ObjectLiteralExpression`)) == null ? void 0 : _tsquery_query1[0];
102
+ if (arrowFunctionReturnStatement) {
103
+ configNode = arrowFunctionReturnStatement;
104
+ }
105
+ return configNode;
106
+ }
107
+ function findCoverageNode(testNode) {
108
+ let coverageNode;
109
+ testNode.forEachChild((child)=>{
110
+ if (ts.isPropertyAssignment(child) && child.name.getText() === 'coverage') {
111
+ coverageNode = child.initializer;
112
+ }
113
+ });
114
+ return coverageNode;
115
+ }
116
+
117
+ //# sourceMappingURL=fix-coverage-and-reporters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.ts"],"sourcesContent":["import { ChangeType, applyChangesToString } from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\n\nexport function fixCoverageAndRerporters(\n configContents: string\n): string | undefined {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n return;\n }\n\n const testHasCoverage = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"test\"]):has(PropertyAssignment:has(Identifier[name=\"coverage\"]))`\n )?.[0];\n let changes = [];\n\n if (testHasCoverage) {\n const testObjectLiteralExpressionNode = tsquery.query(\n testHasCoverage,\n `ObjectLiteralExpression:has(Identifier[name=\"coverage\"])`\n )?.[0];\n const coverageNode = findCoverageNode(testObjectLiteralExpressionNode);\n\n if (!coverageNode) {\n return;\n }\n\n const linesNode = tsquery.query(\n coverageNode,\n `PropertyAssignment:has(Identifier[name=\"lines\"])`\n )?.[0];\n\n const statementsNode = tsquery.query(\n coverageNode,\n `PropertyAssignment:has(Identifier[name=\"statements\"])`\n )?.[0];\n\n const functionsNode = tsquery.query(\n coverageNode,\n `PropertyAssignment:has(Identifier[name=\"functions\"])`\n )?.[0];\n\n const branchesNode = tsquery.query(\n coverageNode,\n `PropertyAssignment:has(Identifier[name=\"branches\"])`\n )?.[0];\n\n if (linesNode) {\n changes.push({\n type: ChangeType.Delete,\n start: linesNode.getStart(),\n length: linesNode.getWidth() + 1,\n });\n }\n if (statementsNode) {\n changes.push({\n type: ChangeType.Delete,\n start: statementsNode.getStart(),\n length: statementsNode.getWidth() + 1,\n });\n }\n\n if (functionsNode) {\n changes.push({\n type: ChangeType.Delete,\n start: functionsNode.getStart(),\n length: functionsNode.getWidth() + 1,\n });\n }\n\n if (branchesNode) {\n changes.push({\n type: ChangeType.Delete,\n start: branchesNode.getStart(),\n length: branchesNode.getWidth() + 1,\n });\n }\n\n if (branchesNode || functionsNode || statementsNode || linesNode) {\n changes.push({\n type: ChangeType.Insert,\n index: coverageNode.getStart() + 1,\n text: `thresholds: {\n ${linesNode ? linesNode.getText() + ',' : ''}\n ${statementsNode ? statementsNode.getText() + ',' : ''}\n ${functionsNode ? functionsNode.getText() + ',' : ''}\n ${branchesNode ? branchesNode.getText() + ',' : ''}\n },`,\n });\n }\n }\n\n const testHasReporters = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"test\"]):has(PropertyAssignment:has(Identifier[name=\"reporters\"]))`\n )?.[0];\n\n if (!testHasReporters) {\n const testObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"test\"])`\n )?.[0];\n changes.push({\n type: ChangeType.Insert,\n index: testObject.getStart() + `test: {`.length + 1,\n text: `reporters: ['default'],`,\n });\n }\n\n if (changes.length > 0) {\n return applyChangesToString(configContents, changes);\n } else {\n return;\n }\n}\n\nexport function getConfigNode(configFileContents: string): ts.Node | undefined {\n if (!configFileContents) {\n return;\n }\n let configNode = tsquery.query(\n configFileContents,\n `ObjectLiteralExpression`\n )?.[0];\n\n const arrowFunctionReturnStatement = tsquery.query(\n configFileContents,\n `ArrowFunction Block ReturnStatement ObjectLiteralExpression`\n )?.[0];\n\n if (arrowFunctionReturnStatement) {\n configNode = arrowFunctionReturnStatement;\n }\n\n return configNode;\n}\n\nfunction findCoverageNode(testNode: ts.Node) {\n let coverageNode: ts.Node | undefined;\n testNode.forEachChild((child) => {\n if (ts.isPropertyAssignment(child) && child.name.getText() === 'coverage') {\n coverageNode = child.initializer;\n }\n });\n return coverageNode;\n}\n"],"names":["fixCoverageAndRerporters","getConfigNode","ts","configContents","tsquery","configNode","testHasCoverage","query","changes","testObjectLiteralExpressionNode","coverageNode","findCoverageNode","linesNode","statementsNode","functionsNode","branchesNode","push","type","ChangeType","Delete","start","getStart","length","getWidth","Insert","index","text","getText","testHasReporters","testObject","applyChangesToString","configFileContents","arrowFunctionReturnStatement","testNode","forEachChild","child","isPropertyAssignment","name","initializer"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export default function fixCoverageThreshold(tree: Tree): Promise<void>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "default", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return fixCoverageThreshold;
6
+ }
7
+ });
8
+ const _devkit = require("@nx/devkit");
9
+ const _executoroptionsutils = require("@nx/devkit/src/generators/executor-options-utils");
10
+ const _fixcoverageandreporters = require("./lib/fix-coverage-and-reporters");
11
+ async function fixCoverageThreshold(tree) {
12
+ const projects = (0, _devkit.getProjects)(tree);
13
+ (0, _executoroptionsutils.forEachExecutorOptions)(tree, '@nx/vite:test', (_options, projectName)=>{
14
+ const projectConfig = projects.get(projectName);
15
+ const configPath = findViteConfig(tree, projectConfig.root);
16
+ if (!configPath || !tree.exists(configPath)) {
17
+ return;
18
+ }
19
+ const configContents = tree.read(configPath, 'utf-8');
20
+ const updatedConfigContents = (0, _fixcoverageandreporters.fixCoverageAndRerporters)(configContents);
21
+ if (updatedConfigContents) {
22
+ tree.write(configPath, updatedConfigContents);
23
+ }
24
+ });
25
+ await (0, _devkit.formatFiles)(tree);
26
+ }
27
+ function findViteConfig(tree, searchRoot) {
28
+ const allowsExt = [
29
+ 'js',
30
+ 'mjs',
31
+ 'ts',
32
+ 'cjs',
33
+ 'mts',
34
+ 'cts'
35
+ ];
36
+ for (const ext of allowsExt){
37
+ if (tree.exists((0, _devkit.joinPathFragments)(searchRoot, `vite.config.${ext}`))) {
38
+ return (0, _devkit.joinPathFragments)(searchRoot, `vite.config.${ext}`);
39
+ } else if (tree.exists((0, _devkit.joinPathFragments)(searchRoot, `vitest.config.${ext}`))) {
40
+ return (0, _devkit.joinPathFragments)(searchRoot, `vitest.config.${ext}`);
41
+ }
42
+ }
43
+ }
44
+
45
+ //# sourceMappingURL=vitest-coverage-and-reporters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-17-3-0/vitest-coverage-and-reporters.ts"],"sourcesContent":["import {\n ProjectConfiguration,\n Tree,\n formatFiles,\n getProjects,\n joinPathFragments,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { fixCoverageAndRerporters } from './lib/fix-coverage-and-reporters';\n\nexport default async function fixCoverageThreshold(tree: Tree) {\n const projects = getProjects(tree);\n forEachExecutorOptions(tree, '@nx/vite:test', (_options, projectName) => {\n const projectConfig: ProjectConfiguration = projects.get(\n projectName\n ) as ProjectConfiguration;\n const configPath = findViteConfig(tree, projectConfig.root);\n if (!configPath || !tree.exists(configPath)) {\n return;\n }\n const configContents = tree.read(configPath, 'utf-8') as string;\n const updatedConfigContents = fixCoverageAndRerporters(configContents);\n if (updatedConfigContents) {\n tree.write(configPath, updatedConfigContents);\n }\n });\n\n await formatFiles(tree);\n}\n\nfunction findViteConfig(tree: Tree, searchRoot: string) {\n const allowsExt = ['js', 'mjs', 'ts', 'cjs', 'mts', 'cts'];\n\n for (const ext of allowsExt) {\n if (tree.exists(joinPathFragments(searchRoot, `vite.config.${ext}`))) {\n return joinPathFragments(searchRoot, `vite.config.${ext}`);\n } else if (\n tree.exists(joinPathFragments(searchRoot, `vitest.config.${ext}`))\n ) {\n return joinPathFragments(searchRoot, `vitest.config.${ext}`);\n }\n }\n}\n"],"names":["fixCoverageThreshold","tree","projects","getProjects","forEachExecutorOptions","_options","projectName","projectConfig","get","configPath","findViteConfig","root","exists","configContents","read","updatedConfigContents","fixCoverageAndRerporters","write","formatFiles","searchRoot","allowsExt","ext","joinPathFragments"],"mappings":";+BAUA;;;eAA8BA;;;wBAJvB;sCACgC;yCACE;AAE1B,eAAeA,qBAAqBC,IAAU;IAC3D,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAC7BG,IAAAA,4CAAsB,EAACH,MAAM,iBAAiB,CAACI,UAAUC;QACvD,MAAMC,gBAAsCL,SAASM,GAAG,CACtDF;QAEF,MAAMG,aAAaC,eAAeT,MAAMM,cAAcI,IAAI;QAC1D,IAAI,CAACF,cAAc,CAACR,KAAKW,MAAM,CAACH,aAAa;YAC3C;QACF;QACA,MAAMI,iBAAiBZ,KAAKa,IAAI,CAACL,YAAY;QAC7C,MAAMM,wBAAwBC,IAAAA,iDAAwB,EAACH;QACvD,IAAIE,uBAAuB;YACzBd,KAAKgB,KAAK,CAACR,YAAYM;QACzB;IACF;IAEA,MAAMG,IAAAA,mBAAW,EAACjB;AACpB;AAEA,SAASS,eAAeT,IAAU,EAAEkB,UAAkB;IACpD,MAAMC,YAAY;QAAC;QAAM;QAAO;QAAM;QAAO;QAAO;KAAM;IAE1D,KAAK,MAAMC,OAAOD,UAAW;QAC3B,IAAInB,KAAKW,MAAM,CAACU,IAAAA,yBAAiB,EAACH,YAAY,CAAC,YAAY,EAAEE,IAAI,CAAC,IAAI;YACpE,OAAOC,IAAAA,yBAAiB,EAACH,YAAY,CAAC,YAAY,EAAEE,IAAI,CAAC;QAC3D,OAAO,IACLpB,KAAKW,MAAM,CAACU,IAAAA,yBAAiB,EAACH,YAAY,CAAC,cAAc,EAAEE,IAAI,CAAC,IAChE;YACA,OAAOC,IAAAA,yBAAiB,EAACH,YAAY,CAAC,cAAc,EAAEE,IAAI,CAAC;QAC7D;IACF;AACF"}
@@ -1,11 +1,11 @@
1
1
  export declare const nxVersion: any;
2
2
  export declare const viteVersion = "^5.0.0";
3
- export declare const vitestVersion = "~0.34.6";
3
+ export declare const vitestVersion = "^1.0.4";
4
4
  export declare const vitePluginReactVersion = "^4.2.0";
5
5
  export declare const vitePluginReactSwcVersion = "^3.5.0";
6
6
  export declare const jsdomVersion = "~22.1.0";
7
7
  export declare const vitePluginDtsVersion = "~2.3.0";
8
8
  export declare const happyDomVersion = "~9.20.3";
9
9
  export declare const edgeRuntimeVmVersion = "~3.0.2";
10
- export declare const vitestCoverageV8Version = "~0.34.6";
11
- export declare const vitestCoverageIstanbulVersion = "~0.34.6";
10
+ export declare const vitestCoverageV8Version = "^1.0.4";
11
+ export declare const vitestCoverageIstanbulVersion = "^1.0.4";
@@ -42,14 +42,14 @@ _export(exports, {
42
42
  });
43
43
  const nxVersion = require('../../package.json').version;
44
44
  const viteVersion = '^5.0.0';
45
- const vitestVersion = '~0.34.6';
45
+ const vitestVersion = '^1.0.4';
46
46
  const vitePluginReactVersion = '^4.2.0';
47
47
  const vitePluginReactSwcVersion = '^3.5.0';
48
48
  const jsdomVersion = '~22.1.0';
49
49
  const vitePluginDtsVersion = '~2.3.0';
50
50
  const happyDomVersion = '~9.20.3';
51
51
  const edgeRuntimeVmVersion = '~3.0.2';
52
- const vitestCoverageV8Version = '~0.34.6';
53
- const vitestCoverageIstanbulVersion = '~0.34.6';
52
+ const vitestCoverageV8Version = '^1.0.4';
53
+ const vitestCoverageIstanbulVersion = '^1.0.4';
54
54
 
55
55
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/vite/src/utils/versions.ts"],"sourcesContent":["export const nxVersion = require('../../package.json').version;\nexport const viteVersion = '^5.0.0';\nexport const vitestVersion = '~0.34.6';\nexport const vitePluginReactVersion = '^4.2.0';\nexport const vitePluginReactSwcVersion = '^3.5.0';\nexport const jsdomVersion = '~22.1.0';\nexport const vitePluginDtsVersion = '~2.3.0';\nexport const happyDomVersion = '~9.20.3';\nexport const edgeRuntimeVmVersion = '~3.0.2';\n\n// Coverage providers\nexport const vitestCoverageV8Version = '~0.34.6';\nexport const vitestCoverageIstanbulVersion = '~0.34.6';\n"],"names":["nxVersion","viteVersion","vitestVersion","vitePluginReactVersion","vitePluginReactSwcVersion","jsdomVersion","vitePluginDtsVersion","happyDomVersion","edgeRuntimeVmVersion","vitestCoverageV8Version","vitestCoverageIstanbulVersion","require","version"],"mappings":";;;;;;;;IAAaA,SAAS;eAATA;;IACAC,WAAW;eAAXA;;IACAC,aAAa;eAAbA;;IACAC,sBAAsB;eAAtBA;;IACAC,yBAAyB;eAAzBA;;IACAC,YAAY;eAAZA;;IACAC,oBAAoB;eAApBA;;IACAC,eAAe;eAAfA;;IACAC,oBAAoB;eAApBA;;IAGAC,uBAAuB;eAAvBA;;IACAC,6BAA6B;eAA7BA;;;AAZN,MAAMV,YAAYW,QAAQ,sBAAsBC,OAAO;AACvD,MAAMX,cAAc;AACpB,MAAMC,gBAAgB;AACtB,MAAMC,yBAAyB;AAC/B,MAAMC,4BAA4B;AAClC,MAAMC,eAAe;AACrB,MAAMC,uBAAuB;AAC7B,MAAMC,kBAAkB;AACxB,MAAMC,uBAAuB;AAG7B,MAAMC,0BAA0B;AAChC,MAAMC,gCAAgC"}
1
+ {"version":3,"sources":["../../../../../packages/vite/src/utils/versions.ts"],"sourcesContent":["export const nxVersion = require('../../package.json').version;\nexport const viteVersion = '^5.0.0';\nexport const vitestVersion = '^1.0.4';\nexport const vitePluginReactVersion = '^4.2.0';\nexport const vitePluginReactSwcVersion = '^3.5.0';\nexport const jsdomVersion = '~22.1.0';\nexport const vitePluginDtsVersion = '~2.3.0';\nexport const happyDomVersion = '~9.20.3';\nexport const edgeRuntimeVmVersion = '~3.0.2';\n\n// Coverage providers\nexport const vitestCoverageV8Version = '^1.0.4';\nexport const vitestCoverageIstanbulVersion = '^1.0.4';\n"],"names":["nxVersion","viteVersion","vitestVersion","vitePluginReactVersion","vitePluginReactSwcVersion","jsdomVersion","vitePluginDtsVersion","happyDomVersion","edgeRuntimeVmVersion","vitestCoverageV8Version","vitestCoverageIstanbulVersion","require","version"],"mappings":";;;;;;;;IAAaA,SAAS;eAATA;;IACAC,WAAW;eAAXA;;IACAC,aAAa;eAAbA;;IACAC,sBAAsB;eAAtBA;;IACAC,yBAAyB;eAAzBA;;IACAC,YAAY;eAAZA;;IACAC,oBAAoB;eAApBA;;IACAC,eAAe;eAAfA;;IACAC,oBAAoB;eAApBA;;IAGAC,uBAAuB;eAAvBA;;IACAC,6BAA6B;eAA7BA;;;AAZN,MAAMV,YAAYW,QAAQ,sBAAsBC,OAAO;AACvD,MAAMX,cAAc;AACpB,MAAMC,gBAAgB;AACtB,MAAMC,yBAAyB;AAC/B,MAAMC,4BAA4B;AAClC,MAAMC,eAAe;AACrB,MAAMC,uBAAuB;AAC7B,MAAMC,kBAAkB;AACxB,MAAMC,uBAAuB;AAG7B,MAAMC,0BAA0B;AAChC,MAAMC,gCAAgC"}