@serenity-js/mocha 3.41.2 → 3.42.0

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 (79) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/esm/OutcomeRecorder.d.ts +13 -0
  3. package/esm/OutcomeRecorder.d.ts.map +1 -0
  4. package/esm/OutcomeRecorder.js +21 -0
  5. package/esm/OutcomeRecorder.js.map +1 -0
  6. package/esm/SerenityReporterForMocha.d.ts +34 -0
  7. package/esm/SerenityReporterForMocha.d.ts.map +1 -0
  8. package/esm/SerenityReporterForMocha.js +154 -0
  9. package/esm/SerenityReporterForMocha.js.map +1 -0
  10. package/esm/adapter/MochaAdapter.d.ts +48 -0
  11. package/esm/adapter/MochaAdapter.d.ts.map +1 -0
  12. package/esm/adapter/MochaAdapter.js +95 -0
  13. package/esm/adapter/MochaAdapter.js.map +1 -0
  14. package/esm/adapter/MochaConfig.d.ts +105 -0
  15. package/esm/adapter/MochaConfig.d.ts.map +1 -0
  16. package/esm/adapter/MochaConfig.js +2 -0
  17. package/esm/adapter/MochaConfig.js.map +1 -0
  18. package/esm/adapter/index.d.ts +3 -0
  19. package/esm/adapter/index.d.ts.map +1 -0
  20. package/esm/adapter/index.js +3 -0
  21. package/esm/adapter/index.js.map +1 -0
  22. package/esm/index.d.ts +9 -0
  23. package/esm/index.d.ts.map +1 -0
  24. package/esm/index.js +20 -0
  25. package/esm/index.js.map +1 -0
  26. package/esm/mappers/MochaOutcomeMapper.d.ts +12 -0
  27. package/esm/mappers/MochaOutcomeMapper.d.ts.map +1 -0
  28. package/esm/mappers/MochaOutcomeMapper.js +42 -0
  29. package/esm/mappers/MochaOutcomeMapper.js.map +1 -0
  30. package/esm/mappers/MochaTestMapper.d.ts +18 -0
  31. package/esm/mappers/MochaTestMapper.d.ts.map +1 -0
  32. package/esm/mappers/MochaTestMapper.js +53 -0
  33. package/esm/mappers/MochaTestMapper.js.map +1 -0
  34. package/esm/mappers/index.d.ts +3 -0
  35. package/esm/mappers/index.d.ts.map +1 -0
  36. package/esm/mappers/index.js +3 -0
  37. package/esm/mappers/index.js.map +1 -0
  38. package/lib/OutcomeRecorder.d.ts +1 -1
  39. package/lib/OutcomeRecorder.d.ts.map +1 -1
  40. package/lib/SerenityReporterForMocha.d.ts +1 -1
  41. package/lib/SerenityReporterForMocha.d.ts.map +1 -1
  42. package/lib/SerenityReporterForMocha.js +8 -8
  43. package/lib/SerenityReporterForMocha.js.map +1 -1
  44. package/lib/adapter/MochaAdapter.d.ts +4 -4
  45. package/lib/adapter/MochaAdapter.d.ts.map +1 -1
  46. package/lib/adapter/MochaAdapter.js +4 -3
  47. package/lib/adapter/MochaAdapter.js.map +1 -1
  48. package/lib/adapter/index.d.ts +2 -2
  49. package/lib/adapter/index.d.ts.map +1 -1
  50. package/lib/adapter/index.js +2 -2
  51. package/lib/adapter/index.js.map +1 -1
  52. package/lib/index.d.ts +2 -2
  53. package/lib/index.d.ts.map +1 -1
  54. package/lib/index.js +11 -4
  55. package/lib/index.js.map +1 -1
  56. package/lib/mappers/MochaOutcomeMapper.d.ts +1 -1
  57. package/lib/mappers/MochaOutcomeMapper.d.ts.map +1 -1
  58. package/lib/mappers/MochaOutcomeMapper.js +1 -1
  59. package/lib/mappers/MochaOutcomeMapper.js.map +1 -1
  60. package/lib/mappers/MochaTestMapper.d.ts +2 -2
  61. package/lib/mappers/MochaTestMapper.d.ts.map +1 -1
  62. package/lib/mappers/MochaTestMapper.js +2 -2
  63. package/lib/mappers/MochaTestMapper.js.map +1 -1
  64. package/lib/mappers/index.d.ts +2 -2
  65. package/lib/mappers/index.d.ts.map +1 -1
  66. package/lib/mappers/index.js +2 -2
  67. package/lib/mappers/index.js.map +1 -1
  68. package/lib/package.json +1 -0
  69. package/package.json +54 -7
  70. package/src/OutcomeRecorder.ts +1 -1
  71. package/src/SerenityReporterForMocha.ts +6 -6
  72. package/src/adapter/MochaAdapter.ts +9 -8
  73. package/src/adapter/index.ts +2 -2
  74. package/src/index.ts +10 -3
  75. package/src/mappers/MochaOutcomeMapper.ts +2 -2
  76. package/src/mappers/MochaTestMapper.ts +2 -2
  77. package/src/mappers/index.ts +2 -2
  78. package/tsconfig-cjs.build.json +18 -0
  79. package/tsconfig-esm.build.json +18 -0
@@ -1,5 +1,5 @@
1
1
  import type { Serenity } from '@serenity-js/core';
2
- import type { DomainEvent } from '@serenity-js/core/lib/events';
2
+ import type { DomainEvent } from '@serenity-js/core/events';
3
3
  import {
4
4
  RetryableSceneDetected,
5
5
  SceneFinished,
@@ -12,8 +12,8 @@ import {
12
12
  TestRunStarts,
13
13
  TestSuiteFinished,
14
14
  TestSuiteStarts,
15
- } from '@serenity-js/core/lib/events';
16
- import { FileSystemLocation, Path, type RequirementsHierarchy } from '@serenity-js/core/lib/io';
15
+ } from '@serenity-js/core/events';
16
+ import { FileSystemLocation, Path, type RequirementsHierarchy } from '@serenity-js/core/io';
17
17
  import {
18
18
  ArbitraryTag,
19
19
  CorrelationId,
@@ -22,12 +22,12 @@ import {
22
22
  ExecutionSuccessful,
23
23
  Name,
24
24
  TestSuiteDetails
25
- } from '@serenity-js/core/lib/model';
25
+ } from '@serenity-js/core/model';
26
26
  import type { MochaOptions, Runnable, Suite, Test } from 'mocha';
27
27
  import { reporters, Runner } from 'mocha';
28
28
 
29
- import { MochaOutcomeMapper, MochaTestMapper } from './mappers';
30
- import { OutcomeRecorder } from './OutcomeRecorder';
29
+ import { MochaOutcomeMapper, MochaTestMapper } from './mappers/index.js';
30
+ import { OutcomeRecorder } from './OutcomeRecorder.js';
31
31
 
32
32
  /**
33
33
  * @package
@@ -2,13 +2,14 @@ import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
 
4
4
  import { LogicError } from '@serenity-js/core';
5
- import type { TestRunnerAdapter } from '@serenity-js/core/lib/adapter';
6
- import type { ModuleLoader } from '@serenity-js/core/lib/io';
7
- import type { Outcome } from '@serenity-js/core/lib/model';
8
- import { ExecutionIgnored, ImplementationPending } from '@serenity-js/core/lib/model';
5
+ import type { TestRunnerAdapter } from '@serenity-js/core/adapter';
6
+ import type { ModuleLoader } from '@serenity-js/core/io';
7
+ import type { Outcome } from '@serenity-js/core/model';
8
+ import { ExecutionIgnored, ImplementationPending } from '@serenity-js/core/model';
9
+ import type Mocha from 'mocha';
9
10
 
10
- import type { MochaConfig } from './MochaConfig';
11
- import type Mocha = require('mocha');
11
+ import reporter from '../index.js';
12
+ import type { MochaConfig } from './MochaConfig.js';
12
13
 
13
14
  /**
14
15
  * Allows for programmatic execution of Mocha test scenarios,
@@ -49,7 +50,7 @@ export class MochaAdapter implements TestRunnerAdapter {
49
50
 
50
51
  this.mocha = new _Mocha({
51
52
  ...this.config,
52
- reporter: require.resolve('../index'),
53
+ reporter: reporter,
53
54
  });
54
55
 
55
56
  this.mocha.fullTrace();
@@ -113,7 +114,7 @@ export class MochaAdapter implements TestRunnerAdapter {
113
114
  ? path.resolve(fileOrModule) // local file
114
115
  : fileOrModule; // module
115
116
 
116
- require(required);
117
+ this.loader.require(required);
117
118
  });
118
119
  }
119
120
  }
@@ -1,2 +1,2 @@
1
- export * from './MochaAdapter';
2
- export * from './MochaConfig';
1
+ export * from './MochaAdapter.js';
2
+ export * from './MochaConfig.js';
package/src/index.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { serenity } from '@serenity-js/core';
2
- import { FileSystem, Path, RequirementsHierarchy } from '@serenity-js/core/lib/io';
2
+ import { FileSystem, Path, RequirementsHierarchy } from '@serenity-js/core/io';
3
3
  import type { MochaOptions, Runner } from 'mocha';
4
4
 
5
- import { SerenityReporterForMocha } from './SerenityReporterForMocha';
5
+ import { SerenityReporterForMocha } from './SerenityReporterForMocha.js';
6
6
 
7
7
  /**
8
8
  * Registers a Mocha reporter that emits [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/)
@@ -18,4 +18,11 @@ function bootstrap(runner: Runner, options?: MochaOptions): SerenityReporterForM
18
18
  return new SerenityReporterForMocha(serenity, requirementsHierarchy, runner, options);
19
19
  }
20
20
 
21
- export = bootstrap;
21
+ export default bootstrap;
22
+
23
+ // CommonJS compatibility - assign to module.exports for Mocha reporter loading
24
+ // This is needed because Mocha expects module.exports to be the reporter function
25
+ if (typeof module !== 'undefined' && module.exports) {
26
+ module.exports = bootstrap;
27
+ module.exports.default = bootstrap;
28
+ }
@@ -1,6 +1,6 @@
1
1
  import { AssertionError, ImplementationPendingError, TestCompromisedError } from '@serenity-js/core';
2
2
  import type {
3
- Outcome} from '@serenity-js/core/lib/model';
3
+ Outcome} from '@serenity-js/core/model';
4
4
  import {
5
5
  ExecutionCompromised,
6
6
  ExecutionFailedWithAssertionError,
@@ -9,7 +9,7 @@ import {
9
9
  ExecutionSkipped,
10
10
  ExecutionSuccessful,
11
11
  ImplementationPending
12
- } from '@serenity-js/core/lib/model';
12
+ } from '@serenity-js/core/model';
13
13
  import type { Test } from 'mocha';
14
14
 
15
15
  /**
@@ -1,5 +1,5 @@
1
- import { FileSystemLocation, Path } from '@serenity-js/core/lib/io';
2
- import { Category, Name, ScenarioDetails, type Tag, Tags } from '@serenity-js/core/lib/model';
1
+ import { FileSystemLocation, Path } from '@serenity-js/core/io';
2
+ import { Category, Name, ScenarioDetails, type Tag, Tags } from '@serenity-js/core/model';
3
3
  import type { Suite, Test } from 'mocha';
4
4
 
5
5
  /**
@@ -1,2 +1,2 @@
1
- export * from './MochaOutcomeMapper';
2
- export * from './MochaTestMapper';
1
+ export * from './MochaOutcomeMapper.js';
2
+ export * from './MochaTestMapper.js';
@@ -0,0 +1,18 @@
1
+ {
2
+ "extends": "../../tsconfig.build.json",
3
+ "compilerOptions": {
4
+ "module": "CommonJS",
5
+ "moduleResolution": "Node",
6
+ "outDir": "lib",
7
+ "rootDir": "src",
8
+ "target": "es2022",
9
+ "lib": [
10
+ "es2022",
11
+ "dom"
12
+ ],
13
+ "skipLibCheck": true
14
+ },
15
+ "include": [
16
+ "src/**/*.ts"
17
+ ]
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "extends": "../../tsconfig-esm.options.json",
3
+ "compilerOptions": {
4
+ "module": "Node20",
5
+ "moduleResolution": "Node16",
6
+ "outDir": "esm",
7
+ "rootDir": "src",
8
+ "target": "es2022",
9
+ "lib": [
10
+ "es2022",
11
+ "dom"
12
+ ],
13
+ "skipLibCheck": true
14
+ },
15
+ "include": [
16
+ "src/**/*.ts"
17
+ ]
18
+ }