Skip to content

@univ-lehavre/atlas-redcap-openapi ​

REDCap source code analysis, OpenAPI specification extraction, and API documentation tools.

About ​

This package enables analyzing REDCap PHP source code to automatically extract OpenAPI specifications. It also provides version comparison tools and a documentation server.

Features ​

  • Extractor: Generate OpenAPI specs from REDCap PHP code
  • Comparator: Compare specs between versions
  • Server: API documentation with Swagger UI and Redoc
  • CLI: Interactive interface with @clack/prompts

Installation ​

bash
pnpm add @univ-lehavre/atlas-redcap-openapi

Usage ​

Interactive CLI ​

bash
pnpm -F @univ-lehavre/atlas-redcap-openapi cli

Direct Commands ​

bash
pnpm -F @univ-lehavre/atlas-redcap-openapi extract  # Extract OpenAPI spec
pnpm -F @univ-lehavre/atlas-redcap-openapi compare  # Compare versions
pnpm -F @univ-lehavre/atlas-redcap-openapi docs     # Documentation server

Programmatic Usage ​

typescript
import { extract, compare, serve } from '@univ-lehavre/atlas-redcap-openapi';

// Extract an OpenAPI spec from REDCap source code
const result = extract({
  version: '14.5.10',
  sourcePath: './upstream/versions',
  outputPath: './specs/versions/redcap-14.5.10.yaml',
});

// Compare two versions
const diff = compare({
  oldSpecPath: './specs/versions/redcap-14.5.10.yaml',
  newSpecPath: './specs/versions/redcap-14.6.0.yaml',
});

// Serve the documentation
serve({
  specPath: './specs/versions/redcap-14.5.10.yaml',
  port: 3000,
});

Scripts ​

bash
pnpm -F @univ-lehavre/atlas-redcap-openapi dev      # Development
pnpm -F @univ-lehavre/atlas-redcap-openapi build    # Build
pnpm -F @univ-lehavre/atlas-redcap-openapi test     # Tests
pnpm -F @univ-lehavre/atlas-redcap-openapi lint     # ESLint

Exports ​

ExportDescription
.All modules
./extractorOpenAPI extraction from PHP
./comparatorComparison utilities
./serverDocumentation server

Documentation ​

Organization ​

This package is part of Atlas, a set of tools developed by Le Havre Normandie University to facilitate research and collaboration between researchers.

Atlas is developed as part of two projects led by Le Havre Normandie University:


Le Havre Normandie University     Campus Polytechnique des Territoires Maritimes et Portuaires     EUNICoast

License ​

MIT

REDCap source code is proprietary and is NOT included in this repository.

Modules ​

ModuleDescription
-
comparator-
core-
extractor-
server-