@contractkit/plugin-typescript 0.19.1 → 0.20.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.
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">79.96% </span>
26
+ <span class="strong">80% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1992/2491</span>
28
+ <span class='fraction'>1996/2495</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">83.41% </span>
40
+ <span class="strong">83.45% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>332/398</span>
42
+ <span class='fraction'>333/399</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.44% </span>
47
+ <span class="strong">82.47% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1742/2113</span>
49
+ <span class='fraction'>1746/2117</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="79.74" class="pic medium">
83
+ <td data-value="79.77" class="pic medium">
84
84
  <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
85
85
  </td>
86
- <td data-value="79.74" class="pct medium">79.74%</td>
87
- <td data-value="2439" class="abs medium">1945/2439</td>
86
+ <td data-value="79.77" class="pct medium">79.77%</td>
87
+ <td data-value="2443" class="abs medium">1949/2443</td>
88
88
  <td data-value="75.03" class="pct medium">75.03%</td>
89
89
  <td data-value="1586" class="abs medium">1190/1586</td>
90
- <td data-value="82.97" class="pct high">82.97%</td>
91
- <td data-value="370" class="abs high">307/370</td>
92
- <td data-value="82.19" class="pct high">82.19%</td>
93
- <td data-value="2067" class="abs high">1699/2067</td>
90
+ <td data-value="83.01" class="pct high">83.01%</td>
91
+ <td data-value="371" class="abs high">308/371</td>
92
+ <td data-value="82.23" class="pct high">82.23%</td>
93
+ <td data-value="2071" class="abs high">1703/2071</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-05-07T11:16:43.674Z
119
+ at 2026-05-07T11:38:24.644Z
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>
@@ -3598,7 +3598,7 @@ export function pascalToDotCase(name: string): string {
3598
3598
  <div class='footer quiet pad2 space-top1 center small'>
3599
3599
  Code coverage generated by
3600
3600
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3601
- at 2026-05-07T11:16:43.674Z
3601
+ at 2026-05-07T11:38:24.644Z
3602
3602
  </div>
3603
3603
  <script src="../prettify.js"></script>
3604
3604
  <script>
@@ -2515,7 +2515,7 @@ function deriveTypeImportPath(file: string, template?: string): string {
2515
2515
  <div class='footer quiet pad2 space-top1 center small'>
2516
2516
  Code coverage generated by
2517
2517
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2518
- at 2026-05-07T11:16:43.674Z
2518
+ at 2026-05-07T11:38:24.644Z
2519
2519
  </div>
2520
2520
  <script src="../prettify.js"></script>
2521
2521
  <script>
@@ -982,7 +982,7 @@ function renderOutputField(field: FieldNode, outputCase: 'camel' | 'snake' | 'pa
982
982
  <div class='footer quiet pad2 space-top1 center small'>
983
983
  Code coverage generated by
984
984
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
985
- at 2026-05-07T11:16:43.674Z
985
+ at 2026-05-07T11:38:24.644Z
986
986
  </div>
987
987
  <script src="../prettify.js"></script>
988
988
  <script>
@@ -3535,7 +3535,7 @@ export function generateSdkAggregator(input: SdkAggregatorInput): string {
3535
3535
  <div class='footer quiet pad2 space-top1 center small'>
3536
3536
  Code coverage generated by
3537
3537
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3538
- at 2026-05-07T11:16:43.674Z
3538
+ at 2026-05-07T11:38:24.644Z
3539
3539
  </div>
3540
3540
  <script src="../prettify.js"></script>
3541
3541
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">79.74% </span>
26
+ <span class="strong">79.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1945/2439</span>
28
+ <span class='fraction'>1949/2443</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">82.97% </span>
40
+ <span class="strong">83.01% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>307/370</span>
42
+ <span class='fraction'>308/371</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.19% </span>
47
+ <span class="strong">82.23% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1699/2067</span>
49
+ <span class='fraction'>1703/2071</span>
50
50
  </div>
51
51
 
52
52
 
@@ -140,17 +140,17 @@
140
140
 
141
141
  <tr>
142
142
  <td class="file medium" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
143
- <td data-value="58.17" class="pic medium">
143
+ <td data-value="58.69" class="pic medium">
144
144
  <div class="chart"><div class="cover-fill" style="width: 58%"></div><div class="cover-empty" style="width: 42%"></div></div>
145
145
  </td>
146
- <td data-value="58.17" class="pct medium">58.17%</td>
147
- <td data-value="318" class="abs medium">185/318</td>
146
+ <td data-value="58.69" class="pct medium">58.69%</td>
147
+ <td data-value="322" class="abs medium">189/322</td>
148
148
  <td data-value="47.22" class="pct low">47.22%</td>
149
149
  <td data-value="144" class="abs low">68/144</td>
150
- <td data-value="63.04" class="pct medium">63.04%</td>
151
- <td data-value="46" class="abs medium">29/46</td>
152
- <td data-value="62.78" class="pct medium">62.78%</td>
153
- <td data-value="266" class="abs medium">167/266</td>
150
+ <td data-value="63.82" class="pct medium">63.82%</td>
151
+ <td data-value="47" class="abs medium">30/47</td>
152
+ <td data-value="63.33" class="pct medium">63.33%</td>
153
+ <td data-value="270" class="abs medium">171/270</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at 2026-05-07T11:16:43.674Z
194
+ at 2026-05-07T11:38:24.644Z
195
195
  </div>
196
196
  <script src="../prettify.js"></script>
197
197
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">58.17% </span>
26
+ <span class="strong">58.69% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>185/318</span>
28
+ <span class='fraction'>189/322</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">63.04% </span>
40
+ <span class="strong">63.82% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>29/46</span>
42
+ <span class='fraction'>30/47</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">62.78% </span>
47
+ <span class="strong">63.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>167/266</span>
49
+ <span class='fraction'>171/270</span>
50
50
  </div>
51
51
 
52
52
 
@@ -848,7 +848,21 @@
848
848
  <a name='L783'></a><a href='#L783'>783</a>
849
849
  <a name='L784'></a><a href='#L784'>784</a>
850
850
  <a name='L785'></a><a href='#L785'>785</a>
851
- <a name='L786'></a><a href='#L786'>786</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
851
+ <a name='L786'></a><a href='#L786'>786</a>
852
+ <a name='L787'></a><a href='#L787'>787</a>
853
+ <a name='L788'></a><a href='#L788'>788</a>
854
+ <a name='L789'></a><a href='#L789'>789</a>
855
+ <a name='L790'></a><a href='#L790'>790</a>
856
+ <a name='L791'></a><a href='#L791'>791</a>
857
+ <a name='L792'></a><a href='#L792'>792</a>
858
+ <a name='L793'></a><a href='#L793'>793</a>
859
+ <a name='L794'></a><a href='#L794'>794</a>
860
+ <a name='L795'></a><a href='#L795'>795</a>
861
+ <a name='L796'></a><a href='#L796'>796</a>
862
+ <a name='L797'></a><a href='#L797'>797</a>
863
+ <a name='L798'></a><a href='#L798'>798</a>
864
+ <a name='L799'></a><a href='#L799'>799</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
866
  <span class="cline-any cline-neutral">&nbsp;</span>
853
867
  <span class="cline-any cline-neutral">&nbsp;</span>
854
868
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -949,6 +963,7 @@
949
963
  <span class="cline-any cline-neutral">&nbsp;</span>
950
964
  <span class="cline-any cline-yes">1x</span>
951
965
  <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
967
  <span class="cline-any cline-yes">1x</span>
953
968
  <span class="cline-any cline-neutral">&nbsp;</span>
954
969
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1007,13 +1022,14 @@
1007
1022
  <span class="cline-any cline-neutral">&nbsp;</span>
1008
1023
  <span class="cline-any cline-neutral">&nbsp;</span>
1009
1024
  <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
1025
  <span class="cline-any cline-yes">18x</span>
1012
1026
  <span class="cline-any cline-neutral">&nbsp;</span>
1013
1027
  <span class="cline-any cline-yes">18x</span>
1014
- <span class="cline-any cline-yes">49x</span>
1028
+ <span class="cline-any cline-yes">31x</span>
1015
1029
  <span class="cline-any cline-neutral">&nbsp;</span>
1016
1030
  <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-yes">18x</span>
1032
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
1033
  <span class="cline-any cline-neutral">&nbsp;</span>
1018
1034
  <span class="cline-any cline-neutral">&nbsp;</span>
1019
1035
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1603,6 +1619,16 @@
1603
1619
  <span class="cline-any cline-neutral">&nbsp;</span>
1604
1620
  <span class="cline-any cline-neutral">&nbsp;</span>
1605
1621
  <span class="cline-any cline-neutral">&nbsp;</span>
1622
+ <span class="cline-any cline-neutral">&nbsp;</span>
1623
+ <span class="cline-any cline-yes">18x</span>
1624
+ <span class="cline-any cline-yes">18x</span>
1625
+ <span class="cline-any cline-yes">18x</span>
1626
+ <span class="cline-any cline-neutral">&nbsp;</span>
1627
+ <span class="cline-any cline-neutral">&nbsp;</span>
1628
+ <span class="cline-any cline-neutral">&nbsp;</span>
1629
+ <span class="cline-any cline-neutral">&nbsp;</span>
1630
+ <span class="cline-any cline-neutral">&nbsp;</span>
1631
+ <span class="cline-any cline-neutral">&nbsp;</span>
1606
1632
  <span class="cline-any cline-yes">18x</span>
1607
1633
  <span class="cline-any cline-no">&nbsp;</span>
1608
1634
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1634,7 +1660,7 @@
1634
1660
  <span class="cline-any cline-yes">18x</span>
1635
1661
  <span class="cline-any cline-neutral">&nbsp;</span>
1636
1662
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { resolve, join, relative, dirname, basename } from 'node:path';
1637
- import { existsSync, readFileSync, rmSync, readdirSync, rmdirSync } from 'node:fs';
1663
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync, readdirSync, rmdirSync } from 'node:fs';
1638
1664
  import { generateContract } from './codegen-contract.js';
1639
1665
  import { generateOp } from './codegen-operation.js';
1640
1666
  import type {
@@ -1651,6 +1677,7 @@ import {
1651
1677
  runIncrementalCodegen,
1652
1678
  parseIncrementalManifest,
1653
1679
  emptyIncrementalManifest,
1680
+ serializeIncrementalManifest,
1654
1681
  hashFingerprint,
1655
1682
  collectTransitiveModelRefs,
1656
1683
  collectTypeRefs,
@@ -1734,7 +1761,8 @@ export interface TypescriptPluginConfig {
1734
1761
  /** Bumped when the codegen output shape changes in a way that should bust every per-file fingerprint. */
1735
1762
  export const TYPESCRIPT_CODEGEN_VERSION = '1';
1736
1763
  &nbsp;
1737
- const MANIFEST_FILENAME = '.contractkit-typescript-manifest.json';
1764
+ /** Filename for the persisted TypeScript manifest under the CLI cache directory. */
1765
+ const CACHE_MANIFEST_FILENAME = 'typescript-manifest.json';
1738
1766
  &nbsp;
1739
1767
  // ─── Plugin entry points ──────────────────────────────────────────────────
1740
1768
  &nbsp;
@@ -1772,7 +1800,7 @@ async function runTypescriptCodegen(
1772
1800
  config: TypescriptPluginConfig,
1773
1801
  rootDir: string,
1774
1802
  ): Promise&lt;void&gt; {
1775
- const manifestPath = resolve(rootDir, MANIFEST_FILENAME);
1803
+ const manifestPath = resolve(ctx.cacheDir, CACHE_MANIFEST_FILENAME);
1776
1804
  const prevManifest: IncrementalManifest = ctx.cacheEnabled ? readManifest(<span class="branch-1 cbranch-no" title="branch not covered" >manifestPath) : emptyIncrementalManifest(TYPESCRIPT_CODEGEN_VERSION);</span>
1777
1805
  &nbsp;
1778
1806
  const units: IncrementalUnit[] = [];
@@ -1785,7 +1813,6 @@ async function runTypescriptCodegen(
1785
1813
  &nbsp;
1786
1814
  const result = runIncrementalCodegen({
1787
1815
  codegenVersion: TYPESCRIPT_CODEGEN_VERSION,
1788
- manifestFilename: manifestPath,
1789
1816
  prevManifest,
1790
1817
  globalFiles,
1791
1818
  units,
@@ -1798,6 +1825,8 @@ async function runTypescriptCodegen(
1798
1825
  for (const { relativePath, content } of result.filesToWrite) {
1799
1826
  ctx.emitFile(relativePath, content);
1800
1827
  }
1828
+ &nbsp;
1829
+ writeManifest(manifestPath, result.manifest);
1801
1830
  }
1802
1831
  &nbsp;
1803
1832
  // ─── Cross-file dependency analysis ────────────────────────────────────────
@@ -2387,6 +2416,16 @@ function readManifest(manifestPath: string): IncrementalManifest {
2387
2416
  }
2388
2417
  }
2389
2418
  &nbsp;
2419
+ /** Write the manifest to `manifestPath`. Creates parent dirs as needed. Errors are swallowed so a broken cache never blocks the build. */
2420
+ function writeManifest(manifestPath: string, manifest: IncrementalManifest): void {
2421
+ try {
2422
+ mkdirSync(dirname(manifestPath), { recursive: true });
2423
+ writeFileSync(manifestPath, serializeIncrementalManifest(manifest), 'utf-8');
2424
+ } catch {
2425
+ // best-effort
2426
+ }
2427
+ }
2428
+ &nbsp;
2390
2429
  function deleteStalePaths(absPaths: string[]): void {
2391
2430
  <span class="missing-if-branch" title="else path not taken" >E</span>if (absPaths.length === 0) return;
2392
2431
  const removedDirs = <span class="cstat-no" title="statement not covered" >new Set&lt;string&gt;();</span>
@@ -2425,7 +2464,7 @@ function stableSubConfig(config: unknown): string {
2425
2464
  <div class='footer quiet pad2 space-top1 center small'>
2426
2465
  Code coverage generated by
2427
2466
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2428
- at 2026-05-07T11:16:43.674Z
2467
+ at 2026-05-07T11:38:24.644Z
2429
2468
  </div>
2430
2469
  <script src="../prettify.js"></script>
2431
2470
  <script>
@@ -634,7 +634,7 @@ export function <span class="fstat-no" title="function not covered" >computePubl
634
634
  <div class='footer quiet pad2 space-top1 center small'>
635
635
  Code coverage generated by
636
636
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
637
- at 2026-05-07T11:16:43.674Z
637
+ at 2026-05-07T11:38:24.644Z
638
638
  </div>
639
639
  <script src="../prettify.js"></script>
640
640
  <script>
@@ -577,7 +577,7 @@ export function renderOutputTsType(type: ContractTypeNode, modelsWithOutput?: Se
577
577
  <div class='footer quiet pad2 space-top1 center small'>
578
578
  Code coverage generated by
579
579
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
580
- at 2026-05-07T11:16:43.674Z
580
+ at 2026-05-07T11:38:24.644Z
581
581
  </div>
582
582
  <script src="../prettify.js"></script>
583
583
  <script>
@@ -811,7 +811,7 @@ operation /users/{id}: {
811
811
  <div class='footer quiet pad2 space-top1 center small'>
812
812
  Code coverage generated by
813
813
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
814
- at 2026-05-07T11:16:43.674Z
814
+ at 2026-05-07T11:38:24.644Z
815
815
  </div>
816
816
  <script src="../prettify.js"></script>
817
817
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-05-07T11:16:43.674Z
104
+ at 2026-05-07T11:38:24.644Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,iBAAiB,EAQpB,MAAM,mBAAmB,CAAC;AAqC3B,MAAM,WAAW,YAAY;IACzB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6HAA6H;IAC7H,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE;QACL,8EAA8E;QAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,+EAA+E;QAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAID,yGAAyG;AACzG,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAM9C,QAAA,MAAM,MAAM,EAAE,iBAMb,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,2GAA2G;AAC3G,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAOzG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,iBAAiB,EAQpB,MAAM,mBAAmB,CAAC;AAsC3B,MAAM,WAAW,YAAY;IACzB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6HAA6H;IAC7H,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE;QACL,8EAA8E;QAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,+EAA+E;QAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAID,yGAAyG;AACzG,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAO9C,QAAA,MAAM,MAAM,EAAE,iBAMb,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,2GAA2G;AAC3G,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAOzG"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
 
4
4
  // src/index.ts
5
5
  import { resolve as resolve2, join as join2, relative as relative6, dirname as dirname6, basename as basename3 } from "path";
6
- import { existsSync, readFileSync, rmSync, readdirSync, rmdirSync } from "fs";
6
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync, readdirSync, rmdirSync } from "fs";
7
7
 
8
8
  // src/codegen-contract.ts
9
9
  import { relative, dirname } from "path";
@@ -1736,7 +1736,7 @@ function deriveTypeImportPath(file, template) {
1736
1736
  __name(deriveTypeImportPath, "deriveTypeImportPath");
1737
1737
 
1738
1738
  // src/index.ts
1739
- import { runIncrementalCodegen, parseIncrementalManifest, emptyIncrementalManifest, hashFingerprint, collectTransitiveModelRefs } from "@contractkit/core";
1739
+ import { runIncrementalCodegen, parseIncrementalManifest, emptyIncrementalManifest, serializeIncrementalManifest, hashFingerprint, collectTransitiveModelRefs } from "@contractkit/core";
1740
1740
 
1741
1741
  // src/codegen-sdk.ts
1742
1742
  import { resolveModifiers as resolveModifiers2, isJsonMime, classifyContentType as classifyContentType2 } from "@contractkit/core";
@@ -3108,7 +3108,7 @@ __name(computePubliclyReachableTypes, "computePubliclyReachableTypes");
3108
3108
 
3109
3109
  // src/index.ts
3110
3110
  var TYPESCRIPT_CODEGEN_VERSION = "1";
3111
- var MANIFEST_FILENAME = ".contractkit-typescript-manifest.json";
3111
+ var CACHE_MANIFEST_FILENAME = "typescript-manifest.json";
3112
3112
  var plugin = {
3113
3113
  name: "typescript",
3114
3114
  async generateTargets(inputs, ctx) {
@@ -3127,7 +3127,7 @@ function createTypescriptPlugin(config, rootDir) {
3127
3127
  }
3128
3128
  __name(createTypescriptPlugin, "createTypescriptPlugin");
3129
3129
  async function runTypescriptCodegen(inputs, ctx, config, rootDir) {
3130
- const manifestPath = resolve2(rootDir, MANIFEST_FILENAME);
3130
+ const manifestPath = resolve2(ctx.cacheDir, CACHE_MANIFEST_FILENAME);
3131
3131
  const prevManifest = ctx.cacheEnabled ? readManifest(manifestPath) : emptyIncrementalManifest(TYPESCRIPT_CODEGEN_VERSION);
3132
3132
  const units = [];
3133
3133
  const globalFiles = [];
@@ -3137,7 +3137,6 @@ async function runTypescriptCodegen(inputs, ctx, config, rootDir) {
3137
3137
  if (config.types) collectTypesOutput(config.types, rootDir, inputs, units);
3138
3138
  const result = runIncrementalCodegen({
3139
3139
  codegenVersion: TYPESCRIPT_CODEGEN_VERSION,
3140
- manifestFilename: manifestPath,
3141
3140
  prevManifest,
3142
3141
  globalFiles,
3143
3142
  units,
@@ -3148,6 +3147,7 @@ async function runTypescriptCodegen(inputs, ctx, config, rootDir) {
3148
3147
  for (const { relativePath, content } of result.filesToWrite) {
3149
3148
  ctx.emitFile(relativePath, content);
3150
3149
  }
3150
+ writeManifest(manifestPath, result.manifest);
3151
3151
  }
3152
3152
  __name(runTypescriptCodegen, "runTypescriptCodegen");
3153
3153
  function buildModelMap(contractRoots) {
@@ -3743,6 +3743,16 @@ function readManifest(manifestPath) {
3743
3743
  }
3744
3744
  }
3745
3745
  __name(readManifest, "readManifest");
3746
+ function writeManifest(manifestPath, manifest) {
3747
+ try {
3748
+ mkdirSync(dirname6(manifestPath), {
3749
+ recursive: true
3750
+ });
3751
+ writeFileSync(manifestPath, serializeIncrementalManifest(manifest), "utf-8");
3752
+ } catch {
3753
+ }
3754
+ }
3755
+ __name(writeManifest, "writeManifest");
3746
3756
  function deleteStalePaths(absPaths) {
3747
3757
  if (absPaths.length === 0) return;
3748
3758
  const removedDirs = /* @__PURE__ */ new Set();