RESO Transport Tools

Testing, client SDK, and reference implementation tools for the RESO Web API specification.

7
Packages
433+
Tests
3
DB Backends
Libraries

Core Libraries

Stable
@reso/validation
Isomorphic validation library for RESO metadata-driven field validation. Works in any JS runtime (Node.js, browser, edge).
41 tests · Zero dependencies
View →
@reso/odata-filter-parser
Standalone, zero-dependency library for parsing OData 4.01 $filter expressions into a typed AST.
97 tests · Zero dependencies
View →
@reso/odata-client
OData 4.01 client SDK for TypeScript. URI builder, CRUD helpers, CSDL metadata parsing, query validation, and response parsing.
101 tests · Depends on odata-filter-parser
View →
Tools

Developer Tools

Tools
@reso/data-generator
Generates realistic RESO Data Dictionary test data. Supports HTTP, JSON, and curl output modes with resource-specific generators.
69 tests · CLI + Library
View →
@reso/certification
RESO certification testing tools. Includes Web API Add/Edit (RCP-010) compliance testing against 8 Gherkin BDD scenarios.
49 tests · Certification
View →
Reference Implementation

RESO Reference Server

OData 4.01
reso-reference-server
Metadata-driven OData 4.01 reference server with React UI. Dynamically generates database tables, CRUD endpoints, EDMX metadata, and OpenAPI documentation from the RESO Data Dictionary JSON metadata.
76 tests · PostgreSQL · MongoDB · SQLite · Docker
View →
Quick Start

Run the Reference Server

git clone https://github.com/RESOStandards/reso-transport-tools.git
cd reso-transport-tools/reso-reference-server
docker compose up -d                      # Start server + PostgreSQL
docker compose --profile seed up          # Seed with test data

# Verify
curl http://localhost:8080/health
curl http://localhost:8080/\$metadata
open http://localhost:8080/api-docs        # Swagger UI
open http://localhost:5173                  # React UI

Run Certification Tests

cd certification
npx reso-cert-add-edit \
  --url http://localhost:8080 \
  --resource Property \
  --payloads ./add-edit/sample-payloads \
  --auth-token admin-token