@nx/jest 24.0.0-beta.0 → 24.0.0-beta.2

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.
@@ -1,5 +1,6 @@
1
1
  export { versions, getInstalledJestMajorVersion } from './src/utils/versions';
2
2
  export { findRootJestPreset } from './src/utils/config/config-file';
3
+ export { ensureRootJest } from './src/generators/configuration/lib/ensure-root-jest';
3
4
  /**
4
5
  * The Oxlint plugins a Jest-tested project needs. Declared here so the linter
5
6
  * does not have to know what a test runner requires; `@nx/js`'s
package/dist/internal.js CHANGED
@@ -5,12 +5,14 @@
5
5
  // internal consumers and may change without semver protection. Mirrors
6
6
  // `@nx/devkit/internal`.
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.oxlintPlugins = exports.findRootJestPreset = exports.getInstalledJestMajorVersion = exports.versions = void 0;
8
+ exports.oxlintPlugins = exports.ensureRootJest = exports.findRootJestPreset = exports.getInstalledJestMajorVersion = exports.versions = void 0;
9
9
  var versions_1 = require("./src/utils/versions");
10
10
  Object.defineProperty(exports, "versions", { enumerable: true, get: function () { return versions_1.versions; } });
11
11
  Object.defineProperty(exports, "getInstalledJestMajorVersion", { enumerable: true, get: function () { return versions_1.getInstalledJestMajorVersion; } });
12
12
  var config_file_1 = require("./src/utils/config/config-file");
13
13
  Object.defineProperty(exports, "findRootJestPreset", { enumerable: true, get: function () { return config_file_1.findRootJestPreset; } });
14
+ var ensure_root_jest_1 = require("./src/generators/configuration/lib/ensure-root-jest");
15
+ Object.defineProperty(exports, "ensureRootJest", { enumerable: true, get: function () { return ensure_root_jest_1.ensureRootJest; } });
14
16
  /**
15
17
  * The Oxlint plugins a Jest-tested project needs. Declared here so the linter
16
18
  * does not have to know what a test runner requires; `@nx/js`'s
@@ -1,4 +1,5 @@
1
1
  import { type Tree } from '@nx/devkit';
2
2
  import { type JestPresetExtension } from '../../../utils/config/config-file';
3
3
  import type { NormalizedJestProjectSchema } from '../schema';
4
+ export declare function writeRootJestPreset(tree: Tree, presetExt: JestPresetExtension): void;
4
5
  export declare function createJestConfig(tree: Tree, options: Partial<NormalizedJestProjectSchema>, presetExt: JestPresetExtension): Promise<void>;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeRootJestPreset = writeRootJestPreset;
3
4
  exports.createJestConfig = createJestConfig;
4
5
  const devkit_1 = require("@nx/devkit");
5
6
  const config_file_1 = require("../../../utils/config/config-file");
6
7
  const internal_1 = require("@nx/js/internal");
7
8
  const internal_2 = require("@nx/devkit/internal");
8
- async function createJestConfig(tree, options, presetExt) {
9
+ function writeRootJestPreset(tree, presetExt) {
9
10
  if (!tree.exists(`jest.preset.${presetExt}`)) {
10
11
  if (presetExt === 'mjs') {
11
12
  tree.write(`jest.preset.${presetExt}`, `import { nxPreset } from '@nx/jest/preset.js';
@@ -19,6 +20,9 @@ export default { ...nxPreset };`);
19
20
  module.exports = { ...nxPreset };`);
20
21
  }
21
22
  }
23
+ }
24
+ async function createJestConfig(tree, options, presetExt) {
25
+ writeRootJestPreset(tree, presetExt);
22
26
  if (options.rootProject) {
23
27
  // we don't want any config to be made because the `configurationGenerator` will do it.
24
28
  // will copy the template config file
@@ -0,0 +1,6 @@
1
+ import { type GeneratorCallback, type Tree } from '@nx/devkit';
2
+ /**
3
+ * Sets up the root preset and swc dependencies for a project that ships its
4
+ * own jest config, such as an e2e project in a workspace without Jest.
5
+ */
6
+ export declare function ensureRootJest(tree: Tree): Promise<GeneratorCallback>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureRootJest = ensureRootJest;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const config_file_1 = require("../../../utils/config/config-file");
6
+ const init_1 = require("../../init/init");
7
+ const create_jest_config_1 = require("./create-jest-config");
8
+ const ensure_dependencies_1 = require("./ensure-dependencies");
9
+ /**
10
+ * Sets up the root preset and swc dependencies for a project that ships its
11
+ * own jest config, such as an e2e project in a workspace without Jest.
12
+ */
13
+ async function ensureRootJest(tree) {
14
+ const initTask = await (0, init_1.jestInitGenerator)(tree, {
15
+ addPlugin: false,
16
+ skipFormat: true,
17
+ });
18
+ (0, create_jest_config_1.writeRootJestPreset)(tree, (0, config_file_1.getPresetExt)(tree));
19
+ const depsTask = (0, ensure_dependencies_1.ensureDependencies)(tree, {
20
+ compiler: 'swc',
21
+ testEnvironment: 'node',
22
+ });
23
+ return (0, devkit_1.runTasksInSerial)(initTask, depsTask);
24
+ }
@@ -217,7 +217,7 @@ async function buildJestTargets(rawConfig, needsDtsInputs, configFilePath, proje
217
217
  params: 'forward',
218
218
  options: 'forward',
219
219
  });
220
- targets[targetName] = {
220
+ targets[targetName] = (0, internal_1.applyTestFileDirectives)({
221
221
  command: `jest ${relativePath}`,
222
222
  cache,
223
223
  inputs,
@@ -238,7 +238,7 @@ async function buildJestTargets(rawConfig, needsDtsInputs, configFilePath, proje
238
238
  },
239
239
  },
240
240
  },
241
- };
241
+ }, context.workspaceRoot, (0, devkit_1.joinPathFragments)(projectRoot, relativePath), ['depends-on']);
242
242
  targetGroup.push(targetName);
243
243
  }
244
244
  if (targetGroup.length > 0) {
@@ -327,7 +327,7 @@ async function buildJestTargets(rawConfig, needsDtsInputs, configFilePath, proje
327
327
  params: 'forward',
328
328
  options: 'forward',
329
329
  });
330
- targets[targetName] = {
330
+ targets[targetName] = (0, internal_1.applyTestFileDirectives)({
331
331
  command: `jest ${relativePath}`,
332
332
  cache,
333
333
  inputs,
@@ -348,7 +348,7 @@ async function buildJestTargets(rawConfig, needsDtsInputs, configFilePath, proje
348
348
  },
349
349
  },
350
350
  },
351
- };
351
+ }, context.workspaceRoot, (0, devkit_1.joinPathFragments)(projectRoot, relativePath), ['depends-on']);
352
352
  targetGroup.push(targetName);
353
353
  }
354
354
  targets[options.ciTargetName] = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/jest",
3
- "version": "24.0.0-beta.0",
3
+ "version": "24.0.0-beta.2",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "files": [
@@ -105,8 +105,8 @@
105
105
  "dependencies": {
106
106
  "@jest/reporters": "^30.0.2",
107
107
  "@jest/test-result": "^30.0.2",
108
- "@nx/devkit": "24.0.0-beta.0",
109
- "@nx/js": "24.0.0-beta.0",
108
+ "@nx/devkit": "24.0.0-beta.2",
109
+ "@nx/js": "24.0.0-beta.2",
110
110
  "@phenomnomnominal/tsquery": "~6.2.0",
111
111
  "identity-obj-proxy": "3.0.0",
112
112
  "jest-config": "^30.0.2",
@@ -121,7 +121,7 @@
121
121
  "yargs-parser": "21.1.1"
122
122
  },
123
123
  "devDependencies": {
124
- "nx": "24.0.0-beta.0"
124
+ "nx": "24.0.0-beta.2"
125
125
  },
126
126
  "publishConfig": {
127
127
  "access": "public"