@nx/vitest 23.0.0-rc.3 → 23.0.0-rc.4

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.
@@ -4,9 +4,8 @@ exports.configurationGenerator = configurationGenerator;
4
4
  exports.configurationGeneratorInternal = configurationGeneratorInternal;
5
5
  const tslib_1 = require("tslib");
6
6
  const devkit_1 = require("@nx/devkit");
7
- const internal_1 = require("@nx/devkit/internal");
8
7
  const js_1 = require("@nx/js");
9
- const internal_2 = require("@nx/js/internal");
8
+ const internal_1 = require("@nx/js/internal");
10
9
  const path_1 = require("path");
11
10
  const ensure_dependencies_1 = require("../../utils/ensure-dependencies");
12
11
  const generator_utils_1 = require("../../utils/generator-utils");
@@ -126,7 +125,7 @@ getTestBed().initTestEnvironment(
126
125
  else if (uiFramework === 'react') {
127
126
  (0, generator_utils_1.createOrEditViteConfig)(tree, {
128
127
  project: schema.project,
129
- includeLib: (0, internal_2.getProjectType)(tree, root, projectType) === 'library',
128
+ includeLib: (0, internal_1.getProjectType)(tree, root, projectType) === 'library',
130
129
  includeVitest: true,
131
130
  inSourceTests: schema.inSourceTests,
132
131
  rolldownOptionsExternal: [
@@ -149,7 +148,7 @@ getTestBed().initTestEnvironment(
149
148
  (0, generator_utils_1.createOrEditViteConfig)(tree, {
150
149
  ...schema,
151
150
  includeVitest: true,
152
- includeLib: (0, internal_2.getProjectType)(tree, root, projectType) === 'library',
151
+ includeLib: (0, internal_1.getProjectType)(tree, root, projectType) === 'library',
153
152
  useEsmExtension: true,
154
153
  }, true, {
155
154
  vitestFileName: useVitestConfig,
@@ -157,21 +156,22 @@ getTestBed().initTestEnvironment(
157
156
  });
158
157
  }
159
158
  }
160
- const isTsSolutionSetup = (0, internal_2.isUsingTsSolutionSetup)(tree);
159
+ const isTsSolutionSetup = (0, internal_1.isUsingTsSolutionSetup)(tree);
161
160
  createFiles(tree, schema, root, isTsSolutionSetup);
162
161
  updateTsConfig(tree, schema, root, projectType);
163
162
  if (isTsSolutionSetup) {
164
163
  // in the TS solution setup, the test target depends on the build outputs
165
164
  // so we need to setup the task pipeline accordingly
166
- const nxJson = (0, devkit_1.readNxJson)(tree) ?? {};
165
+ const nxJson = (0, devkit_1.readNxJson)(tree);
167
166
  const testTarget = schema.testTarget ?? 'test';
168
- const existing = findTestDefault(nxJson.targetDefaults, testTarget);
169
- const dependsOn = Array.from(new Set([...(existing?.dependsOn ?? []), '^build']));
170
- (0, internal_1.upsertTargetDefault)(tree, nxJson, { target: testTarget, dependsOn });
167
+ nxJson.targetDefaults ??= {};
168
+ nxJson.targetDefaults[testTarget] ??= {};
169
+ nxJson.targetDefaults[testTarget].dependsOn ??= [];
170
+ nxJson.targetDefaults[testTarget].dependsOn = Array.from(new Set([...nxJson.targetDefaults[testTarget].dependsOn, '^build']));
171
171
  (0, devkit_1.updateNxJson)(tree, nxJson);
172
172
  }
173
173
  const devDependencies = await getCoverageProviderDependency(tree, schema.coverageProvider);
174
- devDependencies['@types/node'] = internal_2.typesNodeVersion;
174
+ devDependencies['@types/node'] = internal_1.typesNodeVersion;
175
175
  if (!schema.skipPackageJson) {
176
176
  const installDependenciesTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDependencies, undefined, true);
177
177
  tasks.push(installDependenciesTask);
@@ -233,7 +233,7 @@ function updateTsConfig(tree, options, projectRoot, projectType) {
233
233
  return json;
234
234
  });
235
235
  }
236
- let runtimeTsconfigPath = (0, devkit_1.joinPathFragments)(projectRoot, (0, internal_2.getProjectType)(tree, projectRoot, projectType) === 'application'
236
+ let runtimeTsconfigPath = (0, devkit_1.joinPathFragments)(projectRoot, (0, internal_1.getProjectType)(tree, projectRoot, projectType) === 'application'
237
237
  ? 'tsconfig.app.json'
238
238
  : 'tsconfig.lib.json');
239
239
  if (options.runtimeTsconfigFileName) {
@@ -356,14 +356,4 @@ function findBuildTarget(project) {
356
356
  }
357
357
  return project.targets?.build ?? null;
358
358
  }
359
- function findTestDefault(td, target) {
360
- if (!td)
361
- return undefined;
362
- if (Array.isArray(td)) {
363
- return td.find((e) => e.target === target &&
364
- e.projects === undefined &&
365
- e.plugin === undefined);
366
- }
367
- return td[target];
368
- }
369
359
  exports.default = configurationGenerator;
@@ -30,7 +30,7 @@ function updateDependencies(tree, schema) {
30
30
  }, undefined, schema.keepExistingVersions ?? true);
31
31
  }
32
32
  function updateNxJsonSettings(tree) {
33
- const nxJson = (0, devkit_1.readNxJson)(tree) ?? {};
33
+ const nxJson = (0, devkit_1.readNxJson)(tree);
34
34
  const productionFileSet = nxJson.namedInputs?.production;
35
35
  if (productionFileSet) {
36
36
  productionFileSet.push('!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json');
@@ -38,18 +38,13 @@ function updateNxJsonSettings(tree) {
38
38
  }
39
39
  const hasPlugin = nxJson.plugins?.some((p) => typeof p === 'string' ? p === '@nx/vitest' : p.plugin === '@nx/vitest');
40
40
  if (!hasPlugin) {
41
- const existing = (0, internal_1.normalizeTargetDefaults)(nxJson.targetDefaults).find((e) => e.executor === '@nx/vitest:test' &&
42
- e.target === undefined &&
43
- e.projects === undefined &&
44
- e.plugin === undefined);
45
- (0, internal_1.upsertTargetDefault)(tree, nxJson, {
46
- executor: '@nx/vitest:test',
47
- cache: existing?.cache ?? true,
48
- inputs: existing?.inputs ?? [
49
- 'default',
50
- productionFileSet ? '^production' : '^default',
51
- ],
52
- });
41
+ nxJson.targetDefaults ??= {};
42
+ nxJson.targetDefaults['@nx/vitest:test'] ??= {};
43
+ nxJson.targetDefaults['@nx/vitest:test'].cache ??= true;
44
+ nxJson.targetDefaults['@nx/vitest:test'].inputs ??= [
45
+ 'default',
46
+ productionFileSet ? '^production' : '^default',
47
+ ];
53
48
  }
54
49
  (0, devkit_1.updateNxJson)(tree, nxJson);
55
50
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nx/vitest",
3
3
  "description": "The Nx Plugin for Vitest to enable fast unit testing with Vitest.",
4
- "version": "23.0.0-rc.3",
4
+ "version": "23.0.0-rc.4",
5
5
  "type": "commonjs",
6
6
  "files": [
7
7
  "dist",
@@ -73,13 +73,13 @@
73
73
  "tslib": "^2.3.0",
74
74
  "semver": "^7.6.3",
75
75
  "@phenomnomnominal/tsquery": "~6.2.0",
76
- "@nx/devkit": "23.0.0-rc.3",
77
- "@nx/js": "23.0.0-rc.3"
76
+ "@nx/devkit": "23.0.0-rc.4",
77
+ "@nx/js": "23.0.0-rc.4"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "vitest": "^3.0.0 || ^4.0.0",
81
81
  "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
82
- "@nx/eslint": "23.0.0-rc.3"
82
+ "@nx/eslint": "23.0.0-rc.4"
83
83
  },
84
84
  "peerDependenciesMeta": {
85
85
  "@nx/eslint": {
@@ -93,6 +93,6 @@
93
93
  }
94
94
  },
95
95
  "devDependencies": {
96
- "nx": "23.0.0-rc.3"
96
+ "nx": "23.0.0-rc.4"
97
97
  }
98
98
  }