25 lines
717 B
Bash
25 lines
717 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Create clean output directories
|
|
rm -rf gen && mkdir -p gen/ts gen/go/models
|
|
|
|
# Find all .json files
|
|
FILES=$(find schemas -name "*.json")
|
|
|
|
# Initialize the TypeScript Barrel File
|
|
echo "// Auto-generated barrel file" > gen/ts/index.ts
|
|
|
|
for file in $FILES; do
|
|
# Get a clean name (e.g., data-ingress_pis-mapping)
|
|
clean_name=$(echo "${file#schemas/}" | sed 's/\//_/g' | sed 's/\.json//g')
|
|
|
|
# OGenerate TS
|
|
npx --yes json-schema-to-typescript "$file" > "gen/ts/${clean_name}.ts"
|
|
|
|
# Generate Go
|
|
go-jsonschema -p contracts "$file" > "gen/go/models/${clean_name}.go"
|
|
done
|
|
|
|
echo "✅ Generated single TS package in gen/ts"
|
|
echo "✅ Generated single Go package in gen/go/models" |