@orval/angular
v8.20.0
Published
Readme
@orval/angular
Angular generator support for Orval.
This package powers Orval's Angular output and is responsible for generating:
- injectable Angular
HttpClientservice classes - signal-first Angular
httpResourcehelpers - mixed
bothmode output with service classes plus sibling*.resource.tsfiles - Angular-specific response typing, request options, runtime validation, and helper utilities
In most application projects you configure Angular output through the main
orval package. This package exists so the Angular generator can be versioned,
tested, and consumed as a standalone builder inside the Orval monorepo.
Visit orval.dev for guides, API docs, and examples.
What it generates
@orval/angular supports three Angular retrieval modes through
override.angular.retrievalClient (or the legacy override.angular.client
alias):
| Mode | Generated output | Best for |
| -------------- | -------------------------------------------------------------- | ----------------------------------------------------------- |
| httpClient | Retrievals stay on injectable Angular service classes | Conventional service-based Angular APIs |
| httpResource | Signal-first resource helpers for retrieval-style operations | Angular apps using signals for read flows |
| both | Service classes plus sibling *.resource.ts retrieval helpers | Projects that want signal-first reads and imperative writes |
Mutation-style operations continue to use generated HttpClient service
methods by default unless a per-operation override changes classification.
If override.angular.retrievalClient is omitted, Angular generation defaults to
httpClient mode.
Example configuration
import { defineConfig } from 'orval';
export default defineConfig({
petstore: {
input: {
target: './petstore.yaml',
},
output: {
client: 'angular',
target: 'src/api/petstore.ts',
schemas: 'src/api/model',
mode: 'tags-split',
override: {
angular: {
retrievalClient: 'httpResource',
runtimeValidation: true,
},
},
},
},
});For end-user docs and richer examples, see:
Angular-specific features
This package includes support for:
HttpClientobserve overload generation- signal-based parameter generation for
httpResource - multi-content-type response branching via generated
Accepthelpers - Zod-backed runtime validation for Angular output
- resource option helpers such as
defaultValue,debugName,injector, andequal - generated
ClientResult/ResourceResultaliases ResourceState<T>andtoResourceState()helpers for resource integration
Development
Useful package-local scripts:
pnpm --filter @orval/angular buildpnpm --filter @orval/angular testpnpm --filter @orval/angular lintpnpm --filter @orval/angular typecheck
More samples
You can explore additional Orval samples here:
