@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-openapiUsage ​
Interactive CLI ​
bash
pnpm -F @univ-lehavre/atlas-redcap-openapi cliDirect 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 serverProgrammatic 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 # ESLintExports ​
| Export | Description |
|---|---|
. | All modules |
./extractor | OpenAPI extraction from PHP |
./comparator | Comparison utilities |
./server | Documentation 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:
- Campus Polytechnique des Territoires Maritimes et Portuaires: research and training program focused on maritime and port issues
- EUNICoast: European university alliance bringing together institutions located in European coastal areas
License ​
MIT
REDCap source code is proprietary and is NOT included in this repository.
Modules ​
| Module | Description |
|---|---|
| - | |
| comparator | - |
| core | - |
| extractor | - |
| server | - |