@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.
- package/.turbo/turbo-build$colon$ci.log +6 -6
- package/.turbo/turbo-test$colon$ci.log +12 -12
- package/CHANGELOG.md +15 -0
- package/coverage/clover.xml +223 -219
- package/coverage/coverage-final.json +1 -1
- package/coverage/index.html +15 -15
- package/coverage/src/codegen-contract.ts.html +1 -1
- package/coverage/src/codegen-operation.ts.html +1 -1
- package/coverage/src/codegen-plain-types.ts.html +1 -1
- package/coverage/src/codegen-sdk.ts.html +1 -1
- package/coverage/src/index.html +14 -14
- package/coverage/src/index.ts.html +53 -14
- package/coverage/src/path-utils.ts.html +1 -1
- package/coverage/src/ts-render.ts.html +1 -1
- package/coverage/tests/helpers.ts.html +1 -1
- package/coverage/tests/index.html +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +17 -4
- package/tests/codegen-server.test.ts +1 -0
package/coverage/index.html
CHANGED
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">80% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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.
|
|
40
|
+
<span class="strong">83.45% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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.
|
|
47
|
+
<span class="strong">82.47% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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
|
|
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.
|
|
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.
|
|
87
|
-
<td data-value="
|
|
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="
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="82.
|
|
93
|
-
<td data-value="
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
3538
|
+
at 2026-05-07T11:38:24.644Z
|
|
3539
3539
|
</div>
|
|
3540
3540
|
<script src="../prettify.js"></script>
|
|
3541
3541
|
<script>
|
package/coverage/src/index.html
CHANGED
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">79.
|
|
26
|
+
<span class="strong">79.77% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
40
|
+
<span class="strong">83.01% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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.
|
|
47
|
+
<span class="strong">82.23% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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.
|
|
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.
|
|
147
|
-
<td data-value="
|
|
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.
|
|
151
|
-
<td data-value="
|
|
152
|
-
<td data-value="
|
|
153
|
-
<td data-value="
|
|
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:
|
|
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.
|
|
26
|
+
<span class="strong">58.69% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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.
|
|
40
|
+
<span class="strong">63.82% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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">
|
|
47
|
+
<span class="strong">63.33% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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
|
|
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"> </span>
|
|
865
|
+
<span class="cline-any cline-neutral"> </span>
|
|
852
866
|
<span class="cline-any cline-neutral"> </span>
|
|
853
867
|
<span class="cline-any cline-neutral"> </span>
|
|
854
868
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -949,6 +963,7 @@
|
|
|
949
963
|
<span class="cline-any cline-neutral"> </span>
|
|
950
964
|
<span class="cline-any cline-yes">1x</span>
|
|
951
965
|
<span class="cline-any cline-neutral"> </span>
|
|
966
|
+
<span class="cline-any cline-neutral"> </span>
|
|
952
967
|
<span class="cline-any cline-yes">1x</span>
|
|
953
968
|
<span class="cline-any cline-neutral"> </span>
|
|
954
969
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1007,13 +1022,14 @@
|
|
|
1007
1022
|
<span class="cline-any cline-neutral"> </span>
|
|
1008
1023
|
<span class="cline-any cline-neutral"> </span>
|
|
1009
1024
|
<span class="cline-any cline-neutral"> </span>
|
|
1010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1011
1025
|
<span class="cline-any cline-yes">18x</span>
|
|
1012
1026
|
<span class="cline-any cline-neutral"> </span>
|
|
1013
1027
|
<span class="cline-any cline-yes">18x</span>
|
|
1014
|
-
<span class="cline-any cline-yes">
|
|
1028
|
+
<span class="cline-any cline-yes">31x</span>
|
|
1015
1029
|
<span class="cline-any cline-neutral"> </span>
|
|
1016
1030
|
<span class="cline-any cline-neutral"> </span>
|
|
1031
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1032
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1017
1033
|
<span class="cline-any cline-neutral"> </span>
|
|
1018
1034
|
<span class="cline-any cline-neutral"> </span>
|
|
1019
1035
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1603,6 +1619,16 @@
|
|
|
1603
1619
|
<span class="cline-any cline-neutral"> </span>
|
|
1604
1620
|
<span class="cline-any cline-neutral"> </span>
|
|
1605
1621
|
<span class="cline-any cline-neutral"> </span>
|
|
1622
|
+
<span class="cline-any cline-neutral"> </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"> </span>
|
|
1627
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1628
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1629
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1630
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1606
1632
|
<span class="cline-any cline-yes">18x</span>
|
|
1607
1633
|
<span class="cline-any cline-no"> </span>
|
|
1608
1634
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1634,7 +1660,7 @@
|
|
|
1634
1660
|
<span class="cline-any cline-yes">18x</span>
|
|
1635
1661
|
<span class="cline-any cline-neutral"> </span>
|
|
1636
1662
|
<span class="cline-any cline-neutral"> </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
|
|
|
1737
|
-
|
|
1764
|
+
/** Filename for the persisted TypeScript manifest under the CLI cache directory. */
|
|
1765
|
+
const CACHE_MANIFEST_FILENAME = 'typescript-manifest.json';
|
|
1738
1766
|
|
|
1739
1767
|
// ─── Plugin entry points ──────────────────────────────────────────────────
|
|
1740
1768
|
|
|
@@ -1772,7 +1800,7 @@ async function runTypescriptCodegen(
|
|
|
1772
1800
|
config: TypescriptPluginConfig,
|
|
1773
1801
|
rootDir: string,
|
|
1774
1802
|
): Promise<void> {
|
|
1775
|
-
const manifestPath = resolve(
|
|
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
|
|
|
1778
1806
|
const units: IncrementalUnit[] = [];
|
|
@@ -1785,7 +1813,6 @@ async function runTypescriptCodegen(
|
|
|
1785
1813
|
|
|
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
|
+
|
|
1829
|
+
writeManifest(manifestPath, result.manifest);
|
|
1801
1830
|
}
|
|
1802
1831
|
|
|
1803
1832
|
// ─── Cross-file dependency analysis ────────────────────────────────────────
|
|
@@ -2387,6 +2416,16 @@ function readManifest(manifestPath: string): IncrementalManifest {
|
|
|
2387
2416
|
}
|
|
2388
2417
|
}
|
|
2389
2418
|
|
|
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
|
+
|
|
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<string>();</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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
104
|
+
at 2026-05-07T11:38:24.644Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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(
|
|
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();
|