@nx/jest 19.0.4 → 19.0.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/jest",
3
- "version": "19.0.4",
3
+ "version": "19.0.5",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Jest contains executors and generators allowing your workspace to use the powerful Jest testing capabilities.",
6
6
  "repository": {
@@ -36,8 +36,8 @@
36
36
  "dependencies": {
37
37
  "@jest/reporters": "^29.4.1",
38
38
  "@jest/test-result": "^29.4.1",
39
- "@nx/devkit": "19.0.4",
40
- "@nx/js": "19.0.4",
39
+ "@nx/devkit": "19.0.5",
40
+ "@nx/js": "19.0.5",
41
41
  "@phenomnomnominal/tsquery": "~5.0.1",
42
42
  "chalk": "^4.1.0",
43
43
  "identity-obj-proxy": "3.0.0",
@@ -48,7 +48,7 @@
48
48
  "resolve.exports": "1.1.0",
49
49
  "tslib": "^2.3.0",
50
50
  "yargs-parser": "21.1.1",
51
- "@nrwl/jest": "19.0.4"
51
+ "@nrwl/jest": "19.0.5"
52
52
  },
53
53
  "publishConfig": {
54
54
  "access": "public"
package/preset.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { nxPreset } from './preset/jest-preset';
2
+ export { nxPreset };
3
+ export default nxPreset;
package/preset.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nxPreset = void 0;
4
+ const jest_preset_1 = require("./preset/jest-preset");
5
+ Object.defineProperty(exports, "nxPreset", { enumerable: true, get: function () { return jest_preset_1.nxPreset; } });
6
+ exports.default = jest_preset_1.nxPreset;
@@ -11,7 +11,7 @@ const update_vscode_recommended_extensions_1 = require("./lib/update-vscode-reco
11
11
  const update_workspace_1 = require("./lib/update-workspace");
12
12
  const devkit_1 = require("@nx/devkit");
13
13
  const js_1 = require("@nx/js");
14
- const is_preset_cjs_1 = require("../../utils/config/is-preset-cjs");
14
+ const config_file_1 = require("../../utils/config/config-file");
15
15
  const schemaDefaults = {
16
16
  setupFile: 'none',
17
17
  babelJest: false,
@@ -61,7 +61,7 @@ async function configurationGeneratorInternal(tree, schema) {
61
61
  if (!schema.skipPackageJson) {
62
62
  tasks.push((0, ensure_dependencies_1.ensureDependencies)(tree, options));
63
63
  }
64
- const presetExt = (0, is_preset_cjs_1.isPresetCjs)(tree) ? 'cjs' : 'js';
64
+ const presetExt = (0, config_file_1.getPresetExt)(tree);
65
65
  await (0, create_jest_config_1.createJestConfig)(tree, options, presetExt);
66
66
  (0, check_for_test_target_1.checkForTestTarget)(tree, options);
67
67
  (0, create_files_1.createFiles)(tree, options, presetExt);
@@ -0,0 +1 @@
1
+ <% if(setupFile === 'react-native') { %>import '@testing-library/jest-native/extend-expect';<% } %>
@@ -1,3 +1,4 @@
1
1
  import { Tree } from '@nx/devkit';
2
+ import type { JestPresetExtension } from '../../../utils/config/config-file';
2
3
  import { NormalizedJestProjectSchema } from '../schema';
3
- export declare function createFiles(tree: Tree, options: NormalizedJestProjectSchema, presetExt: 'cjs' | 'js'): void;
4
+ export declare function createFiles(tree: Tree, options: NormalizedJestProjectSchema, presetExt: JestPresetExtension): void;
@@ -1,3 +1,4 @@
1
1
  import { type Tree } from '@nx/devkit';
2
+ import { type JestPresetExtension } from '../../../utils/config/config-file';
2
3
  import type { NormalizedJestProjectSchema } from '../schema';
3
- export declare function createJestConfig(tree: Tree, options: Partial<NormalizedJestProjectSchema>, presetExt: 'cjs' | 'js'): Promise<void>;
4
+ export declare function createJestConfig(tree: Tree, options: Partial<NormalizedJestProjectSchema>, presetExt: JestPresetExtension): Promise<void>;
@@ -3,21 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createJestConfig = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const project_configuration_utils_1 = require("nx/src/project-graph/utils/project-configuration-utils");
6
- const find_root_jest_files_1 = require("../../../utils/config/find-root-jest-files");
6
+ const config_file_1 = require("../../../utils/config/config-file");
7
7
  async function createJestConfig(tree, options, presetExt) {
8
8
  if (!tree.exists(`jest.preset.${presetExt}`)) {
9
- // preset is always js file.
10
- tree.write(`jest.preset.${presetExt}`, `
11
- const nxPreset = require('@nx/jest/preset').default;
9
+ if (presetExt === 'mjs') {
10
+ tree.write(`jest.preset.${presetExt}`, `import { nxPreset } from '@nx/jest/preset.js';
12
11
 
13
- module.exports = { ...nxPreset }`);
12
+ export default { ...nxPreset };`);
13
+ }
14
+ else {
15
+ // js or cjs
16
+ tree.write(`jest.preset.${presetExt}`, `const nxPreset = require('@nx/jest/preset').default;
17
+
18
+ module.exports = { ...nxPreset };`);
19
+ }
14
20
  }
15
21
  if (options.rootProject) {
16
22
  // we don't want any config to be made because the `configurationGenerator` will do it.
17
23
  // will copy the template config file
18
24
  return;
19
25
  }
20
- const rootJestPath = (0, find_root_jest_files_1.findRootJestConfig)(tree);
26
+ const rootJestPath = (0, config_file_1.findRootJestConfig)(tree);
21
27
  if (!rootJestPath) {
22
28
  // if there's not root jest config, we will create one and return
23
29
  // this can happen when:
@@ -1,3 +1,3 @@
1
- import { NormalizedJestProjectSchema } from '../schema';
2
- import { Tree } from '@nx/devkit';
1
+ import { type Tree } from '@nx/devkit';
2
+ import type { NormalizedJestProjectSchema } from '../schema';
3
3
  export declare function updateJestConfig(host: Tree, options: NormalizedJestProjectSchema): void;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateJestConfig = void 0;
4
- const find_root_jest_files_1 = require("../../../utils/config/find-root-jest-files");
5
- const update_config_1 = require("../../../utils/config/update-config");
6
4
  const devkit_1 = require("@nx/devkit");
5
+ const config_file_1 = require("../../../utils/config/config-file");
6
+ const update_config_1 = require("../../../utils/config/update-config");
7
7
  function isUsingUtilityFunction(host) {
8
- const rootConfig = (0, find_root_jest_files_1.findRootJestConfig)(host);
8
+ const rootConfig = (0, config_file_1.findRootJestConfig)(host);
9
9
  if (!rootConfig) {
10
10
  return false;
11
11
  }
@@ -18,9 +18,9 @@ function updateJestConfig(host, options) {
18
18
  return;
19
19
  }
20
20
  const project = (0, devkit_1.readProjectConfiguration)(host, options.project);
21
- const rootConfig = (0, find_root_jest_files_1.findRootJestConfig)(host);
21
+ const rootConfig = (0, config_file_1.findRootJestConfig)(host);
22
22
  if (rootConfig) {
23
- (0, update_config_1.addPropertyToJestConfig)(host, (0, find_root_jest_files_1.findRootJestConfig)(host), 'projects', `<rootDir>/${project.root}`);
23
+ (0, update_config_1.addPropertyToJestConfig)(host, (0, config_file_1.findRootJestConfig)(host), 'projects', `<rootDir>/${project.root}`);
24
24
  }
25
25
  }
26
26
  exports.updateJestConfig = updateJestConfig;
@@ -6,7 +6,7 @@ export interface JestProjectSchema {
6
6
  * @deprecated use setupFile instead
7
7
  */
8
8
  skipSetupFile?: boolean;
9
- setupFile?: 'angular' | 'web-components' | 'none';
9
+ setupFile?: 'angular' | 'web-components' | 'react-native' | 'none';
10
10
  skipSerializers?: boolean;
11
11
  testEnvironment?: 'node' | 'jsdom' | 'none';
12
12
  /**
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.jestInitGeneratorInternal = exports.jestInitGenerator = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ const add_plugin_1 = require("@nx/devkit/src/utils/add-plugin");
5
6
  const plugin_1 = require("../../plugins/plugin");
7
+ const config_file_1 = require("../../utils/config/config-file");
6
8
  const versions_1 = require("../../utils/versions");
7
- const is_preset_cjs_1 = require("../../utils/config/is-preset-cjs");
8
- const add_plugin_1 = require("@nx/devkit/src/utils/add-plugin");
9
- function updateProductionFileSet(tree, presetExt) {
9
+ function updateProductionFileSet(tree) {
10
10
  const nxJson = (0, devkit_1.readNxJson)(tree);
11
11
  const productionFileSet = nxJson.namedInputs?.production;
12
12
  if (productionFileSet) {
@@ -26,7 +26,7 @@ function updateProductionFileSet(tree, presetExt) {
26
26
  }
27
27
  (0, devkit_1.updateNxJson)(tree, nxJson);
28
28
  }
29
- function addJestTargetDefaults(tree, presetEnv) {
29
+ function addJestTargetDefaults(tree, presetExt) {
30
30
  const nxJson = (0, devkit_1.readNxJson)(tree);
31
31
  nxJson.targetDefaults ??= {};
32
32
  nxJson.targetDefaults['@nx/jest:jest'] ??= {};
@@ -36,7 +36,7 @@ function addJestTargetDefaults(tree, presetEnv) {
36
36
  nxJson.targetDefaults['@nx/jest:jest'].inputs ??= [
37
37
  'default',
38
38
  productionFileSet ? '^production' : '^default',
39
- `{workspaceRoot}/jest.preset.${presetEnv}`,
39
+ `{workspaceRoot}/jest.preset.${presetExt}`,
40
40
  ];
41
41
  nxJson.targetDefaults['@nx/jest:jest'].options ??= {
42
42
  passWithNoTests: true,
@@ -64,9 +64,9 @@ async function jestInitGeneratorInternal(tree, options) {
64
64
  const addPluginDefault = process.env.NX_ADD_PLUGINS !== 'false' &&
65
65
  nxJson.useInferencePlugins !== false;
66
66
  options.addPlugin ??= addPluginDefault;
67
- const presetExt = (0, is_preset_cjs_1.isPresetCjs)(tree) ? 'cjs' : 'js';
68
- if (!tree.exists('jest.preset.js') && !tree.exists('jest.preset.cjs')) {
69
- updateProductionFileSet(tree, presetExt);
67
+ const presetExt = (0, config_file_1.getPresetExt)(tree);
68
+ if (!tree.exists(`jest.preset.${presetExt}`)) {
69
+ updateProductionFileSet(tree);
70
70
  if (options.addPlugin) {
71
71
  await (0, add_plugin_1.addPlugin)(tree, await (0, devkit_1.createProjectGraphAsync)(), '@nx/jest/plugin', plugin_1.createNodes, {
72
72
  targetName: ['test', 'jest:test', 'jest-test'],
@@ -0,0 +1,8 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export declare const jestConfigExtensions: readonly ["js", "ts", "mjs", "cjs", "mts", "cts"];
3
+ export type JestConfigExtension = typeof jestConfigExtensions[number];
4
+ export declare const jestPresetExtensions: readonly ["js", "cjs", "mjs"];
5
+ export type JestPresetExtension = typeof jestPresetExtensions[number];
6
+ export declare function getPresetExt(tree: Tree): JestPresetExtension;
7
+ export declare function findRootJestConfig(tree: Tree): string | null;
8
+ export declare function findRootJestPreset(tree: Tree): string | null;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findRootJestPreset = exports.findRootJestConfig = exports.getPresetExt = exports.jestPresetExtensions = exports.jestConfigExtensions = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ exports.jestConfigExtensions = [
6
+ 'js',
7
+ 'ts',
8
+ 'mjs',
9
+ 'cjs',
10
+ 'mts',
11
+ 'cts',
12
+ ];
13
+ exports.jestPresetExtensions = ['js', 'cjs', 'mjs'];
14
+ function getPresetExt(tree) {
15
+ const ext = exports.jestPresetExtensions.find((ext) => tree.exists(`jest.preset.${ext}`));
16
+ if (ext) {
17
+ return ext;
18
+ }
19
+ const rootPkgJson = (0, devkit_1.readJson)(tree, 'package.json');
20
+ if (rootPkgJson.type && rootPkgJson.type === 'module') {
21
+ // use cjs if package.json type is module
22
+ return 'cjs';
23
+ }
24
+ // default to js
25
+ return 'js';
26
+ }
27
+ exports.getPresetExt = getPresetExt;
28
+ function findRootJestConfig(tree) {
29
+ const ext = exports.jestConfigExtensions.find((ext) => tree.exists(`jest.config.${ext}`));
30
+ return ext ? `jest.config.${ext}` : null;
31
+ }
32
+ exports.findRootJestConfig = findRootJestConfig;
33
+ function findRootJestPreset(tree) {
34
+ const ext = exports.jestPresetExtensions.find((ext) => tree.exists(`jest.preset.${ext}`));
35
+ return ext ? `jest.preset.${ext}` : null;
36
+ }
37
+ exports.findRootJestPreset = findRootJestPreset;
@@ -1,3 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export declare function findRootJestConfig(tree: Tree): string | null;
3
- export declare function findRootJestPreset(tree: Tree): string | null;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findRootJestPreset = exports.findRootJestConfig = void 0;
4
- function findRootJestConfig(tree) {
5
- if (tree.exists('jest.config.js')) {
6
- return 'jest.config.js';
7
- }
8
- if (tree.exists('jest.config.ts')) {
9
- return 'jest.config.ts';
10
- }
11
- return null;
12
- }
13
- exports.findRootJestConfig = findRootJestConfig;
14
- function findRootJestPreset(tree) {
15
- if (tree.exists('jest.preset.js')) {
16
- return 'jest.preset.js';
17
- }
18
- if (tree.exists('jest.preset.cjs')) {
19
- return 'jest.preset.cjs';
20
- }
21
- return null;
22
- }
23
- exports.findRootJestPreset = findRootJestPreset;
@@ -1,2 +0,0 @@
1
- import { type Tree } from '@nx/devkit';
2
- export declare function isPresetCjs(tree: Tree): boolean;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPresetCjs = void 0;
4
- const devkit_1 = require("@nx/devkit");
5
- function isPresetCjs(tree) {
6
- if (tree.exists('jest.preset.cjs')) {
7
- return true;
8
- }
9
- const rootPkgJson = (0, devkit_1.readJson)(tree, 'package.json');
10
- if (rootPkgJson.type && rootPkgJson.type === 'module') {
11
- return true;
12
- }
13
- return false;
14
- }
15
- exports.isPresetCjs = isPresetCjs;