playwright-testchimp-reporter 0.0.2 → 0.0.3

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/README.md CHANGED
@@ -1,362 +1 @@
1
- # playwright-testchimp-reporter
2
-
3
- Playwright reporter for TestChimp test execution tracking and requirement traceability. Automatically reports test execution results to TestChimp backend, enabling continuous requirement coverage tracking in your CI/CD pipelines.
4
-
5
- ## Features
6
-
7
- - ✅ **Automatic test execution tracking**: Reports test results to TestChimp backend
8
- - ✅ **Requirement traceability**: Links test executions to scenarios via `// @Scenario:` comments
9
- - ✅ **CI/CD integration**: Works with any CI/CD platform (GitHub Actions, GitLab CI, Jenkins, etc.)
10
- - ✅ **Flexible configuration**: Configure via environment variables or Playwright config
11
- - ✅ **Screenshot capture**: Automatically captures screenshots for failing steps
12
- - ✅ **Retry handling**: Configurable retry attempt reporting
13
- - ✅ **Verbose logging**: Optional detailed logging for debugging
14
-
15
- ## Installation
16
-
17
- ```bash
18
- npm install --save-dev playwright-testchimp-reporter
19
- ```
20
-
21
- Or with yarn:
22
-
23
- ```bash
24
- yarn add -D playwright-testchimp-reporter
25
- ```
26
-
27
- ## Quick Start
28
-
29
- ### 1. Install the package
30
-
31
- ```bash
32
- npm install --save-dev playwright-testchimp-reporter
33
- ```
34
-
35
- ### 2. Configure in `playwright.config.ts`
36
-
37
- ```typescript
38
- import { defineConfig } from '@playwright/test';
39
-
40
- export default defineConfig({
41
- reporter: [
42
- ['list'], // Standard list reporter
43
- ['playwright-testchimp-reporter', {
44
- // Credentials from environment variables (recommended)
45
- // See Configuration section for all options
46
- }]
47
- ],
48
- // ... rest of your config
49
- });
50
- ```
51
-
52
- ### 3. Set environment variables
53
-
54
- ```bash
55
- export TESTCHIMP_API_KEY=your_api_key
56
- export TESTCHIMP_PROJECT_ID=your_project_id
57
- ```
58
-
59
- ### 4. Run your tests
60
-
61
- ```bash
62
- npx playwright test
63
- ```
64
-
65
- Test execution results will be automatically reported to TestChimp!
66
-
67
- ## Configuration
68
-
69
- ### Required Configuration
70
-
71
- You must provide API credentials either via environment variables (recommended) or in the config:
72
-
73
- **Environment Variables (Recommended)**:
74
- ```bash
75
- TESTCHIMP_API_KEY=your_api_key
76
- TESTCHIMP_PROJECT_ID=your_project_id
77
- ```
78
-
79
- **Config Options**:
80
- ```typescript
81
- {
82
- apiKey: 'your_api_key',
83
- projectId: 'your_project_id',
84
- }
85
- ```
86
-
87
- ### Optional Configuration
88
-
89
- All configuration options can be provided via environment variables or in the config:
90
-
91
- | Option | Environment Variable | Default | Description |
92
- |--------|---------------------|---------|-------------|
93
- | `apiUrl` | `TESTCHIMP_API_URL` | `https://featureservice.testchimp.io` | TestChimp API URL |
94
- | `testsFolder` | `TESTCHIMP_TESTS_FOLDER` | `tests` | Base folder for relative path calculation |
95
- | `release` | `TESTCHIMP_RELEASE` | - | Release/version identifier |
96
- | `environment` | `TESTCHIMP_ENV` | - | Environment name (e.g., staging, production) |
97
- | `reportOnlyFinalAttempt` | - | `true` | Only report final retry attempt |
98
- | `captureScreenshots` | - | `true` | Capture screenshots for failing steps |
99
- | `verbose` | - | `false` | Enable verbose logging |
100
-
101
- ### Complete Configuration Example
102
-
103
- ```typescript
104
- import { defineConfig } from '@playwright/test';
105
-
106
- export default defineConfig({
107
- testDir: './tests',
108
- reporter: [
109
- ['list'],
110
- ['playwright-testchimp-reporter', {
111
- // Credentials from environment variables (recommended)
112
- // Optional: override defaults
113
- reportOnlyFinalAttempt: true,
114
- captureScreenshots: true,
115
- verbose: process.env.CI === 'true', // Verbose in CI
116
- }]
117
- ],
118
- use: {
119
- baseURL: 'https://example.com',
120
- },
121
- });
122
- ```
123
-
124
- ## Linking Tests to Scenarios
125
-
126
- To enable requirement traceability, add scenario comments to your tests:
127
-
128
- ```javascript
129
- // @Scenario: User can log in with valid credentials
130
- test('login test', async ({ page }) => {
131
- await page.goto('https://example.com/login');
132
- await page.fill('#username', 'testuser');
133
- await page.fill('#password', 'password123');
134
- await page.click('button[type="submit"]');
135
- await expect(page).toHaveURL('https://example.com/dashboard');
136
- });
137
- ```
138
-
139
- The reporter automatically extracts these comments and links test executions to scenarios. Scenario titles must match exactly (case-sensitive).
140
-
141
- ### Multiple Scenarios
142
-
143
- You can link a single test to multiple scenarios:
144
-
145
- ```javascript
146
- // @Scenario: User can log in with valid credentials
147
- // @Scenario: User session persists after login
148
- test('login and session test', async ({ page }) => {
149
- // ... test code
150
- });
151
- ```
152
-
153
- ## CI/CD Integration
154
-
155
- ### GitHub Actions
156
-
157
- ```yaml
158
- name: Run Tests
159
-
160
- on:
161
- push:
162
- branches: [ main, develop ]
163
- pull_request:
164
- branches: [ main ]
165
-
166
- jobs:
167
- test:
168
- runs-on: ubuntu-latest
169
- steps:
170
- - uses: actions/checkout@v3
171
-
172
- - name: Setup Node.js
173
- uses: actions/setup-node@v3
174
- with:
175
- node-version: '18'
176
-
177
- - name: Install dependencies
178
- run: npm ci
179
-
180
- - name: Install Playwright browsers
181
- run: npx playwright install --with-deps
182
-
183
- - name: Run tests
184
- env:
185
- TESTCHIMP_API_KEY: ${{ secrets.TESTCHIMP_API_KEY }}
186
- TESTCHIMP_PROJECT_ID: ${{ secrets.TESTCHIMP_PROJECT_ID }}
187
- TESTCHIMP_ENV: staging
188
- TESTCHIMP_RELEASE: ${{ github.ref_name }}
189
- run: npx playwright test
190
- ```
191
-
192
- ### GitLab CI
193
-
194
- ```yaml
195
- test:
196
- image: node:18
197
- before_script:
198
- - npm ci
199
- - npx playwright install --with-deps
200
- script:
201
- - npx playwright test
202
- variables:
203
- TESTCHIMP_API_KEY: $TESTCHIMP_API_KEY
204
- TESTCHIMP_PROJECT_ID: $TESTCHIMP_PROJECT_ID
205
- TESTCHIMP_ENV: staging
206
- TESTCHIMP_RELEASE: $CI_COMMIT_REF_NAME
207
- ```
208
-
209
- ### Jenkins
210
-
211
- ```groovy
212
- pipeline {
213
- agent any
214
- environment {
215
- TESTCHIMP_API_KEY = credentials('testchimp-api-key')
216
- TESTCHIMP_PROJECT_ID = credentials('testchimp-project-id')
217
- TESTCHIMP_ENV = 'staging'
218
- TESTCHIMP_RELEASE = env.BUILD_NUMBER
219
- }
220
- stages {
221
- stage('Test') {
222
- steps {
223
- sh 'npm ci'
224
- sh 'npx playwright install --with-deps'
225
- sh 'npx playwright test'
226
- }
227
- }
228
- }
229
- }
230
- ```
231
-
232
- ## How It Works
233
-
234
- 1. **Test execution**: Tests run normally using the standard Playwright runner
235
- 2. **Automatic reporting**: The reporter captures:
236
- - Test name, file path, and suite structure
237
- - Step-by-step execution results
238
- - Pass/fail status
239
- - Error messages (if any)
240
- - Screenshots for failing steps (if enabled)
241
- 3. **Backend ingestion**: Execution data is sent to TestChimp backend
242
- 4. **Coverage tracking**: Test executions are automatically linked to scenarios based on `// @Scenario:` comments
243
- 5. **Traceability updates**: Coverage information is updated in real-time in the TestChimp platform
244
-
245
- ## Configuration Options Reference
246
-
247
- ### `apiKey` / `TESTCHIMP_API_KEY`
248
- - **Type**: `string`
249
- - **Required**: Yes
250
- - **Description**: API key for TestChimp authentication
251
-
252
- ### `projectId` / `TESTCHIMP_PROJECT_ID`
253
- - **Type**: `string`
254
- - **Required**: Yes
255
- - **Description**: TestChimp project identifier
256
-
257
- ### `apiUrl` / `TESTCHIMP_API_URL`
258
- - **Type**: `string`
259
- - **Default**: `https://featureservice.testchimp.io`
260
- - **Description**: TestChimp API URL
261
-
262
- ### `testsFolder` / `TESTCHIMP_TESTS_FOLDER`
263
- - **Type**: `string`
264
- - **Default**: `tests`
265
- - **Description**: Base folder for relative path calculation. Used to derive test file paths relative to this folder.
266
-
267
- ### `release` / `TESTCHIMP_RELEASE`
268
- - **Type**: `string`
269
- - **Default**: `''`
270
- - **Description**: Release/version identifier. Useful for tracking test executions by release.
271
-
272
- ### `environment` / `TESTCHIMP_ENV`
273
- - **Type**: `string`
274
- - **Default**: `''`
275
- - **Description**: Environment name (e.g., `staging`, `production`). Useful for tracking coverage separately by environment.
276
-
277
- ### `reportOnlyFinalAttempt`
278
- - **Type**: `boolean`
279
- - **Default**: `true`
280
- - **Description**: When `true`, only the final retry attempt is reported. When `false`, all retry attempts are reported.
281
-
282
- ### `captureScreenshots`
283
- - **Type**: `boolean`
284
- - **Default**: `true`
285
- - **Description**: When `true`, screenshots are captured and attached to failing steps as base64-encoded images.
286
-
287
- ### `verbose`
288
- - **Type**: `boolean`
289
- - **Default**: `false`
290
- - **Description**: When `true`, enables detailed logging for debugging. Useful for troubleshooting configuration issues.
291
-
292
- ## Troubleshooting
293
-
294
- ### Reporter Not Sending Data
295
-
296
- **Check credentials**:
297
- - Verify `TESTCHIMP_API_KEY` and `TESTCHIMP_PROJECT_ID` are set correctly
298
- - Ensure credentials are valid and have access to the project
299
-
300
- **Enable verbose logging**:
301
- ```typescript
302
- {
303
- verbose: true
304
- }
305
- ```
306
-
307
- **Check network connectivity**:
308
- - Ensure your CI environment can reach the TestChimp API
309
- - Check firewall rules if running in a restricted network
310
-
311
- ### Tests Not Linked to Scenarios
312
-
313
- **Verify scenario comments**:
314
- - Ensure `// @Scenario:` comments are present in your tests
315
- - Check that comments are placed before the test function
316
-
317
- **Check scenario titles**:
318
- - Scenario titles must match exactly (case-sensitive)
319
- - Verify the scenario exists in your TestChimp project
320
-
321
- **Review test file paths**:
322
- - Ensure test files are in the expected location
323
- - Check that `testsFolder` configuration matches your project structure
324
-
325
- ### Missing Screenshots
326
-
327
- **Enable screenshot capture**:
328
- ```typescript
329
- {
330
- captureScreenshots: true
331
- }
332
- ```
333
-
334
- **Check Playwright config**:
335
- - Ensure Playwright is configured to capture screenshots on failure
336
- - Verify screenshot settings in your `playwright.config.ts`
337
-
338
- ### Authentication Errors
339
-
340
- If you see authentication errors:
341
- - Verify your API key is correct
342
- - Check that your project ID matches your TestChimp project
343
- - Ensure credentials are properly set as environment variables or in config
344
-
345
- ## Requirements
346
-
347
- - **Playwright**: `>=1.40.0`
348
- - **Node.js**: `>=16.0.0`
349
-
350
- ## License
351
-
352
- MIT
353
-
354
- ## Links
355
-
356
- - **GitHub Repository**: [https://github.com/testchimphq/playwright-testchimp-reporter](https://github.com/testchimphq/playwright-testchimp-reporter)
357
- - **TestChimp Documentation**: [https://docs.testchimp.io](https://docs.testchimp.io)
358
- - **Playwright Documentation**: [https://playwright.dev](https://playwright.dev)
359
-
360
- ## Support
361
-
362
- For issues, questions, or contributions, please visit the [GitHub repository](https://github.com/testchimphq/playwright-testchimp-reporter).
1
+ # playwright-testchimp-reporter
@@ -188,7 +188,7 @@ class TestChimpReporter {
188
188
  }
189
189
  buildReport(test, result, execution) {
190
190
  // Derive paths from test location
191
- const paths = (0, utils_1.derivePaths)(test, this.testsFolder, this.config.rootDir);
191
+ const paths = (0, utils_1.derivePaths)(test, this.testsFolder, this.config.rootDir, this.options.verbose);
192
192
  // Map Playwright status to SmartTestExecutionStatus
193
193
  const status = this.mapStatus(result.status);
194
194
  // Attach screenshots to failing steps only
@@ -1 +1 @@
1
- {"version":3,"file":"testchimp-reporter.js","sourceRoot":"","sources":["../src/testchimp-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testchimp-reporter.js","sourceRoot":"","sources":["../src/testchimp-reporter.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -14,9 +14,10 @@ export interface DerivedPaths {
14
14
  * @param test The Playwright TestCase
15
15
  * @param testsFolder Base folder for relative path calculation (optional)
16
16
  * @param rootDir Playwright root directory
17
+ * @param verbose Whether to log path resolution details
17
18
  * @returns Derived path components for test identification
18
19
  */
19
- export declare function derivePaths(test: TestCase, testsFolder: string, rootDir: string): DerivedPaths;
20
+ export declare function derivePaths(test: TestCase, testsFolder: string, rootDir: string, verbose?: boolean): DerivedPaths;
20
21
  /**
21
22
  * Generate a simple unique ID for steps
22
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,YAAY,CAoCd;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjF;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,YAAY,CAmFd;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjF;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
package/dist/utils.js CHANGED
@@ -14,15 +14,56 @@ const path_1 = __importDefault(require("path"));
14
14
  * @param test The Playwright TestCase
15
15
  * @param testsFolder Base folder for relative path calculation (optional)
16
16
  * @param rootDir Playwright root directory
17
+ * @param verbose Whether to log path resolution details
17
18
  * @returns Derived path components for test identification
18
19
  */
19
- function derivePaths(test, testsFolder, rootDir) {
20
- // Get the file path relative to testsFolder (or rootDir if not specified)
20
+ function derivePaths(test, testsFolder, rootDir, verbose = false) {
21
+ // Calculate path relative to testsFolder (or rootDir if not specified)
21
22
  const basePath = testsFolder ? path_1.default.resolve(rootDir, testsFolder) : rootDir;
22
- const absolutePath = test.location.file;
23
- const relativePath = path_1.default.relative(basePath, absolutePath);
23
+ const filePath = test.location.file;
24
+ const isRelativePath = !path_1.default.isAbsolute(filePath);
25
+ if (verbose) {
26
+ console.log(`[TestChimp] Path derivation for test: ${test.title}`);
27
+ console.log(`[TestChimp] rootDir: ${rootDir}`);
28
+ console.log(`[TestChimp] testsFolder: ${testsFolder || '(not set)'}`);
29
+ console.log(`[TestChimp] basePath: ${basePath}`);
30
+ console.log(`[TestChimp] test.location.file (original): ${filePath}`);
31
+ console.log(`[TestChimp] isRelativePath: ${isRelativePath}`);
32
+ }
33
+ // Always normalize to absolute path first for deterministic behavior
34
+ // This ensures consistent behavior regardless of whether Playwright returns
35
+ // absolute or relative paths (which can vary between CI and local runs)
36
+ const absoluteFilePath = isRelativePath
37
+ ? path_1.default.resolve(rootDir, filePath)
38
+ : filePath;
39
+ if (verbose) {
40
+ console.log(`[TestChimp] absoluteFilePath: ${absoluteFilePath}`);
41
+ }
42
+ // Calculate relative path from basePath to absolute file path
43
+ let relativePath = path_1.default.relative(basePath, absoluteFilePath);
44
+ relativePath = path_1.default.normalize(relativePath);
45
+ if (verbose) {
46
+ console.log(`[TestChimp] relativePath (after path.relative): ${relativePath}`);
47
+ }
48
+ // If the path still starts with ".." after normalization, remove those components
49
+ // This handles edge cases where the path goes outside the expected base
50
+ if (relativePath.startsWith('..')) {
51
+ if (verbose) {
52
+ console.log(`[TestChimp] WARNING: Path starts with "..", removing parent directory references`);
53
+ }
54
+ const parts = relativePath.split(path_1.default.sep);
55
+ const filteredParts = parts.filter(p => p !== '..' && p !== '.');
56
+ relativePath = filteredParts.join(path_1.default.sep);
57
+ if (verbose) {
58
+ console.log(`[TestChimp] relativePath (after removing ".."): ${relativePath}`);
59
+ }
60
+ }
24
61
  const folderPath = path_1.default.dirname(relativePath);
25
62
  const fileName = path_1.default.basename(relativePath);
63
+ if (verbose) {
64
+ console.log(`[TestChimp] Final folderPath: "${folderPath}"`);
65
+ console.log(`[TestChimp] Final fileName: "${fileName}"`);
66
+ }
26
67
  // Build suite path from parent suites (describe blocks)
27
68
  // Walk up the parent chain, collecting suite titles
28
69
  const suitePath = [];
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;AAqBA,kCAwCC;AAKD,wCAEC;AAKD,8BAEC;AAMD,oCAMC;AAvFD,gDAAwB;AAaxB;;;;;;;GAOG;AACH,SAAgB,WAAW,CACzB,IAAc,EACd,WAAmB,EACnB,OAAe;IAEf,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxC,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE7C,wDAAwD;IACxD,oDAAoD;IACpD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAsB,IAAI,CAAC,MAAM,CAAC;IAE5C,OAAO,MAAM,EAAE,CAAC;QACd,qEAAqE;QACrE,IAAI,MAAM,CAAC,KAAK;YACZ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,oDAAoD;YACpD,6CAA6C;YAC7C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;QAChD,QAAQ;QACR,SAAS;QACT,QAAQ,EAAE,IAAI,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,UAAkB;IAC/C,OAAO,QAAQ,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,YAAqB;IAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY;IAC1B,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playwright-testchimp-reporter",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Playwright reporter for TestChimp test execution tracking and coverage reporting",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",