@opra/cli
v1.28.5
Published
Opra CLI tools
Downloads
2,372
Readme
@opra/cli
CLI tools for the OPRA framework — generate typed clients with oprimp
🌐 Documentation · 🚀 Getting Started · 📦 Packages · 💬 Issues
@opra/cli is a command-line tool for OPRA (Open Platform for Richful APIs). It currently features oprimp, a
TypeScript code generator that creates client-side models and API services from an OPRA service.
Installation
You can install @opra/cli globally or as a development dependency in your project.
Global Installation
npm install -g @opra/cliLocal Installation
npm install --save-dev @opra/cliCLI Usage: oprimp
The oprimp tool generates TypeScript code from an OPRA service URL.
oprimp <serviceUrl> <outDir> [options]Arguments
serviceUrl: The URL of the OPRA service (e.g.,http://localhost:3000/opra).outDir: The output directory where the generated files will be saved.
Options
--ext: Adds.jsextension to imports. This is useful for ESM projects.--refns: Exports referenced API documentation with namespaces.--no-color: Disables colors in log messages.-v, --version: Displays the version number.-h, --help: Displays help information.
Examples
Basic Usage
Generate TypeScript code from a local OPRA service:
npx oprimp http://localhost:3000/opra ./src/generatedESM Projects
If your project uses ESM and requires file extensions in imports:
npx oprimp http://localhost:3000/opra ./src/generated --extProgrammatic Usage
You can also use the TsGenerator class programmatically in your scripts.
import { TsGenerator } from '@opra/cli';
async function generate() {
const generator = new TsGenerator({
serviceUrl: 'http://localhost:3000/opra',
outDir: './src/generated',
importExt: true, // Optional: add .js extensions
fileHeader: '/* Generated by OPRA */', // Optional: add a header to files
});
await generator.generate();
console.log('Generation completed!');
}
generate().catch(console.error);TsGenerator Options
| Option | Type | Description |
|-----------------------|-----------|----------------------------------------------------------------|
| serviceUrl | string | Required. The URL of the OPRA service. |
| outDir | string | Required. The output directory for the generated files. |
| cwd | string | The current working directory. Defaults to process.cwd(). |
| logger | ILogger | Logger instance for outputting information. |
| fileHeader | string | Optional header text to add to the top of each generated file. |
| importExt | boolean | Whether to add .js extension to imports. |
| referenceNamespaces | boolean | Whether to export references with namespaces. |
Support
You can report bugs and discuss features on the GitHub issues page.
Node Compatibility
- node >= 20.x
License
Available under MIT license.
