@muuktest/amikoo-reporter 1.2.0 → 1.3.2-beta.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.
package/README.md CHANGED
@@ -12,24 +12,74 @@ Playwright reporter for Amikoo - Automatically installs and configures test repo
12
12
 
13
13
  ## Installation
14
14
 
15
- Install the package in your Playwright project:
15
+ Install the package:
16
16
 
17
17
  ```bash
18
- npm install @muuktest/amikoo-reporter --save-dev
18
+ npm install --save-dev @muuktest/amikoo-reporter
19
19
  ```
20
20
 
21
- That's it! The package will automatically:
22
- - ✅ Configure or create your `playwright.config.ts` (or `.js`)
23
- - ✅ Create or update your `.env` file with the required key
21
+ Then set your key in `.env.amikoo` (created automatically) or `.env`:
22
+
23
+ ```dotenv
24
+ AMIKOO_KEY=your_amikoo_key_here
25
+ ```
26
+
27
+ Alternatively, install and configure the key in one command:
28
+
29
+ ```bash
30
+ npm install --save-dev @muuktest/amikoo-reporter --amikoo-key=YOUR_KEY
31
+ ```
32
+
33
+ Or for CI/environments with env vars:
34
+
35
+ ```bash
36
+ AMIKOO_KEY=YOUR_KEY npm install --save-dev @muuktest/amikoo-reporter
37
+ ```
38
+
39
+ ### One-command setup (no prior install needed)
40
+
41
+ You can also skip the manual `npm install` step. Running `init` via `npx` will
42
+ install `@muuktest/amikoo-reporter` as a devDependency in your project if it
43
+ isn't already there, then configure everything:
44
+
45
+ ```bash
46
+ npx @muuktest/amikoo-reporter init --amikoo-key=YOUR_KEY
47
+ ```
48
+
49
+ Works with `npm`, `pnpm`, `yarn`, and `bun` — the correct package manager is
50
+ detected from your lockfile. If your project has no `package.json` yet, a
51
+ minimal one will be created.
52
+
53
+ The installer will automatically:
54
+ - ✅ Install `@muuktest/amikoo-reporter` as a devDependency (when invoked as `init` and it isn't already installed)
55
+ - ✅ Configure or create your `playwright.config.ts` (or `.js`) with the reporter and `video: 'on'`
56
+ - ✅ Configure `.env.amikoo` (primary) or update `.env` (backward compatible) with your `AMIKOO_KEY`
57
+
58
+ ## Re-initialize / Repair when already installed
59
+
60
+ If your config gets broken or you need to re-run the setup:
61
+
62
+ ```bash
63
+ npx amikoo-reporter init --amikoo-key=YOUR_KEY
64
+ ```
65
+
66
+ This is idempotent — safe to run multiple times.
24
67
 
25
68
  ## Configuration
26
69
 
27
- After installation, update your `.env` file with your Amikoo API key:
70
+ ### AMIKOO_KEY
71
+
72
+ The key is stored in `.env.amikoo` (preferred) or `.env` (backward compatible):
28
73
 
29
74
  ```dotenv
30
75
  AMIKOO_KEY=your_amikoo_key_here
31
76
  ```
32
77
 
78
+ **Priority order:**
79
+ 1. Shell environment (`export AMIKOO_KEY=...`) — always wins
80
+ 2. `.env.amikoo` file — loaded automatically at test time
81
+ 3. `.env` file — fallback for existing projects
82
+
33
83
  ### How to obtain the key
34
84
 
35
85
  - **AMIKOO_KEY**: Obtain from Amikoo application under your account settings or API keys section.
@@ -45,8 +95,8 @@ your-project/
45
95
  ├── tests/
46
96
  │ └── ... your test files
47
97
  ├── playwright.config.ts (configured automatically)
48
- ├── .env (template created or updated with AMIKOO_KEY)
49
- ├── node-modules/
98
+ ├── .env.amikoo (AMIKOO_KEY configured here)
99
+ ├── node_modules/
50
100
  │ └── @muuktest/ (installation folder for amikoo-reporter)
51
101
  └── package.json
52
102
  ```
@@ -84,8 +134,8 @@ import { defineConfig } from '@playwright/test';
84
134
  export default defineConfig({
85
135
  reporter: [['@muuktest/amikoo-reporter']],
86
136
  use: {
87
- video: 'on', // Optional: capture videos
88
- screenshot: 'on' // Optional: capture screenshots
137
+ video: 'on',
138
+ screenshot: 'on',
89
139
  },
90
140
  // ... rest of your config
91
141
  });
@@ -94,13 +144,19 @@ export default defineConfig({
94
144
  ## Troubleshooting
95
145
 
96
146
  ### Reporter not found
97
- Make sure the `@muuktest/amikoo-reporter` folder exists in your node-modules project root. Run `npm install @muuktest/amikoo-reporter --save-dev` to reinstall.
147
+ Reinstall and fix in a single command:
148
+ ```bash
149
+ npm install --save-dev @muuktest/amikoo-reporter && npx amikoo-reporter init
150
+ ```
98
151
 
99
152
  ### API key errors
100
- Verify your `.env` file contains a valid `AMIKOO_KEY`.
153
+ Verify your `.env.amikoo` (or `.env`) file contains a valid `AMIKOO_KEY`. You can also run:
154
+ ```bash
155
+ npx amikoo-reporter init --amikoo-key=YOUR_KEY
156
+ ```
101
157
 
102
158
  ### Videos not uploading
103
- Ensure `video: 'on'` is set in your Playwright config's `use` section.
159
+ The installer enforces `video: 'on'` automatically. If missing, run `npx amikoo-reporter init` to fix.
104
160
 
105
161
  ## Advanced Configuration
106
162
 
@@ -1,3 +1,4 @@
1
+ export declare function detectAmikooKeySource(resolvedKey: string): string;
1
2
  export interface AmikooArtifact {
2
3
  hash: string;
3
4
  testTitle: string;
@@ -1 +1 @@
1
- {"version":3,"file":"amikooArtifacts.d.ts","sourceRoot":"","sources":["../controlHub/amikooArtifacts.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EACjE,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,cAAc,EAAE,CAclB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,cAAc,EAAE,EACvB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
1
+ {"version":3,"file":"amikooArtifacts.d.ts","sourceRoot":"","sources":["../controlHub/amikooArtifacts.ts"],"names":[],"mappings":"AAiBA,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAUjE;AAuBD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EACjE,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,cAAc,EAAE,CAclB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,cAAc,EAAE,EACvB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.detectAmikooKeySource = detectAmikooKeySource;
6
7
  exports.collectAmikooArtifacts = collectAmikooArtifacts;
7
8
  exports.uploadAmikooArtifacts = uploadAmikooArtifacts;
8
9
  const fs_1 = __importDefault(require("fs"));
@@ -11,6 +12,29 @@ const os_1 = __importDefault(require("os"));
11
12
  const apiUtils_1 = require("./apiUtils");
12
13
  const zipUtils_1 = require("./zipUtils");
13
14
  const s3Upload_1 = require("./s3Upload");
15
+ function readAmikooKeyFromEnvFile(filePath, ignorePlaceholder = false) {
16
+ if (!fs_1.default.existsSync(filePath))
17
+ return '';
18
+ const content = fs_1.default.readFileSync(filePath, 'utf8');
19
+ const keyMatch = content.match(/^\s*(?:export\s+)?AMIKOO_KEY\s*=\s*(.*)$/m);
20
+ const value = keyMatch ? keyMatch[1].trim() : '';
21
+ if (!value)
22
+ return '';
23
+ if (ignorePlaceholder && value === 'your_amikoo_key_here')
24
+ return '';
25
+ return value;
26
+ }
27
+ function detectAmikooKeySource(resolvedKey) {
28
+ if (!resolvedKey)
29
+ return '';
30
+ const amikooKey = readAmikooKeyFromEnvFile(path_1.default.resolve(process.cwd(), '.env.amikoo'), true);
31
+ if (amikooKey && amikooKey === resolvedKey)
32
+ return '.env.amikoo';
33
+ const dotEnvKey = readAmikooKeyFromEnvFile(path_1.default.resolve(process.cwd(), '.env'));
34
+ if (dotEnvKey && dotEnvKey === resolvedKey)
35
+ return '.env';
36
+ return 'environment variable';
37
+ }
14
38
  // How many artifact zips are built + uploaded to S3 in parallel.
15
39
  //
16
40
  // Each "worker" does: build zip on disk → request signed URL → PUT stream to S3.
@@ -1 +1 @@
1
- {"version":3,"file":"amikooArtifacts.js","sourceRoot":"","sources":["../controlHub/amikooArtifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"amikooArtifacts.js","sourceRoot":"","sources":["../controlHub/amikooArtifacts.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ interface ApiRequestOptions {
9
9
  interface ApiResponse<T = any> {
10
10
  success: boolean;
11
11
  data?: T;
12
- error?: string;
12
+ error?: string | Record<string, any>;
13
13
  }
14
14
  /**
15
15
  * Makes an API request to the amikoo-reporter backend
@@ -1 +1 @@
1
- {"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../controlHub/apiUtils.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAID,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9D,UAAU,iBAAiB;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,UAAU,WAAW,CAAC,CAAC,GAAG,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA2C7F;AAGD,eAAO,MAAM,GAAG;UACR,CAAC,kBAAkB,MAAM,SAAS,MAAM;WAGvC,CAAC,kBAAkB,MAAM,SAAS,MAAM,SAAS,GAAG;UAGrD,CAAC,kBAAkB,MAAM,SAAS,MAAM,SAAS,GAAG;aAGjD,CAAC,kBAAkB,MAAM,SAAS,MAAM;CAElD,CAAC"}
1
+ {"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../controlHub/apiUtils.ts"],"names":[],"mappings":"AA4BA,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAID,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9D,UAAU,iBAAiB;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,UAAU,WAAW,CAAC,CAAC,GAAG,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA8C7F;AAGD,eAAO,MAAM,GAAG;UACR,CAAC,kBAAkB,MAAM,SAAS,MAAM;WAGvC,CAAC,kBAAkB,MAAM,SAAS,MAAM,SAAS,GAAG;UAGrD,CAAC,kBAAkB,MAAM,SAAS,MAAM,SAAS,GAAG;aAGjD,CAAC,kBAAkB,MAAM,SAAS,MAAM;CAElD,CAAC"}
package/dist/apiUtils.js CHANGED
@@ -7,7 +7,28 @@ exports.api = void 0;
7
7
  exports.getControlHubUrl = getControlHubUrl;
8
8
  exports.apiRequest = apiRequest;
9
9
  const dotenv_1 = __importDefault(require("dotenv"));
10
- dotenv_1.default.config();
10
+ const fs_1 = require("fs");
11
+ const path_1 = require("path");
12
+ // Load .env.amikoo first (primary), then .env as fallback.
13
+ // Skip .env.amikoo if it only has the placeholder key to avoid dotenv's noisy
14
+ // "injected env" message when no real values are present.
15
+ const amikooEnv = (0, path_1.resolve)(process.cwd(), '.env.amikoo');
16
+ if ((0, fs_1.existsSync)(amikooEnv)) {
17
+ const content = (0, fs_1.readFileSync)(amikooEnv, 'utf8');
18
+ const hasRealKey = /^\s*(?:export\s+)?AMIKOO_KEY\s*=\s*(?!your_amikoo_key_here\s*$).+$/m.test(content);
19
+ if (hasRealKey) {
20
+ dotenv_1.default.config({ path: amikooEnv });
21
+ }
22
+ }
23
+ // Only load .env if it exists and has non-comment, non-empty lines
24
+ const dotEnvPath = (0, path_1.resolve)(process.cwd(), '.env');
25
+ if ((0, fs_1.existsSync)(dotEnvPath)) {
26
+ const content = (0, fs_1.readFileSync)(dotEnvPath, 'utf8');
27
+ const hasContent = /^\s*(?!#)[\w]/m.test(content); // At least one line with a variable
28
+ if (hasContent) {
29
+ dotenv_1.default.config();
30
+ }
31
+ }
11
32
  const DEFAULT_CONTROLHUB_URL = 'https://app.amikoo.ai';
12
33
  function getControlHubUrl() {
13
34
  const raw = (process.env.CONTROLHUB_URL || '').trim();
@@ -40,9 +61,12 @@ async function apiRequest(options) {
40
61
  const response = await fetch(url, fetchOptions);
41
62
  const responseData = await response.json();
42
63
  if (!response.ok || !responseData.success) {
64
+ const errPayload = responseData.data && Object.keys(responseData.data).length
65
+ ? responseData.data
66
+ : responseData.message || `Request failed (${response.status})`;
43
67
  return {
44
68
  success: false,
45
- error: responseData.data || responseData.message || 'Request failed',
69
+ error: errPayload,
46
70
  };
47
71
  }
48
72
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../controlHub/apiUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../controlHub/apiUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controlHubReporter.d.ts","sourceRoot":"","sources":["../controlHub/controlHubReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKrD,OAAO,EAAyB,cAAc,EAA0B,MAAM,mBAAmB,CAAC;AAKlG,cAAM,UAAW,YAAW,QAAQ;IAElC,iBAAiB,EAAE,GAAG,EAAE,CAAM;IAC9B,MAAM,EAAE,GAAG,EAAE,CAAM;IACnB,WAAW,EAAE,cAAc,EAAE,CAAM;IACnC,QAAQ,EAAE,GAAG,CAAC;IACd,cAAc,EAAE,MAAM,CAAM;IAC5B,eAAe,EAAE,MAAM,CAAK;IAC5B,OAAO,EAAE,GAAG,EAAE,CAAM;IACpB,kBAAkB,EAAE,MAAM,CAAK;IAC/B,OAAO,EAAE,MAAM,CAAgB;IAC/B,gBAAgB,EAAE,OAAO,CAAS;IAClC,yBAAyB,EAAE,GAAG,EAAE,CAAM;IACtC,GAAG,EAAE,GAAG,CAAC;IACT,eAAe,EAAE,GAAG,EAAE,CAAM;IAE5B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAA8B;IAE3C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IA6C/B,WAAW,CAAC,IAAI,EAAE,GAAG;IAIrB,OAAO,CAAC,KAAK,EAAE,GAAG;IAalB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IAgFhC,KAAK,CAAC,MAAM,EAAE,GAAG;CAqFxB;AACD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"controlHubReporter.d.ts","sourceRoot":"","sources":["../controlHub/controlHubReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKrD,OAAO,EAAyB,cAAc,EAAiD,MAAM,mBAAmB,CAAC;AAKzH,cAAM,UAAW,YAAW,QAAQ;IAElC,iBAAiB,EAAE,GAAG,EAAE,CAAM;IAC9B,MAAM,EAAE,GAAG,EAAE,CAAM;IACnB,WAAW,EAAE,cAAc,EAAE,CAAM;IACnC,QAAQ,EAAE,GAAG,CAAC;IACd,cAAc,EAAE,MAAM,CAAM;IAC5B,eAAe,EAAE,MAAM,CAAK;IAC5B,OAAO,EAAE,GAAG,EAAE,CAAM;IACpB,kBAAkB,EAAE,MAAM,CAAK;IAC/B,OAAO,EAAE,MAAM,CAAgB;IAC/B,gBAAgB,EAAE,OAAO,CAAS;IAClC,yBAAyB,EAAE,GAAG,EAAE,CAAM;IACtC,GAAG,EAAE,GAAG,CAAC;IACT,eAAe,EAAE,GAAG,EAAE,CAAM;IAE5B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAA8B;IAE3C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAwD/B,WAAW,CAAC,IAAI,EAAE,GAAG;IAIrB,OAAO,CAAC,KAAK,EAAE,GAAG;IAalB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IA+EhC,KAAK,CAAC,MAAM,EAAE,GAAG;CA0FxB;AACD,eAAe,UAAU,CAAC"}
@@ -44,7 +44,17 @@ class MyReporter {
44
44
  this.branch = context.branch;
45
45
  this.owner = context.owner;
46
46
  if (!this.access_token) {
47
+ const keySource = (0, amikooArtifacts_1.detectAmikooKeySource)(this.key);
47
48
  console.warn('\n⚠ Warning: Failed to obtain access token');
49
+ if (keySource) {
50
+ console.warn(` We tried to get AMIKOO_KEY from (best effort): ${keySource}`);
51
+ }
52
+ if (this.key) {
53
+ console.warn(' AMIKOO_KEY is set but failed to obtain access token. Verify the key is correct.');
54
+ }
55
+ else {
56
+ console.warn(' AMIKOO_KEY is not set (or still has default value). Set it in .env.amikoo file or .env file and retry.');
57
+ }
48
58
  console.warn(' Feedback data will not be sent to amikoo-reporter, and execution data will not be saved.\n');
49
59
  }
50
60
  else {
@@ -129,14 +139,13 @@ class MyReporter {
129
139
  fileLocation: fileLocation,
130
140
  fullTitle: fullTitle,
131
141
  },
142
+ name: test.title,
132
143
  filePath,
133
144
  fullTitle,
134
145
  duration: duration,
135
146
  executionAt: new Date().toISOString(),
136
147
  result: result.status === "passed" ? true : false,
137
- error: errorData,
138
- systemOutput: '',
139
- systemError: '',
148
+ error: errorData
140
149
  };
141
150
  this.testExecutionData.push(payload);
142
151
  // Collect video for later batch processing
@@ -197,9 +206,14 @@ class MyReporter {
197
206
  }
198
207
  }
199
208
  else {
200
- const errorData = (feedbackResponse.error || {});
209
+ const errorData = feedbackResponse.error;
210
+ const errorMsg = !errorData
211
+ ? 'Unknown error'
212
+ : typeof errorData === 'string'
213
+ ? errorData
214
+ : errorData.message || JSON.stringify(errorData);
201
215
  console.error(`\n✖ Failed to send execution report\n`);
202
- console.error(` ${errorData.message || errorData}\n`);
216
+ console.error(` ${errorMsg}\n`);
203
217
  if (errorData.activeRepositories?.length) {
204
218
  console.error(` Available repositories:`);
205
219
  errorData.activeRepositories.forEach((repo) => {
@@ -1 +1 @@
1
- {"version":3,"file":"controlHubReporter.js","sourceRoot":"","sources":["../controlHub/controlHubReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controlHubReporter.js","sourceRoot":"","sources":["../controlHub/controlHubReporter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../controlHub/gitUtils.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAwHD,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA2B7E"}
1
+ {"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../controlHub/gitUtils.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAwHD,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA2B7E"}
package/dist/gitUtils.js CHANGED
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.getGitContext = getGitContext;
7
4
  const child_process_1 = require("child_process");
8
- const dotenv_1 = __importDefault(require("dotenv"));
9
5
  const apiUtils_1 = require("./apiUtils");
10
- dotenv_1.default.config();
11
6
  // Parse Azure DevOps repository URL to extract its components
12
7
  // Supports formats:
13
8
  // - https://username@dev.azure.com/organization/project/_git/repository
@@ -1 +1 @@
1
- {"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../controlHub/gitUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitUtils.js","sourceRoot":"","sources":["../controlHub/gitUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"videoUtils.d.ts","sourceRoot":"","sources":["../controlHub/videoUtils.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAGhD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,GAAG,EAAE,EACb,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC,CA0BtD;AAsDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAqCvF"}
1
+ {"version":3,"file":"videoUtils.d.ts","sourceRoot":"","sources":["../controlHub/videoUtils.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAGhD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,GAAG,EAAE,EACb,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC,CA+BtD;AAsDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAqCvF"}
@@ -83,7 +83,12 @@ async function processVideos(videos, organizationId, executionNumber, token) {
83
83
  }
84
84
  }
85
85
  else {
86
- console.log(' ℹ Missing required parameters for video processing');
86
+ const missing = [
87
+ !videos.length && 'videos (none captured)',
88
+ !organizationId && 'could not get organization ID',
89
+ !executionNumber && 'could not get execution number',
90
+ ].filter(Boolean).join(', ');
91
+ console.log(` ℹ Missing required parameters for video processing: ${missing}`);
87
92
  }
88
93
  return { videos: processed, uploadUrls };
89
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"videoUtils.js","sourceRoot":"","sources":["../controlHub/videoUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"videoUtils.js","sourceRoot":"","sources":["../controlHub/videoUtils.ts"],"names":[],"mappings":"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"}
package/install.js CHANGED
@@ -2,13 +2,98 @@
2
2
 
3
3
  const fs = require('fs');
4
4
  const path = require('path');
5
+ const { spawnSync } = require('child_process');
5
6
 
6
- const userProjectRoot = process.env.INIT_CWD || process.cwd();
7
7
  const packageRoot = __dirname;
8
8
 
9
+ // ---------------------------------------------------------------------------
10
+ // Project Root And Key Resolution
11
+ // ---------------------------------------------------------------------------
12
+
13
+ function findPlaywrightConfig(dir) {
14
+ if (!dir) return null;
15
+ const tsPath = path.join(dir, 'playwright.config.ts');
16
+ if (fs.existsSync(tsPath)) return tsPath;
17
+ const jsPath = path.join(dir, 'playwright.config.js');
18
+ if (fs.existsSync(jsPath)) return jsPath;
19
+ return null;
20
+ }
21
+
22
+ function hasPackageJson(dir) {
23
+ if (!dir) return false;
24
+ return fs.existsSync(path.join(dir, 'package.json'));
25
+ }
26
+
27
+ // Resolve the user project root across install modes. A simple
28
+ // `process.env.INIT_CWD || process.cwd()` is not always enough because
29
+ // lifecycle and manual invocations can differ and sometimes point to this
30
+ // package's own directory. We therefore prefer the first non-packageRoot
31
+ // candidate that already looks like a project, then fall back to the first
32
+ // non-packageRoot candidate to avoid writing files inside this package.
33
+ function resolveUserProjectRoot() {
34
+ const pwd = process.env.PWD ? path.resolve(process.env.PWD) : null;
35
+ const initCwd = process.env.INIT_CWD ? path.resolve(process.env.INIT_CWD) : null;
36
+
37
+ // When PWD is a different directory from INIT_CWD (nested scenario), prefer PWD
38
+ // as the target even if it doesn't yet look like a project. This handles cases
39
+ // where the user runs from a subdirectory (e.g. apps/e2e) that should get its
40
+ // own playwright config rather than modifying the parent's.
41
+ if (pwd && pwd !== packageRoot && initCwd && pwd !== initCwd) {
42
+ return pwd;
43
+ }
44
+
45
+ const candidates = [
46
+ // PWD usually reflects where the user invoked install from.
47
+ pwd,
48
+ // INIT_CWD is npm's original invocation directory.
49
+ initCwd,
50
+ // cwd is the script process working directory.
51
+ process.cwd(),
52
+ ].filter(Boolean).map(dir => path.resolve(dir));
53
+
54
+ const uniqueCandidates = [...new Set(candidates)];
55
+
56
+ const nonPackageCandidates = uniqueCandidates.filter(dir => dir !== packageRoot);
57
+
58
+ // Prefer a non-packageRoot candidate that looks like a project directory.
59
+ const projectLikeCandidate = nonPackageCandidates.find(
60
+ dir => findPlaywrightConfig(dir) || hasPackageJson(dir)
61
+ );
62
+ if (projectLikeCandidate) {
63
+ return projectLikeCandidate;
64
+ }
65
+
66
+ // Fallback for unusual environments: use the first non-packageRoot
67
+ // candidate even if it does not yet look like a project.
68
+ return nonPackageCandidates[0] || uniqueCandidates[0] || process.cwd();
69
+ }
70
+
71
+ const userProjectRoot = resolveUserProjectRoot();
72
+
9
73
  const REPORTER_MODULE = '@muuktest/amikoo-reporter';
10
74
  const REPORTER_ENTRY = `['${REPORTER_MODULE}']`;
11
75
  const AMIKOO_PLAYWRIGHT_PACKAGE = '@muuktest/amikoo-playwright/reporter';
76
+ const AMIKOO_KEY_LINE_REGEX = /^\s*(?:export\s+)?AMIKOO_KEY\s*=.*$/m;
77
+ const AMIKOO_KEY_VALUE_REGEX = /^\s*(?:export\s+)?AMIKOO_KEY\s*=\s*(.*)$/m;
78
+
79
+ function resolveInstallAmikooKey() {
80
+ // CLI argument: --amikoo-key=VALUE (manual invocation)
81
+ const cliArg = process.argv.find(a => a.startsWith('--amikoo-key='));
82
+ if (cliArg) {
83
+ const val = cliArg.split('=').slice(1).join('=').trim();
84
+ if (val) return { value: val, source: 'cli', shouldPersist: true };
85
+ }
86
+
87
+ // npm forwards unknown CLI flags as npm_config_* env vars to lifecycle scripts.
88
+ const npmConfigKey = (process.env.npm_config_amikoo_key || '').trim();
89
+ if (npmConfigKey) return { value: npmConfigKey, source: 'npm_config', shouldPersist: true };
90
+
91
+ // Environment variable is used for the session but not persisted to file.
92
+ const envKey = (process.env.AMIKOO_KEY || '').trim();
93
+ if (envKey) return { value: envKey, source: 'env', shouldPersist: false };
94
+
95
+ return { value: '', source: 'none', shouldPersist: false };
96
+ }
12
97
 
13
98
  // ---------------------------------------------------------------------------
14
99
  // Helpers
@@ -435,19 +520,6 @@ function ensureVideoOn(content) {
435
520
  // configurePlaywright
436
521
  // ---------------------------------------------------------------------------
437
522
 
438
- function findPlaywrightConfig() {
439
- const tsPath = path.join(userProjectRoot, 'playwright.config.ts');
440
- if (fs.existsSync(tsPath)) {
441
- return tsPath;
442
- }
443
-
444
- const jsPath = path.join(userProjectRoot, 'playwright.config.js');
445
- if (fs.existsSync(jsPath)) {
446
- return jsPath;
447
- }
448
-
449
- return null;
450
- }
451
523
 
452
524
  function createDefaultConfig() {
453
525
  const configPath = path.join(userProjectRoot, 'playwright.config.ts');
@@ -463,7 +535,7 @@ function createDefaultConfig() {
463
535
  }
464
536
 
465
537
  function configurePlaywright() {
466
- const configPath = findPlaywrightConfig();
538
+ const configPath = findPlaywrightConfig(userProjectRoot);
467
539
 
468
540
  if (!configPath) {
469
541
  console.log(' No playwright config found.');
@@ -475,9 +547,11 @@ function configurePlaywright() {
475
547
  console.log(` Found playwright.config${ext}`);
476
548
 
477
549
  const original = fs.readFileSync(configPath, 'utf8');
550
+ const hadReporter = hasActiveOccurrence(original, REPORTER_MODULE);
551
+ const hadVideoOn = /\bvideo\s*:\s*['"]on['"]/.test(original);
478
552
 
479
553
  // Already configured (uncommented)?
480
- const alreadyConfigured = hasActiveOccurrence(original, REPORTER_MODULE);
554
+ const alreadyConfigured = hadReporter;
481
555
 
482
556
  let modified;
483
557
  if (alreadyConfigured) {
@@ -496,14 +570,22 @@ function configurePlaywright() {
496
570
 
497
571
  // Ensure video: 'on' in use block.
498
572
  const withVideo = ensureVideoOn(reordered);
573
+ const hasVideoOn = /\bvideo\s*:\s*['"]on['"]/.test(withVideo);
574
+
575
+ // A flag to indicate if video was updated from off to on during this run.
576
+ const videoUpdated = !hadVideoOn && hasVideoOn;
499
577
 
500
578
  if (withVideo !== original) {
501
579
  fs.writeFileSync(configPath, withVideo, 'utf8');
502
- if (alreadyConfigured) {
503
- console.log(' amikoo-reporter already configured. Adjusted config where needed.\n');
504
- } else {
580
+ if (!alreadyConfigured) {
505
581
  console.log(' amikoo-reporter added to playwright config.\n');
506
582
  }
583
+ if (videoUpdated) {
584
+ console.log(" Enabled Playwright video capture: use.video = 'on'.\n");
585
+ }
586
+ if (alreadyConfigured && !videoUpdated) {
587
+ console.log(' amikoo-reporter already configured. Adjusted config where needed.\n');
588
+ }
507
589
  } else {
508
590
  console.log(' amikoo-reporter already configured. No changes needed.\n');
509
591
  }
@@ -513,29 +595,171 @@ function configurePlaywright() {
513
595
  // configureEnv
514
596
  // ---------------------------------------------------------------------------
515
597
 
516
- function configureEnv() {
517
- const envPath = path.join(userProjectRoot, '.env');
598
+ function resolveEnvTargetPath() {
599
+ const amikooEnvPath = path.join(userProjectRoot, '.env.amikoo');
600
+ const dotEnvPath = path.join(userProjectRoot, '.env');
601
+
602
+ // Backward compat: if .env already has AMIKOO_KEY, work on .env instead
603
+ if (!fs.existsSync(amikooEnvPath) && fs.existsSync(dotEnvPath)) {
604
+ const dotEnvContent = fs.readFileSync(dotEnvPath, 'utf8');
605
+ if (AMIKOO_KEY_LINE_REGEX.test(dotEnvContent)) {
606
+ return dotEnvPath;
607
+ }
608
+ }
609
+
610
+ return amikooEnvPath;
611
+ }
612
+
613
+ function configureEnv(installKey) {
614
+ const targetPath = resolveEnvTargetPath();
615
+
518
616
  const keyLine = 'AMIKOO_KEY=your_amikoo_key_here';
617
+ const resolvedKeyLine = installKey ? `AMIKOO_KEY=${installKey}` : keyLine;
519
618
 
520
- if (!fs.existsSync(envPath)) {
521
- fs.writeFileSync(envPath, `# amikoo-reporter Configuration\n${keyLine}\n`, 'utf8');
522
- console.log(' Created .env — please update AMIKOO_KEY with your actual key.\n');
619
+ if (!fs.existsSync(targetPath)) {
620
+ fs.writeFileSync(targetPath, `# amikoo-reporter Configuration\n${resolvedKeyLine}\n`, 'utf8');
621
+ if (installKey) {
622
+ console.log(` Created ${path.basename(targetPath)} with AMIKOO_KEY from installation parameter.\n`);
623
+ process.stderr.write(`amikoo-reporter: AMIKOO_KEY set in ${targetPath}\n`);
624
+ } else {
625
+ console.log(` Created ${path.basename(targetPath)} — please update AMIKOO_KEY with your actual key.\n`);
626
+ }
523
627
  } else {
524
- const content = fs.readFileSync(envPath, 'utf8');
525
- if (content.includes('AMIKOO_KEY')) {
526
- console.log(' AMIKOO_KEY already present in .env. Skipping.\n');
628
+ const content = fs.readFileSync(targetPath, 'utf8');
629
+ const hasAmikooKeyLine = AMIKOO_KEY_LINE_REGEX.test(content);
630
+ if (hasAmikooKeyLine) {
631
+ if (installKey) {
632
+ const updated = content.replace(AMIKOO_KEY_LINE_REGEX, `AMIKOO_KEY=${installKey}`);
633
+ if (updated !== content) {
634
+ fs.writeFileSync(targetPath, updated, 'utf8');
635
+ console.log(` Updated AMIKOO_KEY in existing ${path.basename(targetPath)} from installation parameter.\n`);
636
+ process.stderr.write(`amikoo-reporter: AMIKOO_KEY set in ${targetPath}\n`);
637
+ } else {
638
+ console.log(` AMIKOO_KEY already present in ${path.basename(targetPath)}. No changes needed.\n`);
639
+ }
640
+ } else {
641
+ console.log(` AMIKOO_KEY already present in ${path.basename(targetPath)}. Skipping.\n`);
642
+ }
527
643
  } else {
528
644
  const separator = content.endsWith('\n') ? '' : '\n';
529
- fs.appendFileSync(envPath, `${separator}\n# amikoo-reporter Configuration\n${keyLine}\n`, 'utf8');
530
- console.log(' Appended AMIKOO_KEY to existing .env.\n');
645
+ fs.appendFileSync(targetPath, `${separator}\n# amikoo-reporter Configuration\n${resolvedKeyLine}\n`, 'utf8');
646
+ if (installKey) {
647
+ console.log(` Appended AMIKOO_KEY from installation parameter to existing ${path.basename(targetPath)}.\n`);
648
+ process.stderr.write(`amikoo-reporter: AMIKOO_KEY set in ${targetPath}\n`);
649
+ } else {
650
+ console.log(` Appended AMIKOO_KEY to existing ${path.basename(targetPath)}.\n`);
651
+ }
531
652
  }
532
653
  }
654
+
655
+ return path.basename(targetPath);
533
656
  }
534
657
 
535
658
  // ---------------------------------------------------------------------------
536
659
  // Main
537
660
  // ---------------------------------------------------------------------------
538
661
 
662
+
663
+ // No npm_lifecycle_event environment variable is for cases when running directly,
664
+ // for example running with npx or node
665
+ const isManualRun = process.argv.includes('init') || !process.env.npm_lifecycle_event;
666
+ const isExplicitInit = process.argv.includes('init');
667
+
668
+ // ---------------------------------------------------------------------------
669
+ // Dependency Installation Helpers
670
+ // ---------------------------------------------------------------------------
671
+
672
+ // We detect the package manager so this installer uses the same tool the project
673
+ // already uses, instead of forcing npm.
674
+ function detectPackageManager(dir) {
675
+ if (fs.existsSync(path.join(dir, 'pnpm-lock.yaml'))) return 'pnpm';
676
+ if (fs.existsSync(path.join(dir, 'yarn.lock'))) return 'yarn';
677
+ if (fs.existsSync(path.join(dir, 'bun.lockb')) || fs.existsSync(path.join(dir, 'bun.lock'))) return 'bun';
678
+ const ua = process.env.npm_config_user_agent || '';
679
+ if (ua.startsWith('pnpm')) return 'pnpm';
680
+ if (ua.startsWith('yarn')) return 'yarn';
681
+ if (ua.startsWith('bun')) return 'bun';
682
+ // If there is no package.json and no lockfile and no helpful user-agent, detection falls back to npm
683
+ return 'npm';
684
+ }
685
+
686
+ function isReporterInstalled(dir) {
687
+ const pkgJsonPath = path.join(dir, 'package.json');
688
+ if (fs.existsSync(pkgJsonPath)) {
689
+ try {
690
+ const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8'));
691
+ const deps = { ...(pkg.dependencies || {}), ...(pkg.devDependencies || {}), ...(pkg.optionalDependencies || {}) };
692
+ if (deps[REPORTER_MODULE]) return true;
693
+ } catch {
694
+ // Ignore malformed package.json — fall through to node_modules check
695
+ }
696
+ }
697
+ return fs.existsSync(path.join(dir, 'node_modules', REPORTER_MODULE, 'package.json'));
698
+ }
699
+
700
+ function ensureReporterInstalled() {
701
+ if (isReporterInstalled(userProjectRoot)) return true;
702
+
703
+ // Reporter not installed at this point. This is the specific case where the user explicitly
704
+ // ran `npx @muuktest/amikoo-reporter init` but the installation was not run previously.
705
+ // Need a package.json to record the dependency
706
+ if (!fs.existsSync(path.join(userProjectRoot, 'package.json'))) {
707
+ console.log(` No package.json found in ${userProjectRoot}.`);
708
+ console.log(` Initializing one so ${REPORTER_MODULE} can be saved as a devDependency...`);
709
+ try {
710
+ fs.writeFileSync(
711
+ path.join(userProjectRoot, 'package.json'),
712
+ JSON.stringify({ name: path.basename(userProjectRoot), version: '1.0.0', private: true }, null, 2) + '\n',
713
+ 'utf8'
714
+ );
715
+ } catch (err) {
716
+ console.error(` ✖ Could not create package.json: ${err.message}`);
717
+ console.error(` Please run: npm init -y && npm install --save-dev ${REPORTER_MODULE}\n`);
718
+ return false;
719
+ }
720
+ }
721
+
722
+ const pm = detectPackageManager(userProjectRoot);
723
+ const commands = {
724
+ npm: { cmd: 'npm', args: ['install', '--save-dev', REPORTER_MODULE] },
725
+ yarn: { cmd: 'yarn', args: ['add', '--dev', REPORTER_MODULE] },
726
+ pnpm: { cmd: 'pnpm', args: ['add', '--save-dev', REPORTER_MODULE] },
727
+ bun: { cmd: 'bun', args: ['add', '--dev', REPORTER_MODULE] },
728
+ };
729
+ const { cmd, args } = commands[pm];
730
+
731
+ console.log(` ${REPORTER_MODULE} is not installed in this project.`);
732
+ console.log(` Installing with: ${cmd} ${args.join(' ')}\n`);
733
+
734
+ // Clear npm lifecycle vars so the spawned install runs cleanly and its
735
+ // postinstall (which re-invokes this script) targets userProjectRoot.
736
+ const childEnv = { ...process.env, INIT_CWD: userProjectRoot };
737
+ delete childEnv.npm_lifecycle_event;
738
+ delete childEnv.npm_lifecycle_script;
739
+ delete childEnv.npm_command;
740
+
741
+ const result = spawnSync(cmd, args, {
742
+ cwd: userProjectRoot,
743
+ stdio: 'inherit',
744
+ env: childEnv,
745
+ shell: process.platform === 'win32',
746
+ });
747
+
748
+ if (result.error && result.error.code === 'ENOENT') {
749
+ console.error(`\n ✖ Could not find "${cmd}" on PATH.`);
750
+ console.error(` Please install manually: npm install --save-dev ${REPORTER_MODULE}\n`);
751
+ return false;
752
+ }
753
+ if (result.status !== 0) {
754
+ console.error(`\n ✖ ${cmd} exited with code ${result.status}.`);
755
+ console.error(` Please install manually: ${cmd} ${args.join(' ')}\n`);
756
+ return false;
757
+ }
758
+
759
+ console.log(`\n ✔ ${REPORTER_MODULE} installed as devDependency.\n`);
760
+ return true;
761
+ }
762
+
539
763
  function install() {
540
764
  try {
541
765
  if (userProjectRoot === packageRoot) {
@@ -543,15 +767,58 @@ function install() {
543
767
  return;
544
768
  }
545
769
 
546
- console.log('Installing amikoo-reporter...\n');
770
+ if (isManualRun) {
771
+ console.log('amikoo-reporter init\n');
772
+ // When invoked explicitly as `npx @muuktest/amikoo-reporter init`, make
773
+ // sure the reporter is a real devDependency of the user's project.
774
+ // The child install will re-invoke this script via postinstall, which
775
+ // performs playwright/env configuration; we still run those below to
776
+ // guarantee configuration in cases where postinstall was skipped
777
+ // (e.g. --ignore-scripts).
778
+ if (isExplicitInit) {
779
+ const installed = ensureReporterInstalled();
780
+ if (!installed) {
781
+ console.log(' Continuing with configuration only (dependency not saved).\n');
782
+ }
783
+ }
784
+ } else {
785
+ console.log('Installing amikoo-reporter...\n');
786
+ }
547
787
 
548
788
  configurePlaywright();
549
- configureEnv();
550
789
 
551
- console.log('amikoo-reporter installation complete!\n');
552
- console.log('Next steps:');
553
- console.log(' 1. Update your .env file with your AMIKOO_KEY');
554
- console.log(' 2. Run your tests: npx playwright test\n');
790
+ const { value: installKey, source: installKeySource, shouldPersist: shouldPersistKey } = resolveInstallAmikooKey();
791
+ let envFile = '.env.amikoo';
792
+ envFile = configureEnv(shouldPersistKey ? installKey : '');
793
+
794
+ if (isManualRun) {
795
+ console.log('amikoo-reporter configuration complete!\n');
796
+ } else {
797
+ console.log('amikoo-reporter installation complete!\n');
798
+ }
799
+ if (shouldPersistKey && installKey) {
800
+ console.log(`We configured AMIKOO_KEY in ${envFile} with value provided!\n`);
801
+ console.log('Run your tests: npx playwright test\n');
802
+ } else if (installKey && installKeySource === 'env') {
803
+ console.log('AMIKOO_KEY detected and used from environment for this run (not taken from env files).\n');
804
+ console.log('Run your tests: npx playwright test\n');
805
+ } else {
806
+ // Check if the env file already has a real key (not placeholder)
807
+ const envFilePath = path.join(userProjectRoot, envFile);
808
+ const envContent = fs.existsSync(envFilePath) ? fs.readFileSync(envFilePath, 'utf8') : '';
809
+ const keyMatch = envContent.match(AMIKOO_KEY_VALUE_REGEX);
810
+ const existingKey = keyMatch ? keyMatch[1].trim() : '';
811
+ const isLikelyARealKey = existingKey && existingKey !== 'your_amikoo_key_here';
812
+
813
+ if (isLikelyARealKey) {
814
+ console.log(`AMIKOO_KEY is already configured in ${envFile}.\n`);
815
+ console.log('Run your tests: npx playwright test\n');
816
+ } else {
817
+ console.log('Next steps:');
818
+ console.log(` 1. Update your ${envFile} file with your AMIKOO_KEY (or export AMIKOO_KEY in your shell)`);
819
+ console.log(' 2. Run your tests: npx playwright test\n');
820
+ }
821
+ }
555
822
  } catch (error) {
556
823
  console.error('Installation error:', error.message);
557
824
  console.error(`You may need to manually add the reporter to your playwright config:`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muuktest/amikoo-reporter",
3
- "version": "1.2.0",
3
+ "version": "1.3.2-beta.0",
4
4
  "description": "Playwright reporter for Amikoo - automatically installs and configures test reporting to Amikoo AI",
5
5
  "main": "dist/controlHubReporter.js",
6
6
  "types": "dist/controlHubReporter.d.ts",
@@ -10,10 +10,15 @@
10
10
  "default": "./dist/controlHubReporter.js"
11
11
  }
12
12
  },
13
+ "bin": {
14
+ "amikoo-reporter": "install.js"
15
+ },
13
16
  "scripts": {
14
17
  "build": "rm -rf dist && tsc",
18
+ "test": "node --test",
15
19
  "prepublishOnly": "npm run build",
16
- "postinstall": "node install.js"
20
+ "postinstall": "node install.js",
21
+ "test:amikoo": "playwright test --reporter=@muuktest/amikoo-reporter"
17
22
  },
18
23
  "files": [
19
24
  "dist/**/*",