detox 20.40.0 → 20.40.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.
Files changed (35) hide show
  1. package/Detox-android/com/wix/detox/{20.40.0/detox-20.40.0-sources.jar → 20.40.1/detox-20.40.1-sources.jar} +0 -0
  2. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1-sources.jar.md5 +1 -0
  3. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1-sources.jar.sha1 +1 -0
  4. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1-sources.jar.sha256 +1 -0
  5. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1-sources.jar.sha512 +1 -0
  6. package/Detox-android/com/wix/detox/{20.40.0/detox-20.40.0.pom → 20.40.1/detox-20.40.1.pom} +1 -1
  7. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1.pom.md5 +1 -0
  8. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1.pom.sha1 +1 -0
  9. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1.pom.sha256 +1 -0
  10. package/Detox-android/com/wix/detox/20.40.1/detox-20.40.1.pom.sha512 +1 -0
  11. package/Detox-android/com/wix/detox/maven-metadata.xml +4 -4
  12. package/Detox-android/com/wix/detox/maven-metadata.xml.md5 +1 -1
  13. package/Detox-android/com/wix/detox/maven-metadata.xml.sha1 +1 -1
  14. package/Detox-android/com/wix/detox/maven-metadata.xml.sha256 +1 -1
  15. package/Detox-android/com/wix/detox/maven-metadata.xml.sha512 +1 -1
  16. package/Detox-ios-framework.tbz +0 -0
  17. package/Detox-ios-src.tbz +0 -0
  18. package/Detox-ios-xcuitest.tbz +0 -0
  19. package/local-cli/utils/jestInternals.js +10 -2
  20. package/package.json +6 -6
  21. package/runners/jest/testEnvironment/index.js +2 -2
  22. package/runners/jest/testEnvironment/utils/{assertJestCircus27.js → validateAndPatchProjectConfig.js} +14 -5
  23. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0-sources.jar.md5 +0 -1
  24. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0-sources.jar.sha1 +0 -1
  25. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0-sources.jar.sha256 +0 -1
  26. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0-sources.jar.sha512 +0 -1
  27. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0.pom.md5 +0 -1
  28. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0.pom.sha1 +0 -1
  29. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0.pom.sha256 +0 -1
  30. package/Detox-android/com/wix/detox/20.40.0/detox-20.40.0.pom.sha512 +0 -1
  31. /package/Detox-android/com/wix/detox/{20.40.0/detox-20.40.0.aar → 20.40.1/detox-20.40.1.aar} +0 -0
  32. /package/Detox-android/com/wix/detox/{20.40.0/detox-20.40.0.aar.md5 → 20.40.1/detox-20.40.1.aar.md5} +0 -0
  33. /package/Detox-android/com/wix/detox/{20.40.0/detox-20.40.0.aar.sha1 → 20.40.1/detox-20.40.1.aar.sha1} +0 -0
  34. /package/Detox-android/com/wix/detox/{20.40.0/detox-20.40.0.aar.sha256 → 20.40.1/detox-20.40.1.aar.sha256} +0 -0
  35. /package/Detox-android/com/wix/detox/{20.40.0/detox-20.40.0.aar.sha512 → 20.40.1/detox-20.40.1.aar.sha512} +0 -0
@@ -0,0 +1 @@
1
+ 8c398d819033d15f727daf28426f1c50
@@ -0,0 +1 @@
1
+ bab5b4c3930fc34187b928274acd540ea9a94116
@@ -0,0 +1 @@
1
+ 5b774e0b06f1679a7c5dbccdefc931b69404f0ce8c965defed3e80858f4278b3
@@ -0,0 +1 @@
1
+ a81e4fcabcafe3b7c0f88ecac3336a0ddd696e639a0f49af3fd71e2c5a63d5341755edac7fe1fc4a8cf4f5dc6416229e3e94f65b841c6162e550dd11fb49b931
@@ -3,7 +3,7 @@
3
3
  <modelVersion>4.0.0</modelVersion>
4
4
  <groupId>com.wix</groupId>
5
5
  <artifactId>detox</artifactId>
6
- <version>20.40.0</version>
6
+ <version>20.40.1</version>
7
7
  <packaging>aar</packaging>
8
8
  <name>Detox</name>
9
9
  <description>Gray box end-to-end testing and automation library for mobile apps</description>
@@ -0,0 +1 @@
1
+ 8726ce2b4d2907246a6104c59433e173
@@ -0,0 +1 @@
1
+ a81d61515430c4db7f04bb4cb41b9190848f4dc3
@@ -0,0 +1 @@
1
+ f3a39951c296b6e27292c15b2162b019eda61a359bedbeb3a9227913ed68f608
@@ -0,0 +1 @@
1
+ 392753f08a6a2c0c8b9df6a833108ab292558da7b3d7cc00d47cdeabf078665791f7a1564ee042ff09232152ac10b979cd38a08b863b309a98155904ae9565ce
@@ -3,11 +3,11 @@
3
3
  <groupId>com.wix</groupId>
4
4
  <artifactId>detox</artifactId>
5
5
  <versioning>
6
- <latest>20.40.0</latest>
7
- <release>20.40.0</release>
6
+ <latest>20.40.1</latest>
7
+ <release>20.40.1</release>
8
8
  <versions>
9
- <version>20.40.0</version>
9
+ <version>20.40.1</version>
10
10
  </versions>
11
- <lastUpdated>20250706104311</lastUpdated>
11
+ <lastUpdated>20250709100011</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 597cffefd8dca86bc2f3a99881989a39
1
+ fd2576346d5faf67f5f7676c76d84dcb
@@ -1 +1 @@
1
- 1ce40fa56c4f59b2e29c5e443047a639e5258e28
1
+ 7df9036abd4ce3ccafc48e98084eed1544dfc2b2
@@ -1 +1 @@
1
- abb50f781c46a7b36e1389d15850b5aa677da295bb5a13eb06f3699070155df1
1
+ b94fc1a4fd83bb0567cbed695e049f611aa325fc43cd3a6adb2045c3e6921dff
@@ -1 +1 @@
1
- 2630330915347b2ba7b35a855ac61aac4ed1737e54e6295695e6ec7192f405aea19d4aba671264a359294a110a3161879f3c3980b564b0cf477837f84b0f6ed5
1
+ cc22e3e9c9e7ae105d94b34cd696c7ee8d32e38c77d3317baef6c49600a98799baaba5970ea2a32fdc0d084b6c85f1f9a6799bb5cfab495da74ed6c7836f5335
Binary file
package/Detox-ios-src.tbz CHANGED
Binary file
Binary file
@@ -27,6 +27,14 @@ function getJestLocation() {
27
27
  return path.dirname(resolveFrom(cwd, 'jest/package.json'));
28
28
  }
29
29
 
30
+ function getJestCliArgsJsFilePath(jestCliVersion) {
31
+ if (semver.gte(jestCliVersion, '30.0.0')) {
32
+ return 'build/index.js';
33
+ }
34
+
35
+ return semver.gt(jestCliVersion, '29.1.2') ? 'build/args.js' : 'build/cli/args.js';
36
+ }
37
+
30
38
  function resolveJestDependency(jestLocation, dependencyName) {
31
39
  const result = resolveFrom.silent(jestLocation, dependencyName);
32
40
  if (!result) {
@@ -52,7 +60,7 @@ function resolveJestCliArgs() {
52
60
  try {
53
61
  const jestCliManifest = resolveJestDependency(jestLocation, 'jest-cli/package.json');
54
62
  const jestCliVersion = require(jestCliManifest).version;
55
- const argsJsFilePath = semver.gt(jestCliVersion, '29.1.2') ? 'build/args.js' : 'build/cli/args.js';
63
+ const argsJsFilePath = getJestCliArgsJsFilePath(jestCliVersion);
56
64
  const argsJsFile = path.join(path.dirname(jestCliManifest), argsJsFilePath);
57
65
 
58
66
  return require(argsJsFile);
@@ -73,7 +81,7 @@ async function readJestConfig(argv) {
73
81
 
74
82
  function getJestBooleanArgs() {
75
83
  return _(resolveJestCliArgs())
76
- .thru(args => args.options)
84
+ .thru(args => args.yargsOptions || args.options)
77
85
  .pickBy(({ type }) => type === 'boolean')
78
86
  .thru(extractKnownKeys)
79
87
  .value();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "detox",
3
3
  "description": "E2E tests and automation for mobile",
4
- "version": "20.40.0",
4
+ "version": "20.40.1",
5
5
  "bin": {
6
6
  "detox": "local-cli/cli.js"
7
7
  },
@@ -58,8 +58,8 @@
58
58
  "eslint-plugin-no-only-tests": "^3.1.0",
59
59
  "eslint-plugin-node": "^11.1.0",
60
60
  "eslint-plugin-unicorn": "^50.0.1",
61
- "jest": "^29.6.3",
62
- "jest-allure2-reporter": "^2.0.0-beta.18",
61
+ "jest": "^30.0.3",
62
+ "jest-allure2-reporter": "^2.2.6",
63
63
  "metro-react-native-babel-preset": "0.76.8",
64
64
  "prettier": "^3.1.1",
65
65
  "react-native": "0.78.2",
@@ -81,7 +81,7 @@
81
81
  "funpermaproxy": "^1.1.0",
82
82
  "glob": "^8.0.3",
83
83
  "ini": "^1.3.4",
84
- "jest-environment-emit": "^1.0.8",
84
+ "jest-environment-emit": "^1.2.0",
85
85
  "json-cycle": "^1.3.0",
86
86
  "lodash": "^4.17.11",
87
87
  "multi-sort-stream": "^1.0.3",
@@ -107,7 +107,7 @@
107
107
  "yargs-unparser": "^2.0.0"
108
108
  },
109
109
  "peerDependencies": {
110
- "jest": "29.x.x || 28.x.x || ^27.2.5"
110
+ "jest": "30.x.x || 29.x.x || 28.x.x || ^27.2.5"
111
111
  },
112
112
  "peerDependenciesMeta": {
113
113
  "jest": {
@@ -120,5 +120,5 @@
120
120
  "browserslist": [
121
121
  "node 14"
122
122
  ],
123
- "gitHead": "5216c77b39caf721671a3be3f5b039053a482979"
123
+ "gitHead": "1b27e222d29b5d0847c9c022c0d1590647af76ae"
124
124
  }
@@ -18,7 +18,7 @@ const {
18
18
  WorkerAssignReporter
19
19
  } = require('./listeners');
20
20
  const assertExistingContext = require('./utils/assertExistingContext');
21
- const { assertJestCircus27 } = require('./utils/assertJestCircus27');
21
+ const { validateAndPatchProjectConfig } = require('./utils/validateAndPatchProjectConfig');
22
22
 
23
23
  const SYNC_CIRCUS_EVENTS = new Set([
24
24
  'start_describe_definition',
@@ -35,7 +35,7 @@ const log = detox.log.child({ cat: 'lifecycle,jest-environment' });
35
35
  */
36
36
  class DetoxCircusEnvironment extends WithEmitter(NodeEnvironment) {
37
37
  constructor(config, context) {
38
- super(assertJestCircus27(config), assertExistingContext(context));
38
+ super(validateAndPatchProjectConfig(config), assertExistingContext(context));
39
39
 
40
40
  /** @private */
41
41
  this._shouldManageDetox = detox.getStatus() === 'inactive';
@@ -1,6 +1,7 @@
1
1
  const fs = require('fs');
2
2
  const path = require('path');
3
3
 
4
+ const findUp = require('find-up');
4
5
  const resolveFrom = require('resolve-from');
5
6
  const semver = require('semver');
6
7
 
@@ -8,7 +9,7 @@ const { log } = require('../../../../internals');
8
9
  const detoxPackageJson = require('../../../../package.json');
9
10
  const { DetoxRuntimeError } = require('../../../../src/errors');
10
11
 
11
- function assertJestCircus27(maybeProjectConfig) {
12
+ function validateAndPatchProjectConfig(maybeProjectConfig) {
12
13
  const projectConfig = maybeProjectConfig.projectConfig || maybeProjectConfig;
13
14
 
14
15
  if (!/jest-circus/.test(projectConfig.testRunner)) {
@@ -19,11 +20,11 @@ function assertJestCircus27(maybeProjectConfig) {
19
20
  });
20
21
  }
21
22
 
22
- const circusPackageJson = path.join(path.dirname(projectConfig.testRunner), 'package.json');
23
- if (!fs.existsSync(circusPackageJson)) {
23
+ const circusPackageJson = findUp.sync('package.json', { cwd: path.dirname(projectConfig.testRunner) });
24
+ if (!circusPackageJson) {
24
25
  throw new DetoxRuntimeError({
25
26
  message: 'Check that you have an installed copy of "jest-circus" npm package, exiting.',
26
- debugInfo: `Its package.json file is missing: ${circusPackageJson}`,
27
+ debugInfo: `Its package.json file is missing in the directory: ${path.dirname(projectConfig.testRunner)}`,
27
28
  });
28
29
  }
29
30
 
@@ -48,6 +49,14 @@ function assertJestCircus27(maybeProjectConfig) {
48
49
  ].join('\n'));
49
50
  }
50
51
 
52
+ // TODO: This is a workaround to prevent Jest from failing on teardown.
53
+ // PROBLEM: Detox uses proxies which throw in non-initialized or torn down state on purpose.
54
+ // So, either we need to implement a distinction between BEFORE and AFTER the test execution,
55
+ // or we need to change dramatically the way we export those proxies (possible only in a major version bump).
56
+ if (projectConfig && projectConfig.testEnvironmentOptions) {
57
+ projectConfig.testEnvironmentOptions.globalsCleanup = 'off';
58
+ }
59
+
51
60
  return maybeProjectConfig;
52
61
  }
53
62
 
@@ -65,6 +74,6 @@ function assertSupportedVersion(actualVersion) {
65
74
  }
66
75
 
67
76
  module.exports = {
68
- assertJestCircus27,
69
77
  assertSupportedVersion,
78
+ validateAndPatchProjectConfig,
70
79
  };
@@ -1 +0,0 @@
1
- 979a04ae79086d3aedcb79ae3ad77665
@@ -1 +0,0 @@
1
- 0bf2a44800742f2a45bab1072dd4e09a65d3504c
@@ -1 +0,0 @@
1
- 1e2cf7c9101332a67c7ebda6b3a9efb7e0a5b3002715149966c9ca904ff88974
@@ -1 +0,0 @@
1
- 1d194775b962f29d6a8e1a39472e398b0b96c577ae51e58b9d396fc3f9dad79074cbe31bf277360e74eff277500079fbe0303397e133d344dae2a58c65479724
@@ -1 +0,0 @@
1
- fb9db06cd18e4b9daadb322a8f105a3f
@@ -1 +0,0 @@
1
- 1eb8a8b40ce354a2cd0aeab507bbaede730f6530
@@ -1 +0,0 @@
1
- 4d961549582781c365fc649c2d107855562c3b528bfb0ff2f225a8b51f99e614
@@ -1 +0,0 @@
1
- df8bf51b83eec8945ba37c30b38f981e4bc4bb5c99203081f5a4c11e3717d526617453ab41618a9d25cb3bf60360d0dbd326c08b2febf1d919ca909c01acf66d