@lyku/lockstep-core 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -58
- package/diagrams/generate.js +23 -8
- package/diagrams/generate.js.map +1 -1
- package/package.json +1 -1
- package/pipeline.svg +1 -0
- package/vitest.config.d.ts +3 -0
- package/vitest.config.d.ts.map +1 -0
- package/vitest.config.js +13 -0
- package/vitest.config.js.map +1 -0
package/README.md
CHANGED
|
@@ -6,64 +6,7 @@ Schema-driven code generation for TypeScript. Define your database tables and AP
|
|
|
6
6
|
|
|
7
7
|
<!-- Generated from libs/lockstep-core/diagrams/pipeline.mmd — do not edit manually -->
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
graph TD
|
|
11
|
-
input-tables["Table Schemas<br/><small>PostgresRecordModel</small>"]
|
|
12
|
-
input-api["API Definitions<br/><small>TsonHandlerModel</small>"]
|
|
13
|
-
|
|
14
|
-
core-jsonmodels["generateJsonModels"]
|
|
15
|
-
core-dbtypes["generateDbTypes"]
|
|
16
|
-
core-apitypes["generateApiTypes"]
|
|
17
|
-
core-validators["buildValidator"]
|
|
18
|
-
|
|
19
|
-
handles-gen["generateHandles"]
|
|
20
|
-
|
|
21
|
-
client-gen["generateTsClient"]
|
|
22
|
-
|
|
23
|
-
pg-drift["detectDrift"]
|
|
24
|
-
pg-migrate["generateMigration"]
|
|
25
|
-
|
|
26
|
-
output-jsonschemas["JSON Schemas +<br/>TypeScript Types"]
|
|
27
|
-
output-kysely["Kysely Database<br/>Interface"]
|
|
28
|
-
output-reqres["Request / Response<br/>TypeScript Types"]
|
|
29
|
-
output-handlers["Handler Factories<br/>+ Validators"]
|
|
30
|
-
output-client["Type-safe<br/>HTTP Client"]
|
|
31
|
-
output-sql["SQL Migrations"]
|
|
32
|
-
|
|
33
|
-
input-tables --> core-jsonmodels
|
|
34
|
-
core-jsonmodels --> output-jsonschemas
|
|
35
|
-
output-jsonschemas --> core-dbtypes
|
|
36
|
-
core-dbtypes --> output-kysely
|
|
37
|
-
|
|
38
|
-
input-api --> core-apitypes
|
|
39
|
-
core-apitypes --> output-reqres
|
|
40
|
-
input-api --> core-validators
|
|
41
|
-
|
|
42
|
-
output-reqres --> handles-gen
|
|
43
|
-
input-api --> handles-gen
|
|
44
|
-
core-validators -.-> handles-gen
|
|
45
|
-
handles-gen --> output-handlers
|
|
46
|
-
|
|
47
|
-
output-reqres --> client-gen
|
|
48
|
-
input-api --> client-gen
|
|
49
|
-
client-gen --> output-client
|
|
50
|
-
|
|
51
|
-
input-tables --> pg-drift
|
|
52
|
-
pg-drift --> pg-migrate
|
|
53
|
-
pg-migrate --> output-sql
|
|
54
|
-
|
|
55
|
-
classDef highlight fill:#4f46e5,stroke:#3730a3,color:#fff,stroke-width:2px
|
|
56
|
-
classDef dimmed fill:#f1f5f9,stroke:#cbd5e1,color:#94a3b8,stroke-width:1px
|
|
57
|
-
classDef inputNode fill:#fef3c7,stroke:#f59e0b,color:#92400e,stroke-width:1px
|
|
58
|
-
classDef outputNode fill:#d1fae5,stroke:#10b981,color:#065f46,stroke-width:1px
|
|
59
|
-
classDef ownedOutput fill:#a5b4fc,stroke:#4f46e5,color:#1e1b4b,stroke-width:2px
|
|
60
|
-
classDef ownedInput fill:#fde68a,stroke:#4f46e5,color:#1e1b4b,stroke-width:2px
|
|
61
|
-
class core-jsonmodels,core-dbtypes,core-apitypes,core-validators highlight
|
|
62
|
-
class handles-gen,client-gen,pg-drift,pg-migrate dimmed
|
|
63
|
-
class output-handlers,output-client,output-sql outputNode
|
|
64
|
-
class input-tables,input-api ownedInput
|
|
65
|
-
class output-jsonschemas,output-kysely,output-reqres ownedOutput
|
|
66
|
-
```
|
|
9
|
+
<p align="center"><img src="./pipeline.svg" alt="lockstep-core pipeline diagram" /></p>
|
|
67
10
|
|
|
68
11
|
This package (`lockstep-core`) provides the schema type system, the first three generators, runtime validators, and BON serialization. Handler and client generation live in separate packages.
|
|
69
12
|
|
package/diagrams/generate.js
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Usage: bun libs/lockstep-core/diagrams/generate.ts
|
|
9
9
|
*/
|
|
10
|
-
import { readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
10
|
+
import { readFileSync, writeFileSync, mkdirSync, copyFileSync } from 'fs';
|
|
11
11
|
import { join, dirname } from 'path';
|
|
12
|
+
import { execSync } from 'child_process';
|
|
12
13
|
const DIAGRAMS_DIR = dirname(new URL(import.meta.url).pathname);
|
|
13
14
|
const master = readFileSync(join(DIAGRAMS_DIR, 'pipeline.mmd'), 'utf-8');
|
|
14
15
|
// Strip comment lines from master
|
|
@@ -45,7 +46,9 @@ for (const line of masterLines) {
|
|
|
45
46
|
function generateVariant(pkgKey) {
|
|
46
47
|
const pkg = packages[pkgKey];
|
|
47
48
|
const highlighted = allNodeIds.filter((id) => id.startsWith(pkg.prefix));
|
|
48
|
-
const dimmed = allNodeIds.filter((id) => !id.startsWith(pkg.prefix) &&
|
|
49
|
+
const dimmed = allNodeIds.filter((id) => !id.startsWith(pkg.prefix) &&
|
|
50
|
+
!id.startsWith('input-') &&
|
|
51
|
+
!id.startsWith('output-'));
|
|
49
52
|
const inputs = allNodeIds.filter((id) => id.startsWith('input-'));
|
|
50
53
|
const outputs = allNodeIds.filter((id) => id.startsWith('output-'));
|
|
51
54
|
// Find which outputs are directly produced by this package's nodes
|
|
@@ -109,12 +112,7 @@ function generateVariant(pkgKey) {
|
|
|
109
112
|
if (ownedOutputs.size > 0) {
|
|
110
113
|
classAssignments.push(`class ${[...ownedOutputs].join(',')} ownedOutput`);
|
|
111
114
|
}
|
|
112
|
-
const lines = [
|
|
113
|
-
...masterLines,
|
|
114
|
-
'',
|
|
115
|
-
...classDefs,
|
|
116
|
-
...classAssignments,
|
|
117
|
-
];
|
|
115
|
+
const lines = [...masterLines, '', ...classDefs, ...classAssignments];
|
|
118
116
|
return lines.join('\n').trim();
|
|
119
117
|
}
|
|
120
118
|
// Generate all variants
|
|
@@ -146,4 +144,21 @@ const fullVariant = [
|
|
|
146
144
|
.trim();
|
|
147
145
|
writeFileSync(join(DIAGRAMS_DIR, 'generated', 'full.mmd'), fullVariant + '\n');
|
|
148
146
|
console.log(`Generated ${join(DIAGRAMS_DIR, 'generated', 'full.mmd')}`);
|
|
147
|
+
// Render all .mmd files to SVG
|
|
148
|
+
const LIBS_DIR = join(DIAGRAMS_DIR, '..', '..');
|
|
149
|
+
const generatedDir = join(DIAGRAMS_DIR, 'generated');
|
|
150
|
+
console.log('\nRendering SVGs...');
|
|
151
|
+
for (const file of ['full', ...Object.keys(packages)]) {
|
|
152
|
+
const mmdPath = join(generatedDir, `${file}.mmd`);
|
|
153
|
+
const svgPath = join(generatedDir, `${file}.svg`);
|
|
154
|
+
execSync(`npx @mermaid-js/mermaid-cli -i "${mmdPath}" -o "${svgPath}" -b transparent -p /dev/null`, { stdio: 'inherit' });
|
|
155
|
+
console.log(`Rendered ${svgPath}`);
|
|
156
|
+
}
|
|
157
|
+
// Copy per-package SVGs into each package directory
|
|
158
|
+
for (const pkgKey of Object.keys(packages)) {
|
|
159
|
+
const src = join(generatedDir, `${pkgKey}.svg`);
|
|
160
|
+
const dest = join(LIBS_DIR, pkgKey, 'pipeline.svg');
|
|
161
|
+
copyFileSync(src, dest);
|
|
162
|
+
console.log(`Copied ${dest}`);
|
|
163
|
+
}
|
|
149
164
|
//# sourceMappingURL=generate.js.map
|
package/diagrams/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/diagrams/generate.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/diagrams/generate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/pipeline.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 1035.32px; background-color: transparent;" viewBox="0 0 1035.3203125 558" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#333;}#my-svg .cluster-label span{color:#333;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#333333;fill:none;}#my-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#my-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#my-svg .cluster text{fill:#333;}#my-svg .cluster span{color:#333;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#my-svg .highlight>*{fill:#4f46e5!important;stroke:#3730a3!important;color:#fff!important;stroke-width:2px!important;}#my-svg .highlight span{fill:#4f46e5!important;stroke:#3730a3!important;color:#fff!important;stroke-width:2px!important;}#my-svg .highlight tspan{fill:#fff!important;}#my-svg .dimmed>*{fill:#f1f5f9!important;stroke:#cbd5e1!important;color:#94a3b8!important;stroke-width:1px!important;}#my-svg .dimmed span{fill:#f1f5f9!important;stroke:#cbd5e1!important;color:#94a3b8!important;stroke-width:1px!important;}#my-svg .dimmed tspan{fill:#94a3b8!important;}#my-svg .inputNode>*{fill:#fef3c7!important;stroke:#f59e0b!important;color:#92400e!important;stroke-width:1px!important;}#my-svg .inputNode span{fill:#fef3c7!important;stroke:#f59e0b!important;color:#92400e!important;stroke-width:1px!important;}#my-svg .inputNode tspan{fill:#92400e!important;}#my-svg .outputNode>*{fill:#d1fae5!important;stroke:#10b981!important;color:#065f46!important;stroke-width:1px!important;}#my-svg .outputNode span{fill:#d1fae5!important;stroke:#10b981!important;color:#065f46!important;stroke-width:1px!important;}#my-svg .outputNode tspan{fill:#065f46!important;}#my-svg .ownedOutput>*{fill:#a5b4fc!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedOutput span{fill:#a5b4fc!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedOutput tspan{fill:#1e1b4b!important;}#my-svg .ownedInput>*{fill:#fde68a!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedInput span{fill:#fde68a!important;stroke:#4f46e5!important;color:#1e1b4b!important;stroke-width:2px!important;}#my-svg .ownedInput tspan{fill:#1e1b4b!important;}</style><g><marker id="my-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M744.994,86L736.586,90.167C728.178,94.333,711.363,102.667,702.955,110.333C694.547,118,694.547,125,694.547,128.5L694.547,132" id="L_input-tables_core-jsonmodels_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-tables_core-jsonmodels_0" data-points="W3sieCI6NzQ0Ljk5Mzk1NzUxOTUzMTIsInkiOjg2fSx7IngiOjY5NC41NDY4NzUsInkiOjExMX0seyJ4Ijo2OTQuNTQ2ODc1LCJ5IjoxMzZ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M694.547,190L694.547,194.167C694.547,198.333,694.547,206.667,694.547,214.333C694.547,222,694.547,229,694.547,232.5L694.547,236" id="L_core-jsonmodels_output-jsonschemas_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-jsonmodels_output-jsonschemas_0" data-points="W3sieCI6Njk0LjU0Njg3NSwieSI6MTkwfSx7IngiOjY5NC41NDY4NzUsInkiOjIxNX0seyJ4Ijo2OTQuNTQ2ODc1LCJ5IjoyNDB9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M694.547,318L694.547,322.167C694.547,326.333,694.547,334.667,694.547,342.333C694.547,350,694.547,357,694.547,360.5L694.547,364" id="L_output-jsonschemas_core-dbtypes_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_output-jsonschemas_core-dbtypes_0" data-points="W3sieCI6Njk0LjU0Njg3NSwieSI6MzE4fSx7IngiOjY5NC41NDY4NzUsInkiOjM0M30seyJ4Ijo2OTQuNTQ2ODc1LCJ5IjozNjh9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M694.547,422L694.547,426.167C694.547,430.333,694.547,438.667,694.547,446.333C694.547,454,694.547,461,694.547,464.5L694.547,468" id="L_core-dbtypes_output-kysely_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-dbtypes_output-kysely_0" data-points="W3sieCI6Njk0LjU0Njg3NSwieSI6NDIyfSx7IngiOjY5NC41NDY4NzUsInkiOjQ0N30seyJ4Ijo2OTQuNTQ2ODc1LCJ5Ijo0NzJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M219.156,75.195L201.046,81.163C182.935,87.13,146.714,99.065,128.603,108.533C110.492,118,110.492,125,110.492,128.5L110.492,132" id="L_input-api_core-apitypes_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_core-apitypes_0" data-points="W3sieCI6MjE5LjE1NjI1LCJ5Ijo3NS4xOTUzMTgxNTYyMjIzNH0seyJ4IjoxMTAuNDkyMTg3NSwieSI6MTExfSx7IngiOjExMC40OTIxODc1LCJ5IjoxMzZ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M110.492,190L110.492,194.167C110.492,198.333,110.492,206.667,110.492,214.333C110.492,222,110.492,229,110.492,232.5L110.492,236" id="L_core-apitypes_output-reqres_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-apitypes_output-reqres_0" data-points="W3sieCI6MTEwLjQ5MjE4NzUsInkiOjE5MH0seyJ4IjoxMTAuNDkyMTg3NSwieSI6MjE1fSx7IngiOjExMC40OTIxODc1LCJ5IjoyNDB9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M390.297,79.572L404.057,84.81C417.818,90.048,445.339,100.524,459.099,114.429C472.859,128.333,472.859,145.667,472.859,163C472.859,180.333,472.859,197.667,472.859,211.833C472.859,226,472.859,237,472.859,242.5L472.859,248" id="L_input-api_core-validators_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_core-validators_0" data-points="W3sieCI6MzkwLjI5Njg3NSwieSI6NzkuNTcyNDY0MTA0ODI3ODR9LHsieCI6NDcyLjg1OTM3NSwieSI6MTExfSx7IngiOjQ3Mi44NTkzNzUsInkiOjE2M30seyJ4Ijo0NzIuODU5Mzc1LCJ5IjoyMTV9LHsieCI6NDcyLjg1OTM3NSwieSI6MjUyfV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M212.984,314.604L226.608,319.337C240.232,324.069,267.479,333.535,285.81,342.019C304.141,350.502,313.555,358.005,318.262,361.756L322.969,365.507" id="L_output-reqres_handles-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_output-reqres_handles-gen_0" data-points="W3sieCI6MjEyLjk4NDM3NSwieSI6MzE0LjYwNDEwNDgyNTcxNDU2fSx7IngiOjI5NC43MjY1NjI1LCJ5IjozNDN9LHsieCI6MzI2LjA5Njc1NDgwNzY5MjMsInkiOjM2OH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M338.395,86L341.992,90.167C345.589,94.333,352.783,102.667,356.38,115.5C359.977,128.333,359.977,145.667,359.977,163C359.977,180.333,359.977,197.667,359.977,217C359.977,236.333,359.977,257.667,359.977,279C359.977,300.333,359.977,321.667,359.977,335.833C359.977,350,359.977,357,359.977,360.5L359.977,364" id="L_input-api_handles-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_handles-gen_0" data-points="W3sieCI6MzM4LjM5NDUzMTI1LCJ5Ijo4Nn0seyJ4IjozNTkuOTc2NTYyNSwieSI6MTExfSx7IngiOjM1OS45NzY1NjI1LCJ5IjoxNjN9LHsieCI6MzU5Ljk3NjU2MjUsInkiOjIxNX0seyJ4IjozNTkuOTc2NTYyNSwieSI6Mjc5fSx7IngiOjM1OS45NzY1NjI1LCJ5IjozNDN9LHsieCI6MzU5Ljk3NjU2MjUsInkiOjM2OH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M472.859,306L472.859,312.167C472.859,318.333,472.859,330.667,464.42,340.721C455.98,350.775,439.101,358.551,430.661,362.439L422.222,366.326" id="L_core-validators_handles-gen_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_core-validators_handles-gen_0" data-points="W3sieCI6NDcyLjg1OTM3NSwieSI6MzA2fSx7IngiOjQ3Mi44NTkzNzUsInkiOjM0M30seyJ4Ijo0MTguNTg4NzkyMDY3MzA3NywieSI6MzY4fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M359.977,422L359.977,426.167C359.977,430.333,359.977,438.667,359.977,446.333C359.977,454,359.977,461,359.977,464.5L359.977,468" id="L_handles-gen_output-handlers_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_handles-gen_output-handlers_0" data-points="W3sieCI6MzU5Ljk3NjU2MjUsInkiOjQyMn0seyJ4IjozNTkuOTc2NTYyNSwieSI6NDQ3fSx7IngiOjM1OS45NzY1NjI1LCJ5Ijo0NzJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M110.492,318L110.492,322.167C110.492,326.333,110.492,334.667,111.752,342.372C113.011,350.077,115.53,357.154,116.789,360.693L118.049,364.232" id="L_output-reqres_client-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_output-reqres_client-gen_0" data-points="W3sieCI6MTEwLjQ5MjE4NzUsInkiOjMxOH0seyJ4IjoxMTAuNDkyMTg3NSwieSI6MzQzfSx7IngiOjExOS4zOTAxNzQyNzg4NDYxNiwieSI6MzY4fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M286.445,86L284.492,90.167C282.539,94.333,278.633,102.667,276.68,115.5C274.727,128.333,274.727,145.667,274.727,163C274.727,180.333,274.727,197.667,274.727,217C274.727,236.333,274.727,257.667,274.727,279C274.727,300.333,274.727,321.667,263.678,336.276C252.629,350.885,230.531,358.77,219.482,362.713L208.433,366.656" id="L_input-api_client-gen_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-api_client-gen_0" data-points="W3sieCI6Mjg2LjQ0NTMxMjUsInkiOjg2fSx7IngiOjI3NC43MjY1NjI1LCJ5IjoxMTF9LHsieCI6Mjc0LjcyNjU2MjUsInkiOjE2M30seyJ4IjoyNzQuNzI2NTYyNSwieSI6MjE1fSx7IngiOjI3NC43MjY1NjI1LCJ5IjoyNzl9LHsieCI6Mjc0LjcyNjU2MjUsInkiOjM0M30seyJ4IjoyMDQuNjY1NzE1MTQ0MjMwNzcsInkiOjM2OH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M129,422L129,426.167C129,430.333,129,438.667,129,446.333C129,454,129,461,129,464.5L129,468" id="L_client-gen_output-client_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_client-gen_output-client_0" data-points="W3sieCI6MTI5LCJ5Ijo0MjJ9LHsieCI6MTI5LCJ5Ijo0NDd9LHsieCI6MTI5LCJ5Ijo0NzJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M890.201,86L897.307,90.167C904.413,94.333,918.624,102.667,925.73,110.333C932.836,118,932.836,125,932.836,128.5L932.836,132" id="L_input-tables_pg-drift_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_input-tables_pg-drift_0" data-points="W3sieCI6ODkwLjIwMTM1NDk4MDQ2ODgsInkiOjg2fSx7IngiOjkzMi44MzU5Mzc1LCJ5IjoxMTF9LHsieCI6OTMyLjgzNTkzNzUsInkiOjEzNn1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M932.836,190L932.836,194.167C932.836,198.333,932.836,206.667,932.836,216.333C932.836,226,932.836,237,932.836,242.5L932.836,248" id="L_pg-drift_pg-migrate_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_pg-drift_pg-migrate_0" data-points="W3sieCI6OTMyLjgzNTkzNzUsInkiOjE5MH0seyJ4Ijo5MzIuODM1OTM3NSwieSI6MjE1fSx7IngiOjkzMi44MzU5Mzc1LCJ5IjoyNTJ9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M932.836,306L932.836,312.167C932.836,318.333,932.836,330.667,932.836,340.333C932.836,350,932.836,357,932.836,360.5L932.836,364" id="L_pg-migrate_output-sql_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_pg-migrate_output-sql_0" data-points="W3sieCI6OTMyLjgzNTkzNzUsInkiOjMwNn0seyJ4Ijo5MzIuODM1OTM3NSwieSI6MzQzfSx7IngiOjkzMi44MzU5Mzc1LCJ5IjozNjh9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_input-tables_core-jsonmodels_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-jsonmodels_output-jsonschemas_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_output-jsonschemas_core-dbtypes_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-dbtypes_output-kysely_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_core-apitypes_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-apitypes_output-reqres_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_core-validators_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_output-reqres_handles-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_handles-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_core-validators_handles-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_handles-gen_output-handlers_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_output-reqres_client-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-api_client-gen_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_client-gen_output-client_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_input-tables_pg-drift_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_pg-drift_pg-migrate_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_pg-migrate_output-sql_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default ownedInput" id="flowchart-input-tables-0" transform="translate(823.69140625, 47)"><rect class="basic label-container" style="fill:#fde68a !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-95.9375" y="-39" width="191.875" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-65.9375, -24)"><rect/><foreignObject width="131.875" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>Table Schemas<br /><small>PostgresRecordModel</small></p></span></div></foreignObject></g></g><g class="node default ownedInput" id="flowchart-input-api-1" transform="translate(304.7265625, 47)"><rect class="basic label-container" style="fill:#fde68a !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-85.5703125" y="-39" width="171.140625" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-55.5703125, -24)"><rect/><foreignObject width="111.140625" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>API Definitions<br /><small>TsonHandlerModel</small></p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-jsonmodels-2" transform="translate(694.546875, 163)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-104.2734375" y="-27" width="208.546875" height="54"/><g class="label" style="color:#fff !important" transform="translate(-74.2734375, -12)"><rect/><foreignObject width="148.546875" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>generateJsonModels</p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-dbtypes-3" transform="translate(694.546875, 395)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-93.15625" y="-27" width="186.3125" height="54"/><g class="label" style="color:#fff !important" transform="translate(-63.15625, -12)"><rect/><foreignObject width="126.3125" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>generateDbTypes</p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-apitypes-4" transform="translate(110.4921875, 163)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-94.4921875" y="-27" width="188.984375" height="54"/><g class="label" style="color:#fff !important" transform="translate(-64.4921875, -12)"><rect/><foreignObject width="128.984375" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>generateApiTypes</p></span></div></foreignObject></g></g><g class="node default highlight" id="flowchart-core-validators-5" transform="translate(472.859375, 279)"><rect class="basic label-container" style="fill:#4f46e5 !important;stroke:#3730a3 !important;stroke-width:2px !important" x="-77.8828125" y="-27" width="155.765625" height="54"/><g class="label" style="color:#fff !important" transform="translate(-47.8828125, -12)"><rect/><foreignObject width="95.765625" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>buildValidator</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-handles-gen-6" transform="translate(359.9765625, 395)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-90.9375" y="-27" width="181.875" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-60.9375, -12)"><rect/><foreignObject width="121.875" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>generateHandles</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-client-gen-7" transform="translate(129, 395)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-90.0390625" y="-27" width="180.078125" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-60.0390625, -12)"><rect/><foreignObject width="120.078125" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>generateTsClient</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-pg-drift-8" transform="translate(932.8359375, 163)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-66.4609375" y="-27" width="132.921875" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-36.4609375, -12)"><rect/><foreignObject width="72.921875" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>detectDrift</p></span></div></foreignObject></g></g><g class="node default dimmed" id="flowchart-pg-migrate-9" transform="translate(932.8359375, 279)"><rect class="basic label-container" style="fill:#f1f5f9 !important;stroke:#cbd5e1 !important;stroke-width:1px !important" x="-94.484375" y="-27" width="188.96875" height="54"/><g class="label" style="color:#94a3b8 !important" transform="translate(-64.484375, -12)"><rect/><foreignObject width="128.96875" height="24"><div style="color: rgb(148, 163, 184) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#94a3b8 !important" class="nodeLabel"><p>generateMigration</p></span></div></foreignObject></g></g><g class="node default ownedOutput" id="flowchart-output-jsonschemas-10" transform="translate(694.546875, 279)"><rect class="basic label-container" style="fill:#a5b4fc !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-93.8046875" y="-39" width="187.609375" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-63.8046875, -24)"><rect/><foreignObject width="127.609375" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>JSON Schemas +<br />TypeScript Types</p></span></div></foreignObject></g></g><g class="node default ownedOutput" id="flowchart-output-kysely-11" transform="translate(694.546875, 511)"><rect class="basic label-container" style="fill:#a5b4fc !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-90.03125" y="-39" width="180.0625" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-60.03125, -24)"><rect/><foreignObject width="120.0625" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>Kysely Database<br />Interface</p></span></div></foreignObject></g></g><g class="node default ownedOutput" id="flowchart-output-reqres-12" transform="translate(110.4921875, 279)"><rect class="basic label-container" style="fill:#a5b4fc !important;stroke:#4f46e5 !important;stroke-width:2px !important" x="-102.4921875" y="-39" width="204.984375" height="78"/><g class="label" style="color:#1e1b4b !important" transform="translate(-72.4921875, -24)"><rect/><foreignObject width="144.984375" height="48"><div style="color: rgb(30, 27, 75) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#1e1b4b !important" class="nodeLabel"><p>Request / Response<br />TypeScript Types</p></span></div></foreignObject></g></g><g class="node default outputNode" id="flowchart-output-handlers-13" transform="translate(359.9765625, 511)"><rect class="basic label-container" style="fill:#d1fae5 !important;stroke:#10b981 !important;stroke-width:1px !important" x="-93.140625" y="-39" width="186.28125" height="78"/><g class="label" style="color:#065f46 !important" transform="translate(-63.140625, -24)"><rect/><foreignObject width="126.28125" height="48"><div style="color: rgb(6, 95, 70) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#065f46 !important" class="nodeLabel"><p>Handler Factories<br />+ Validators</p></span></div></foreignObject></g></g><g class="node default outputNode" id="flowchart-output-client-14" transform="translate(129, 511)"><rect class="basic label-container" style="fill:#d1fae5 !important;stroke:#10b981 !important;stroke-width:1px !important" x="-73.421875" y="-39" width="146.84375" height="78"/><g class="label" style="color:#065f46 !important" transform="translate(-43.421875, -24)"><rect/><foreignObject width="86.84375" height="48"><div style="color: rgb(6, 95, 70) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#065f46 !important" class="nodeLabel"><p>Type-safe<br />HTTP Client</p></span></div></foreignObject></g></g><g class="node default outputNode" id="flowchart-output-sql-15" transform="translate(932.8359375, 395)"><rect class="basic label-container" style="fill:#d1fae5 !important;stroke:#10b981 !important;stroke-width:1px !important" x="-84.8359375" y="-27" width="169.671875" height="54"/><g class="label" style="color:#065f46 !important" transform="translate(-54.8359375, -12)"><rect/><foreignObject width="109.671875" height="24"><div style="color: rgb(6, 95, 70) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#065f46 !important" class="nodeLabel"><p>SQL Migrations</p></span></div></foreignObject></g></g></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../../../libs/lockstep-core/vitest.config.ts"],"names":[],"mappings":";AAEA,wBAUG"}
|
package/vitest.config.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
export default defineConfig({
|
|
3
|
+
test: {
|
|
4
|
+
globals: true,
|
|
5
|
+
environment: 'node',
|
|
6
|
+
include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
|
|
7
|
+
coverage: {
|
|
8
|
+
provider: 'v8',
|
|
9
|
+
reporter: ['text'],
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=vitest.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../../../libs/lockstep-core/vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC3B,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CAAC,kDAAkD,CAAC;QAC7D,QAAQ,EAAE;YACT,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,MAAM,CAAC;SAClB;KACD;CACD,CAAC,CAAC"}
|