ado-sync 0.1.9 → 0.1.11

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
@@ -2,7 +2,7 @@
2
2
 
3
3
  Bidirectional sync between local test specs and Azure DevOps Test Cases.
4
4
 
5
- Supports **Cucumber / Gherkin** `.feature` files and **prose Markdown** `.md` spec files (including Playwright test-plan markdown generated by the Playwright MCP agent).
5
+ Supports **Cucumber / Gherkin** `.feature` files, **prose Markdown** `.md` spec files (including Playwright test-plan markdown generated by the Playwright MCP agent), and **Azure DevOps tabular exports** in **CSV** and **Excel** (`.xlsx`) format.
6
6
  Inspired by [SpecSync](https://docs.specsolutions.eu/specsync/).
7
7
 
8
8
  ---
@@ -14,8 +14,10 @@ Local files ado-sync Azure DevOps
14
14
  ────────────── ───────────────── ────────────────
15
15
  .feature files ── push ──► create / update ──► Test Cases
16
16
  .md spec files ◄── pull ── apply changes ◄── (Work Items)
17
+ .csv files ── push ──► (push-only)
18
+ .xlsx files ── push ──► (push-only)
17
19
  write ID back
18
- @tc:12345 / <!-- tc: 12345 -->
20
+ @tc:12345 / <!-- tc: 12345 --> / col A
19
21
  ```
20
22
 
21
23
  On the **first push** of a scenario, a new Test Case is created in Azure DevOps and its ID is written back into the local file as a tag or comment. Every subsequent push uses that ID to update the existing Test Case. Pulling fetches the latest title and steps from Azure and overwrites the local file.
@@ -305,7 +307,7 @@ To sync the same repository against multiple Test Plans, use the `testPlans` arr
305
307
 
306
308
  | Field | Description |
307
309
  |-------|-------------|
308
- | `type` | `"gherkin"` for `.feature` files · `"markdown"` for prose `.md` specs |
310
+ | `type` | `"gherkin"` · `"markdown"` · `"csv"` · `"excel"` see [Spec file formats](#spec-file-formats) |
309
311
  | `include` | Glob pattern(s) relative to the config file. String or array. |
310
312
  | `exclude` | *(Optional)* Glob pattern(s) to exclude. String or array. |
311
313
 
@@ -329,6 +331,13 @@ To sync the same repository against multiple Test Plans, use the `testPlans` arr
329
331
 
330
332
  After a scenario is pushed for the first time, ado-sync writes the Azure Test Case ID back into the local file. The format depends on the spec type.
331
333
 
334
+ | Format | Writeback location |
335
+ |--------|--------------------|
336
+ | Gherkin | `@tc:12345` tag above the `Scenario:` line |
337
+ | Markdown | `<!-- tc: 12345 -->` comment after the `### heading` |
338
+ | CSV | Numeric ID in column A of the matching title row |
339
+ | Excel | Numeric ID in cell A of the matching title row |
340
+
332
341
  ### Gherkin
333
342
 
334
343
  The ID tag is inserted on its own line immediately above the `Scenario:` or `Scenario Outline:` keyword:
@@ -536,6 +545,75 @@ Markdown `.md` files generated by the [Playwright MCP agent](https://playwright.
536
545
 
537
546
  ---
538
547
 
548
+ ### CSV `.csv`
549
+
550
+ Set `local.type: "csv"` to parse Azure DevOps / SpecSync tabular CSV exports.
551
+
552
+ **Expected column layout (9 columns):**
553
+
554
+ | Col | Field | Description |
555
+ |-----|-------|-------------|
556
+ | A (0) | ID | Azure Test Case ID — empty for new cases, filled in after first push |
557
+ | B (1) | Work Item Type | Always `Test Case` (ignored) |
558
+ | C (2) | Title | `Scenario: My test` or just `My test` — non-empty on the header row, empty on step rows |
559
+ | D (3) | Test Step | Step number (1, 2, …) — empty on the header row |
560
+ | E (4) | Step Action | Step text, optionally prefixed with a Gherkin keyword (`Given`, `When`, `Then`, …) |
561
+ | F (5) | Step Expected | Expected result text (optional) |
562
+ | G–I (6–8) | Area Path, Assigned To, State | Preserved but not used during parse |
563
+
564
+ **Example CSV:**
565
+
566
+ ```csv
567
+ ID,Work Item Type,Title,Test Step,Step Action,Step Expected,Area Path,Assigned To,State
568
+ "","Test Case","Scenario: Login happy path",,,,...
569
+ ,,,,,"1","Given I open the app","",,...
570
+ ,,,,,"2","When I enter valid credentials","Then I see the dashboard",...
571
+ "","Test Case","Scenario: Login with bad password",,,,...
572
+ ,,,,,"1","Given I enter wrong credentials","Then I see an error",...
573
+ ```
574
+
575
+ The first row (column headers) is always skipped automatically.
576
+
577
+ **ID writeback:** After the first push, the numeric TC ID is written into **column A** of the matching title row.
578
+
579
+ > **Note:** Pull (`ado-sync pull`) is **not supported** for CSV files — these files are typically generated by external tools (e.g. the Playwright planner agent) and are not hand-authored. Only push is supported.
580
+
581
+ **Config example:**
582
+
583
+ ```json
584
+ {
585
+ "local": {
586
+ "type": "csv",
587
+ "include": "specs/**/*.csv"
588
+ }
589
+ }
590
+ ```
591
+
592
+ ---
593
+
594
+ ### Excel `.xlsx`
595
+
596
+ Set `local.type: "excel"` to parse Azure DevOps / SpecSync tabular Excel exports.
597
+
598
+ The xlsx format uses the same 9-column layout as CSV above. ado-sync reads the raw worksheet XML directly (no heavyweight xlsx library required) and handles both plain-string (`t="str"`) and rich-text inline-string (`t="inlineStr"`) cells produced by Azure DevOps exports.
599
+
600
+ **ID writeback:** After the first push, the numeric TC ID is written into **cell A** of the matching title row and the file is repacked in place.
601
+
602
+ > **Note:** Pull (`ado-sync pull`) is **not supported** for Excel files for the same reason as CSV — these are externally generated files. Only push is supported.
603
+
604
+ **Config example:**
605
+
606
+ ```json
607
+ {
608
+ "local": {
609
+ "type": "excel",
610
+ "include": "specs/**/*.xlsx"
611
+ }
612
+ }
613
+ ```
614
+
615
+ ---
616
+
539
617
  ## Work item linking
540
618
 
541
619
  Tags matching a configured `links` prefix are turned into Azure DevOps work item relations on the Test Case.
@@ -800,3 +878,12 @@ Delete `.ado-sync-state.json` to reset the cache. The next push will re-populate
800
878
 
801
879
  **`init` generated JSON instead of YAML**
802
880
  Pass the filename as a positional argument: `ado-sync init ado-sync.yml` (not `--output`).
881
+
882
+ **CSV/Excel IDs not written back**
883
+ Ensure the file is not open in Excel or another application (which would lock it). Also check that `sync.disableLocalChanges` is not `true`.
884
+
885
+ **Excel file not parsed / `No worksheet found`**
886
+ ado-sync looks for `xl/worksheets/sheet.xml` or `xl/worksheets/sheet1.xml` inside the xlsx ZIP. Files exported directly from Azure DevOps or saved by the Playwright planner agent match this structure. Workbooks re-saved by Excel may use a different sheet name — export again from Azure DevOps to regenerate a compatible file.
887
+
888
+ **Pull has no effect on CSV/Excel files**
889
+ Pull is not supported for CSV and Excel formats — these files are managed by external tools. Use `push` to sync local changes to Azure DevOps.
@@ -69,7 +69,7 @@ function escapeHtml(str) {
69
69
  .replace(/"/g, '&quot;');
70
70
  }
71
71
  function wrapDiv(text) {
72
- return `<DIV><P><B>${escapeHtml(text)}</B></P></DIV>`;
72
+ return `<DIV><P>${escapeHtml(text)}</P></DIV>`;
73
73
  }
74
74
  function buildStepsXml(steps) {
75
75
  if (steps.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"test-cases.js","sourceRoot":"","sources":["../../src/azure/test-cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-cases.js","sourceRoot":"","sources":["../../src/azure/test-cases.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -105,7 +105,9 @@ function validateConfig(cfg, filePath) {
105
105
  err('"testPlan.id" or "testPlans" array is required');
106
106
  }
107
107
  if (!cfg.local?.type)
108
- err('"local.type" is required (gherkin | markdown)');
108
+ err('"local.type" is required (gherkin | markdown | csv | excel)');
109
+ if (!['gherkin', 'markdown', 'csv', 'excel'].includes(cfg.local.type))
110
+ err(`"local.type" must be one of: gherkin, markdown, csv, excel (got "${cfg.local.type}")`);
109
111
  if (!cfg.local?.include)
110
112
  err('"local.include" is required');
111
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,8CAgBC;AAED,gCAmCC;AA8BD,wCA8BC;AAzHD,uCAAyB;AACzB,8CAAgC;AAChC,2CAA6B;AAI7B,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AAE5E,SAAgB,iBAAiB,CAAC,YAAqB;IACrD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,wCAAwC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACvE,6CAA6C,CAC9C,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,UAAkB;IAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAEnD,IAAI,MAAe,CAAC;IACpB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,GAAG,GAAG,MAAoB,CAAC;IAEjC,yCAAyC;IACzC,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,0CAA0C,CAC1E,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEhC,iBAAiB;IACjB,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC1B,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC;IAC5D,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC;IACjE,GAAG,CAAC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC;IAErE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,GAAe,EAAE,QAAgB;IACvD,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI;QAAE,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAE1F,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3D,GAAG,CAAC,0CAA0C,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtE,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAChD,GAAG,CAAC,gDAAgD,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI;QAAE,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO;QAAE,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,GAAe,EAAE,SAAmB;IACjE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,iCAAiC,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,GAAQ,GAAG,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC/D,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,gCAAgC;IACxC,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,qBAAqB;KAC7B;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,CAAC;QACL,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,MAAM;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE,EAAE;KACZ;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,cAAc;QAC1B,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,KAAK;QAC1B,cAAc,EAAE,WAAW;QAC3B,KAAK,EAAE,EAAE;KACV;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEvE,QAAA,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * CSV test spec parser.
3
+ *
4
+ * Reads the Azure DevOps / SpecSync CSV export format:
5
+ *
6
+ * ID,Work Item Type,Title,Test Step,Step Action,Step Expected,Area Path,Assigned To,State
7
+ * "24213","Test Case","Scenario: Login test",,,,...
8
+ * ,,,,"1","Given I open the app",,,,
9
+ * ,,,,"2","When I click login","Then I see dashboard",,
10
+ *
11
+ * ID writeback: updates column A on the title row for newly created test cases.
12
+ */
13
+ import { LinkConfig, ParsedTest } from '../types';
14
+ export declare function parseCsvFile(filePath: string, tagPrefix: string, linkConfigs?: LinkConfig[]): ParsedTest[];
15
+ /**
16
+ * Write (or update) the TC ID in column A of the matching title row in a CSV file.
17
+ *
18
+ * Strategy:
19
+ * 1. Parse the CSV into raw lines.
20
+ * 2. Find the data row whose Title column (col 2) normalises to the test's title.
21
+ * 3. Replace the ID field (col 0) with the new numeric id.
22
+ * 4. Re-serialise and write back.
23
+ */
24
+ export declare function writebackCsv(filePath: string, title: string, id: number): void;
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ /**
3
+ * CSV test spec parser.
4
+ *
5
+ * Reads the Azure DevOps / SpecSync CSV export format:
6
+ *
7
+ * ID,Work Item Type,Title,Test Step,Step Action,Step Expected,Area Path,Assigned To,State
8
+ * "24213","Test Case","Scenario: Login test",,,,...
9
+ * ,,,,"1","Given I open the app",,,,
10
+ * ,,,,"2","When I click login","Then I see dashboard",,
11
+ *
12
+ * ID writeback: updates column A on the title row for newly created test cases.
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.parseCsvFile = parseCsvFile;
49
+ exports.writebackCsv = writebackCsv;
50
+ const fs = __importStar(require("fs"));
51
+ const tabular_1 = require("./tabular");
52
+ // ─── RFC-4180 CSV parser ───────────────────────────────────────────────────────
53
+ /** Parse a single CSV line, handling quoted fields and escaped quotes (""). */
54
+ function parseCsvLine(line) {
55
+ const fields = [];
56
+ let i = 0;
57
+ while (i <= line.length) {
58
+ if (line[i] === '"') {
59
+ // Quoted field
60
+ let field = '';
61
+ i++;
62
+ while (i < line.length) {
63
+ if (line[i] === '"' && line[i + 1] === '"') {
64
+ field += '"';
65
+ i += 2;
66
+ }
67
+ else if (line[i] === '"') {
68
+ i++;
69
+ break;
70
+ }
71
+ else {
72
+ field += line[i++];
73
+ }
74
+ }
75
+ fields.push(field);
76
+ if (line[i] === ',')
77
+ i++;
78
+ }
79
+ else {
80
+ // Unquoted field
81
+ const end = line.indexOf(',', i);
82
+ if (end === -1) {
83
+ fields.push(line.slice(i));
84
+ break;
85
+ }
86
+ fields.push(line.slice(i, end));
87
+ i = end + 1;
88
+ }
89
+ }
90
+ return fields;
91
+ }
92
+ /** Parse CSV source text into rows of cells. Handles BOM. */
93
+ function parseCsv(source) {
94
+ // Strip BOM
95
+ const text = source.startsWith('\uFEFF') ? source.slice(1) : source;
96
+ return text
97
+ .split(/\r?\n/)
98
+ .filter((l) => l.trim() !== '')
99
+ .map(parseCsvLine);
100
+ }
101
+ // ─── Public API ───────────────────────────────────────────────────────────────
102
+ function parseCsvFile(filePath, tagPrefix, linkConfigs) {
103
+ const source = fs.readFileSync(filePath, 'utf8');
104
+ const rawRows = parseCsv(source);
105
+ const rows = rawRows.map((cells, idx) => ({
106
+ cells: cells.concat(Array(Math.max(0, 9 - cells.length)).fill('')), // pad to 9 cols
107
+ rowIndex: idx + 1, // 1-based
108
+ }));
109
+ return (0, tabular_1.parseTabularRows)(rows, filePath, tagPrefix, linkConfigs);
110
+ }
111
+ // ─── ID writeback ─────────────────────────────────────────────────────────────
112
+ /**
113
+ * Write (or update) the TC ID in column A of the matching title row in a CSV file.
114
+ *
115
+ * Strategy:
116
+ * 1. Parse the CSV into raw lines.
117
+ * 2. Find the data row whose Title column (col 2) normalises to the test's title.
118
+ * 3. Replace the ID field (col 0) with the new numeric id.
119
+ * 4. Re-serialise and write back.
120
+ */
121
+ function writebackCsv(filePath, title, id) {
122
+ const source = fs.readFileSync(filePath, 'utf8');
123
+ const hasBom = source.startsWith('\uFEFF');
124
+ const text = hasBom ? source.slice(1) : source;
125
+ const lines = text.split(/\r?\n/);
126
+ const TITLE_STRIP_RE = /^(Scenario Outline|Scenario)\s*:\s*/i;
127
+ const normalize = (s) => s.replace(TITLE_STRIP_RE, '').trim();
128
+ const updated = lines.map((line) => {
129
+ const cells = parseCsvLine(line);
130
+ const titleCell = cells[2]?.replace(/^"|"$/g, '') ?? '';
131
+ const stepCell = cells[3]?.replace(/^"|"$/g, '') ?? '';
132
+ const idCell = cells[0]?.replace(/^"|"$/g, '') ?? '';
133
+ // Match: has title, no step number, and ID is currently empty or matches a previous ID
134
+ if (titleCell && !stepCell && !idCell && normalize(titleCell) === title) {
135
+ cells[0] = `"${id}"`;
136
+ return cells.join(',');
137
+ }
138
+ return line;
139
+ });
140
+ const result = (hasBom ? '\uFEFF' : '') + updated.join('\n');
141
+ fs.writeFileSync(filePath, result, 'utf8');
142
+ }
143
+ //# sourceMappingURL=csv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/parsers/csv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Excel (.xlsx) test spec parser.
3
+ *
4
+ * Reads the Azure DevOps / SpecSync xlsx export format. The xlsx files produced
5
+ * by this toolchain use a custom non-standard structure (no shared strings,
6
+ * inline strings for rich-text step cells), so we parse the raw XML directly
7
+ * using JSZip (already a transitive dependency) instead of a heavyweight xlsx
8
+ * library that may not handle this format.
9
+ *
10
+ * Cell types observed:
11
+ * t="str" → plain string in <v>
12
+ * t="n" → number in <v>
13
+ * t="inlineStr" → rich text in <is><r><t> …</t></r></is>; concat all <t> runs
14
+ *
15
+ * ID writeback rewrites the xlsx XML in place (updates the ID cell on the
16
+ * matching title row).
17
+ */
18
+ import { LinkConfig, ParsedTest } from '../types';
19
+ export declare function parseExcelFile(filePath: string, tagPrefix: string, linkConfigs?: LinkConfig[]): Promise<ParsedTest[]>;
20
+ /**
21
+ * Write (or update) the TC ID in column A of the matching title row in an xlsx file.
22
+ *
23
+ * Strategy:
24
+ * 1. Load the xlsx zip.
25
+ * 2. Parse the sheet XML.
26
+ * 3. Find the row matching the test title where ID is currently empty.
27
+ * 4. Replace the empty ID cell XML with a numeric cell containing the new id.
28
+ * 5. Repack the zip and write back.
29
+ */
30
+ export declare function writebackExcel(filePath: string, title: string, id: number): Promise<void>;
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ /**
3
+ * Excel (.xlsx) test spec parser.
4
+ *
5
+ * Reads the Azure DevOps / SpecSync xlsx export format. The xlsx files produced
6
+ * by this toolchain use a custom non-standard structure (no shared strings,
7
+ * inline strings for rich-text step cells), so we parse the raw XML directly
8
+ * using JSZip (already a transitive dependency) instead of a heavyweight xlsx
9
+ * library that may not handle this format.
10
+ *
11
+ * Cell types observed:
12
+ * t="str" → plain string in <v>
13
+ * t="n" → number in <v>
14
+ * t="inlineStr" → rich text in <is><r><t> …</t></r></is>; concat all <t> runs
15
+ *
16
+ * ID writeback rewrites the xlsx XML in place (updates the ID cell on the
17
+ * matching title row).
18
+ */
19
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
26
+ }) : (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ o[k2] = m[k];
29
+ }));
30
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32
+ }) : function(o, v) {
33
+ o["default"] = v;
34
+ });
35
+ var __importStar = (this && this.__importStar) || (function () {
36
+ var ownKeys = function(o) {
37
+ ownKeys = Object.getOwnPropertyNames || function (o) {
38
+ var ar = [];
39
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
+ return ar;
41
+ };
42
+ return ownKeys(o);
43
+ };
44
+ return function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ })();
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.parseExcelFile = parseExcelFile;
54
+ exports.writebackExcel = writebackExcel;
55
+ const fs = __importStar(require("fs"));
56
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
57
+ const JSZip = require('jszip');
58
+ const tabular_1 = require("./tabular");
59
+ // ─── XML helpers ──────────────────────────────────────────────────────────────
60
+ /** Determine the namespace prefix used in this XML (may be "x:" or none). */
61
+ function detectNsPrefix(xml) {
62
+ const m = xml.match(/xmlns(?::(\w+))?="http:\/\/schemas\.openxmlformats\.org\/spreadsheetml\/2006\/main"/);
63
+ return m?.[1] ? `${m[1]}:` : '';
64
+ }
65
+ /** Extract the text value from a cell element string. */
66
+ function cellText(cellXml, nsPrefix) {
67
+ // inlineStr: <{ns}is> containing <{ns}r><{ns}t>…</…> runs
68
+ const isMatch = cellXml.match(new RegExp(`<${nsPrefix}is>([\\s\\S]*?)<\\/${nsPrefix}is>`));
69
+ if (isMatch) {
70
+ const tRe = new RegExp(`<${nsPrefix}t[^>]*>([\\s\\S]*?)<\\/${nsPrefix}t>`, 'g');
71
+ const parts = [];
72
+ let m;
73
+ while ((m = tRe.exec(isMatch[1])) !== null) {
74
+ parts.push(m[1].replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&').replace(/&quot;/g, '"'));
75
+ }
76
+ return parts.join('');
77
+ }
78
+ // plain value in <v>
79
+ const vMatch = cellXml.match(new RegExp(`<${nsPrefix}v>([\\s\\S]*?)<\\/${nsPrefix}v>`));
80
+ if (vMatch) {
81
+ return vMatch[1].replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&').replace(/&quot;/g, '"');
82
+ }
83
+ return '';
84
+ }
85
+ /** Parse all rows from the sheet XML. Returns array of string-array rows. */
86
+ function parseSheetXml(xml) {
87
+ const nsPrefix = detectNsPrefix(xml);
88
+ const rowRe = new RegExp(`<${nsPrefix}row([^>]*)>([\\s\\S]*?)<\\/${nsPrefix}row>`, 'g');
89
+ const cellRe = new RegExp(`<${nsPrefix}c([^>]*)>([\\s\\S]*?)<\\/${nsPrefix}c>`, 'g');
90
+ const rows = [];
91
+ let rowMatch;
92
+ while ((rowMatch = rowRe.exec(xml)) !== null) {
93
+ const rowContent = rowMatch[2];
94
+ const cells = [];
95
+ let cellMatch;
96
+ while ((cellMatch = cellRe.exec(rowContent)) !== null) {
97
+ cells.push(cellText(cellMatch[0], nsPrefix));
98
+ }
99
+ rows.push(cells);
100
+ }
101
+ return rows;
102
+ }
103
+ // ─── Public API ───────────────────────────────────────────────────────────────
104
+ async function parseExcelFile(filePath, tagPrefix, linkConfigs) {
105
+ const buffer = fs.readFileSync(filePath);
106
+ const zip = await JSZip.loadAsync(buffer);
107
+ // Find the sheet XML — may be sheet.xml or sheet1.xml
108
+ const sheetEntry = zip.file('xl/worksheets/sheet.xml') ??
109
+ zip.file('xl/worksheets/sheet1.xml');
110
+ if (!sheetEntry)
111
+ throw new Error(`No worksheet found in ${filePath}`);
112
+ const xml = await sheetEntry.async('string');
113
+ // Strip BOM if present
114
+ const cleanXml = xml.startsWith('\uFEFF') ? xml.slice(1) : xml;
115
+ const rawRows = parseSheetXml(cleanXml);
116
+ const rows = rawRows.map((cells, idx) => ({
117
+ cells: cells.concat(Array(Math.max(0, 9 - cells.length)).fill('')),
118
+ rowIndex: idx + 1, // 1-based
119
+ }));
120
+ return (0, tabular_1.parseTabularRows)(rows, filePath, tagPrefix, linkConfigs);
121
+ }
122
+ // ─── ID writeback ─────────────────────────────────────────────────────────────
123
+ /**
124
+ * Write (or update) the TC ID in column A of the matching title row in an xlsx file.
125
+ *
126
+ * Strategy:
127
+ * 1. Load the xlsx zip.
128
+ * 2. Parse the sheet XML.
129
+ * 3. Find the row matching the test title where ID is currently empty.
130
+ * 4. Replace the empty ID cell XML with a numeric cell containing the new id.
131
+ * 5. Repack the zip and write back.
132
+ */
133
+ async function writebackExcel(filePath, title, id) {
134
+ const buffer = fs.readFileSync(filePath);
135
+ const zip = await JSZip.loadAsync(buffer);
136
+ const sheetKey = zip.file('xl/worksheets/sheet.xml') ? 'xl/worksheets/sheet.xml' :
137
+ zip.file('xl/worksheets/sheet1.xml') ? 'xl/worksheets/sheet1.xml' :
138
+ null;
139
+ if (!sheetKey)
140
+ throw new Error(`No worksheet found in ${filePath}`);
141
+ let xml = await zip.file(sheetKey).async('string');
142
+ const hasBom = xml.startsWith('\uFEFF');
143
+ if (hasBom)
144
+ xml = xml.slice(1);
145
+ const nsPrefix = detectNsPrefix(xml);
146
+ const TITLE_STRIP_RE = /^(Scenario Outline|Scenario)\s*:\s*/i;
147
+ const normalise = (s) => s.replace(TITLE_STRIP_RE, '').trim();
148
+ // Split into rows, find the matching one, and update its first cell
149
+ const rowRe = new RegExp(`(<${nsPrefix}row[^>]*>)([\\s\\S]*?)(<\\/${nsPrefix}row>)`, 'g');
150
+ let updated = false;
151
+ const newXml = xml.replace(rowRe, (_full, open, content, close) => {
152
+ if (updated)
153
+ return open + content + close;
154
+ // Extract cells from this row
155
+ const cellRe = new RegExp(`<${nsPrefix}c([^>]*)>([\\s\\S]*?)<\\/${nsPrefix}c>`, 'g');
156
+ const cellMatches = [...content.matchAll(cellRe)];
157
+ if (cellMatches.length < 3)
158
+ return open + content + close;
159
+ const idCell = cellText(cellMatches[0]?.[0] ?? '', nsPrefix);
160
+ const titleCell = cellText(cellMatches[2]?.[0] ?? '', nsPrefix);
161
+ const stepCell = cellText(cellMatches[3]?.[0] ?? '', nsPrefix);
162
+ // Match: no existing ID, has title, no step number, title matches
163
+ if (!idCell && titleCell && !stepCell && normalise(titleCell) === title) {
164
+ // Replace the first cell (empty string) with a numeric cell
165
+ const firstCellFull = cellMatches[0][0];
166
+ const numericCell = firstCellFull
167
+ .replace(new RegExp(`(<${nsPrefix}c)([^>]*t="str")`), `$1 t="n"`)
168
+ .replace(new RegExp(`<${nsPrefix}v>[^<]*<\\/${nsPrefix}v>`), `<${nsPrefix}v>${id}</${nsPrefix}v>`);
169
+ const newContent = content.replace(firstCellFull, numericCell);
170
+ updated = true;
171
+ return open + newContent + close;
172
+ }
173
+ return open + content + close;
174
+ });
175
+ zip.file(sheetKey, (hasBom ? '\uFEFF' : '') + newXml);
176
+ const outBuffer = await zip.generateAsync({
177
+ type: 'nodebuffer',
178
+ compression: 'DEFLATE',
179
+ });
180
+ fs.writeFileSync(filePath, outBuffer);
181
+ }
182
+ //# sourceMappingURL=excel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.js","sourceRoot":"","sources":["../../src/parsers/excel.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ function stripBold(s) {
79
79
  const SEPARATOR_RE = /^---+\s*$/;
80
80
  // Matches the new plain-tag format "@tc:12345" on its own line,
81
81
  // and the legacy HTML comment "<!-- tc: 12345 -->" / "<!-- @tc:12345 -->" for backward compat.
82
- const mdTcTagRe = (prefix) => new RegExp(`^\\s*@${prefix}:(\\d+)\\s*$`);
82
+ const mdTcTagRe = (prefix) => new RegExp(`^\\s*@${prefix}:(\\d+)\\s*$`, 'm');
83
83
  const mdTcCommentRe = (prefix) => new RegExp(`<!--\\s*@?${prefix}\\s*:\\s*(\\d+)\\s*-->`, 'i');
84
84
  function findTcId(prefix, blockText) {
85
85
  const m = blockText.match(mdTcTagRe(prefix)) ?? blockText.match(new RegExp(`<!--\\s*@?${prefix}\\s*:\\s*(\\d+)\\s*-->`, 'im'));
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/parsers/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/parsers/markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Shared tabular parser — converts the Azure DevOps CSV/Excel export row format
3
+ * into ParsedTest objects.
4
+ *
5
+ * Row format (9 columns):
6
+ * Col 0 ID – numeric TC id, or empty for new cases
7
+ * Col 1 Work Item Type – always "Test Case" (ignored)
8
+ * Col 2 Title – "Scenario: X" or "Scenario Outline: X" or just "X"
9
+ * Col 3 Test Step – step number (1, 2, …), empty on the title row
10
+ * Col 4 Step Action – step text (may include keyword prefix like "Given ")
11
+ * Col 5 Step Expected – expected result text, empty when none
12
+ * Col 6 Area Path – ignored during parse, preserved in config
13
+ * Col 7 Assigned To – ignored
14
+ * Col 8 State – ignored
15
+ *
16
+ * A "test case block" consists of:
17
+ * 1. A header row: non-empty Title (col 2), empty Test Step (col 3)
18
+ * 2. Zero or more step rows: empty Title, non-empty Test Step
19
+ *
20
+ * The first row in the file is always the column-header row (ID, Work Item Type, …)
21
+ * and is skipped automatically.
22
+ */
23
+ import { LinkConfig, ParsedTest } from '../types';
24
+ export interface TabularRow {
25
+ /** 9-element array: [ID, WorkItemType, Title, TestStep, StepAction, StepExpected, AreaPath, AssignedTo, State] */
26
+ cells: string[];
27
+ /** 1-based line/row number in the source file (for writeback). */
28
+ rowIndex: number;
29
+ }
30
+ /**
31
+ * Parse an array of TabularRow (already past the header row) into ParsedTest[].
32
+ *
33
+ * @param rows All rows from the file including the column-header row.
34
+ * @param filePath Absolute path to the source file.
35
+ * @param tagPrefix Tag prefix for TC ID tags (e.g. 'tc').
36
+ * @param linkConfigs Optional link configurations.
37
+ */
38
+ export declare function parseTabularRows(rows: TabularRow[], filePath: string, _tagPrefix: string, linkConfigs: LinkConfig[] | undefined): ParsedTest[];
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ /**
3
+ * Shared tabular parser — converts the Azure DevOps CSV/Excel export row format
4
+ * into ParsedTest objects.
5
+ *
6
+ * Row format (9 columns):
7
+ * Col 0 ID – numeric TC id, or empty for new cases
8
+ * Col 1 Work Item Type – always "Test Case" (ignored)
9
+ * Col 2 Title – "Scenario: X" or "Scenario Outline: X" or just "X"
10
+ * Col 3 Test Step – step number (1, 2, …), empty on the title row
11
+ * Col 4 Step Action – step text (may include keyword prefix like "Given ")
12
+ * Col 5 Step Expected – expected result text, empty when none
13
+ * Col 6 Area Path – ignored during parse, preserved in config
14
+ * Col 7 Assigned To – ignored
15
+ * Col 8 State – ignored
16
+ *
17
+ * A "test case block" consists of:
18
+ * 1. A header row: non-empty Title (col 2), empty Test Step (col 3)
19
+ * 2. Zero or more step rows: empty Title, non-empty Test Step
20
+ *
21
+ * The first row in the file is always the column-header row (ID, Work Item Type, …)
22
+ * and is skipped automatically.
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.parseTabularRows = parseTabularRows;
26
+ const shared_1 = require("./shared");
27
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
28
+ const TITLE_STRIP_RE = /^(Scenario Outline|Scenario)\s*:\s*/i;
29
+ const STEP_KEYWORD_RE = /^(Background:\s*)?(Given|When|Then|And|But|Parameters|Scenario Outline|Scenario|\*)\s+/i;
30
+ /** Strip "Scenario: " / "Scenario Outline: " prefix from a title cell. */
31
+ function normalizeTitle(raw) {
32
+ return raw.replace(TITLE_STRIP_RE, '').trim();
33
+ }
34
+ /** Split a step action cell into keyword + text. */
35
+ function parseStepAction(raw) {
36
+ raw = raw.trim();
37
+ const m = raw.match(STEP_KEYWORD_RE);
38
+ if (!m)
39
+ return { keyword: 'Step', text: raw };
40
+ const keyword = m[0].replace(/^Background:\s*/i, '').trim();
41
+ const text = raw.slice(m[0].length).trim();
42
+ return { keyword, text };
43
+ }
44
+ /**
45
+ * Parse an array of TabularRow (already past the header row) into ParsedTest[].
46
+ *
47
+ * @param rows All rows from the file including the column-header row.
48
+ * @param filePath Absolute path to the source file.
49
+ * @param tagPrefix Tag prefix for TC ID tags (e.g. 'tc').
50
+ * @param linkConfigs Optional link configurations.
51
+ */
52
+ function parseTabularRows(rows, filePath, _tagPrefix, linkConfigs) {
53
+ const pathTags = (0, shared_1.extractPathTags)(filePath);
54
+ const tests = [];
55
+ // Skip column-header row (first row)
56
+ let i = 0;
57
+ if (rows.length > 0 && rows[0].cells[0].trim().toLowerCase() === 'id')
58
+ i = 1;
59
+ while (i < rows.length) {
60
+ const row = rows[i];
61
+ const titleCell = row.cells[2]?.trim() ?? '';
62
+ const stepCell = row.cells[3]?.trim() ?? '';
63
+ // A test-case header row: has a title and no step number
64
+ if (titleCell && !stepCell) {
65
+ const idRaw = row.cells[0]?.trim() ?? '';
66
+ const azureId = idRaw && !isNaN(Number(idRaw)) ? parseInt(idRaw, 10) : undefined;
67
+ const title = normalizeTitle(titleCell);
68
+ const steps = [];
69
+ // Collect subsequent step rows
70
+ i++;
71
+ while (i < rows.length) {
72
+ const sr = rows[i];
73
+ const srTitle = sr.cells[2]?.trim() ?? '';
74
+ const srStep = sr.cells[3]?.trim() ?? '';
75
+ if (srTitle && !srStep)
76
+ break; // next test case header
77
+ if (srStep) {
78
+ const actionRaw = sr.cells[4]?.trim() ?? '';
79
+ const expectedRaw = sr.cells[5]?.trim() ?? '';
80
+ if (actionRaw) {
81
+ const { keyword, text } = parseStepAction(actionRaw);
82
+ steps.push({
83
+ keyword,
84
+ text,
85
+ expected: expectedRaw || undefined,
86
+ });
87
+ }
88
+ }
89
+ i++;
90
+ }
91
+ tests.push({
92
+ filePath,
93
+ title,
94
+ steps,
95
+ tags: [...pathTags],
96
+ azureId,
97
+ line: row.rowIndex,
98
+ linkRefs: (0, shared_1.extractLinkRefs)(pathTags, linkConfigs),
99
+ });
100
+ }
101
+ else {
102
+ i++;
103
+ }
104
+ }
105
+ return tests;
106
+ }
107
+ //# sourceMappingURL=tabular.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../src/parsers/tabular.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,8 @@ const fs = __importStar(require("fs"));
47
47
  const glob_1 = require("glob");
48
48
  const client_1 = require("../azure/client");
49
49
  const test_cases_1 = require("../azure/test-cases");
50
+ const csv_1 = require("../parsers/csv");
51
+ const excel_1 = require("../parsers/excel");
50
52
  const gherkin_1 = require("../parsers/gherkin");
51
53
  const markdown_1 = require("../parsers/markdown");
52
54
  const cache_1 = require("./cache");
@@ -77,15 +79,26 @@ async function discoverFiles(include, exclude, configDir) {
77
79
  return [...new Set(all)].sort();
78
80
  }
79
81
  // ─── Local file parsing ───────────────────────────────────────────────────────
80
- function parseLocalFiles(filePaths, config, tagsFilter) {
82
+ async function parseLocalFiles(filePaths, config, tagsFilter) {
81
83
  const tagPrefix = config.sync?.tagPrefix ?? 'tc';
82
84
  const linkConfigs = config.sync?.links;
83
85
  const results = [];
84
86
  for (const fp of filePaths) {
85
87
  try {
86
- const tests = config.local.type === 'gherkin'
87
- ? (0, gherkin_1.parseGherkinFile)(fp, tagPrefix, linkConfigs)
88
- : (0, markdown_1.parseMarkdownFile)(fp, tagPrefix, linkConfigs);
88
+ let tests;
89
+ switch (config.local.type) {
90
+ case 'gherkin':
91
+ tests = (0, gherkin_1.parseGherkinFile)(fp, tagPrefix, linkConfigs);
92
+ break;
93
+ case 'csv':
94
+ tests = (0, csv_1.parseCsvFile)(fp, tagPrefix, linkConfigs);
95
+ break;
96
+ case 'excel':
97
+ tests = await (0, excel_1.parseExcelFile)(fp, tagPrefix, linkConfigs);
98
+ break;
99
+ default:
100
+ tests = (0, markdown_1.parseMarkdownFile)(fp, tagPrefix, linkConfigs);
101
+ }
89
102
  for (const t of tests) {
90
103
  if (tagsFilter && !matchesTags(t, tagsFilter))
91
104
  continue;
@@ -133,7 +146,7 @@ async function push(config, configDir, opts = {}) {
133
146
  }
134
147
  async function pushSingle(config, configDir, opts) {
135
148
  const files = await discoverFiles(config.local.include, config.local.exclude, configDir);
136
- const tests = parseLocalFiles(files, config, opts.tags);
149
+ const tests = await parseLocalFiles(files, config, opts.tags);
137
150
  const client = await client_1.AzureClient.create(config);
138
151
  const tagPrefix = config.sync?.tagPrefix ?? 'tc';
139
152
  const titleField = config.sync?.titleField ?? 'System.Title';
@@ -251,7 +264,7 @@ async function pushSingle(config, configDir, opts) {
251
264
  for (const wbs of byFile.values()) {
252
265
  wbs.sort((a, b) => b.test.line - a.test.line);
253
266
  for (const { test: t, newId } of wbs) {
254
- (0, writeback_1.writebackId)(t, newId, config.local.type, tagPrefix);
267
+ await (0, writeback_1.writebackId)(t, newId, config.local.type, tagPrefix);
255
268
  }
256
269
  }
257
270
  }
@@ -298,7 +311,7 @@ async function pull(config, configDir, opts = {}) {
298
311
  }
299
312
  async function pullSingle(config, configDir, opts) {
300
313
  const files = await discoverFiles(config.local.include, config.local.exclude, configDir);
301
- const tests = parseLocalFiles(files, config, opts.tags);
314
+ const tests = await parseLocalFiles(files, config, opts.tags);
302
315
  const client = await client_1.AzureClient.create(config);
303
316
  const titleField = config.sync?.titleField ?? 'System.Title';
304
317
  const tagPrefix = config.sync?.tagPrefix ?? 'tc';
@@ -377,9 +390,10 @@ function applyRemoteToLocal(test, newTitle, newSteps, newDescription, localType,
377
390
  if (localType === 'gherkin') {
378
391
  applyRemoteToGherkin(test, newTitle, newSteps);
379
392
  }
380
- else {
393
+ else if (localType === 'markdown') {
381
394
  applyRemoteToMarkdown(test, newTitle, newSteps, newDescription, tagPrefix);
382
395
  }
396
+ // csv / excel: pull not supported (files are typically generated by external tools)
383
397
  }
384
398
  function applyRemoteToGherkin(test, newTitle, newSteps) {
385
399
  const raw = fs.readFileSync(test.filePath, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/sync/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/sync/engine.ts"],"names":[],"mappings":"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"}
@@ -33,4 +33,4 @@ export declare function writebackGherkin(test: ParsedTest, id: number, tagPrefix
33
33
  * 4. If not found, insert immediately after the heading line.
34
34
  */
35
35
  export declare function writebackMarkdown(test: ParsedTest, id: number, tagPrefix: string): void;
36
- export declare function writebackId(test: ParsedTest, id: number, localType: 'gherkin' | 'markdown', tagPrefix: string): void;
36
+ export declare function writebackId(test: ParsedTest, id: number, localType: 'gherkin' | 'markdown' | 'csv' | 'excel', tagPrefix: string): Promise<void>;
@@ -50,6 +50,8 @@ exports.writebackGherkin = writebackGherkin;
50
50
  exports.writebackMarkdown = writebackMarkdown;
51
51
  exports.writebackId = writebackId;
52
52
  const fs = __importStar(require("fs"));
53
+ const csv_1 = require("../parsers/csv");
54
+ const excel_1 = require("../parsers/excel");
53
55
  // ─── Gherkin writeback ────────────────────────────────────────────────────────
54
56
  /**
55
57
  * Write (or update) the @tc:ID tag in a .feature file for a given scenario.
@@ -124,12 +126,20 @@ function writebackMarkdown(test, id, tagPrefix) {
124
126
  fs.writeFileSync(test.filePath, lines.join('\n'), 'utf8');
125
127
  }
126
128
  // ─── Dispatcher ──────────────────────────────────────────────────────────────
127
- function writebackId(test, id, localType, tagPrefix) {
128
- if (localType === 'gherkin') {
129
- writebackGherkin(test, id, tagPrefix);
130
- }
131
- else {
132
- writebackMarkdown(test, id, tagPrefix);
129
+ async function writebackId(test, id, localType, tagPrefix) {
130
+ switch (localType) {
131
+ case 'gherkin':
132
+ writebackGherkin(test, id, tagPrefix);
133
+ break;
134
+ case 'markdown':
135
+ writebackMarkdown(test, id, tagPrefix);
136
+ break;
137
+ case 'csv':
138
+ (0, csv_1.writebackCsv)(test.filePath, test.title, id);
139
+ break;
140
+ case 'excel':
141
+ await (0, excel_1.writebackExcel)(test.filePath, test.title, id);
142
+ break;
133
143
  }
134
144
  }
135
145
  //# sourceMappingURL=writeback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeback.js","sourceRoot":"","sources":["../../src/sync/writeback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeback.js","sourceRoot":"","sources":["../../src/sync/writeback.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -46,7 +46,7 @@ export interface SyncConfig {
46
46
  /** Local spec sources */
47
47
  local: {
48
48
  /** 'gherkin' for .feature files, 'markdown' for .md spec files */
49
- type: 'gherkin' | 'markdown';
49
+ type: 'gherkin' | 'markdown' | 'csv' | 'excel';
50
50
  /** Glob pattern(s) relative to config file location */
51
51
  include: string | string[];
52
52
  /** Glob pattern(s) to exclude */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ado-sync",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Bidirectional sync between local test specs (Cucumber/Markdown) and Azure DevOps Test Cases",
5
5
  "bin": {
6
6
  "ado-sync": "./dist/cli.js"
@@ -39,6 +39,7 @@
39
39
  "chalk": "^5.3.0",
40
40
  "commander": "^12.1.0",
41
41
  "dotenv": "^16.4.5",
42
+ "exceljs": "^4.4.0",
42
43
  "fast-xml-parser": "^4.4.1",
43
44
  "glob": "^13.0.6",
44
45
  "js-yaml": "^4.1.0"