@cap-js/cds-typer
Generates TypeScript types from a CDS model.
Facts
Where it sits
Who is behind it
In the atlas: maintains 34@cap-jsmaintainerJohannes VogtContributes to this
In the atlas: maintains 1, contributes to 28, wrote 10@AkatuoroOlena VyshnevskaContributes to this
In the atlas: contributes to 2@alyonavyshnevskaChristian GeorgiContributes to this
In the atlas: maintains 1, contributes to 53@chgeoDaniel HutzelContributes to this
In the atlas: contributes to 32, wrote 3@danjoaDaniel O'GradyContributes to this
In the atlas: contributes to 10@daogradyGuilherme DellagustinContributes to this
In the atlas: contributes to 27@dellagustin-sapOlegs BugrovsContributes to this
In the atlas: contributes to 1@GoldSuccHeiko WitteborgContributes to this
In the atlas: contributes to 18@hm23Jörg MannContributes to this
In the atlas: contributes to 4@joergmannJohannes VogelContributes to this
In the atlas: contributes to 25@johannes-vogel18 contributors
What it declares
Every artifact
- Type
- Build tool
- Origin
- By SAP
- Runtime
- Node.js
As a build tool
- Declared for
- >=8
- Distributed through
- does not say
Connections
Generated types that make the model visible to the compiler
CAP service in TypeScript using types from @cap-js/cds-typer
Download
Install
npm add @cap-js/cds-typerDerived from the package name. No recipe recorded; the README has the configuration.
Learn more
- Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-ts Part - 2Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-ts Part - 2Part two takes the TypeScript project from part one to Cloud Foundry: cds add mta, then the parts of the generated descriptor the author singles out as needing attention for a TypeScript build rather than a JavaScript one. The pair together is the whole path — typed model locally, then deployed — which is where a typing walkthrough usually stops short.satya-dev, published 2024-07-19satya-dev, SAP Community
- Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-tsExploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-tsPart one of two: a bookshop project built in TypeScript from cds init, with cds-typer added as a development dependency and the surrounding tools — cds-ts and node-ts — put in place so the project runs locally. A setup walkthrough rather than an argument about typing, and it stops at the point where the application works on a laptop; deployment is part two.satya-dev, published 2024-07-08satya-dev, SAP Community
- v0.40.0
output_d_ts_filesdefaults totrue: the generated types are ambient.d.tsdeclaration files instead of.tsfiles. Setting it tofalserestores the old output.Makes stale:Build setups written around cds-typer emitting
.tsfiles that TypeScript then compiles.
3 earlier
- v0.34.0
use_entities_proxy, which allows static imports of the generated entity classes, defaults totrue; setting it tofalserestores the earlier behaviour.Makes stale:Advice to switch on
use_entities_proxybefore importing generated entities statically. - v0.33.0
cds.Binaryis typed asBufferandcds.LargeBinaryasReadable, matching@cap-js/hanaand@cap-js/sqlite;legacy_binary_types: truerestores the old types.Makes stale:Handler code typed against the earlier generated types for
cds.Binaryandcds.LargeBinary.
README
quoted from cap-js/cds-typer under Apache-2.0, readCDS type generator for JavaScript
About this project
Generates .ts files for a CDS model to receive code completion in VS Code.
Exhaustive documentation can be found on CAPire.
Known Restrictions
Certain language features of CDS can not be represented in TypeScript. Trying to generate types for models using these features will therefore result in incorrect or broken TypeScript code.
Changing Types
While the following is valid CDS, there is no TypeScript equivalent that would allow the type of an inherited property to change (TS2416).
entity A {
foo: Integer
};
entity B: A {
foo: String
}
Support, Feedback, Contributing
This project is open to feature requests/suggestions, bug reports etc. via GitHub issues. Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines.
Code of Conduct
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.
Licensing
Copyright 2022-2022 SAP SE or an SAP affiliate company and cds-typer contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.
History
Removed, Deprecated, Security, Features, Changed, Fixes 1
Notes
Added
Changed
Deprecated
Removed
Fixed
- inline enum JS assignments (e.g.
Entity.prop ??= {...}) are no longer emitted using the aspect's singular name as the left-hand side. Aspects have no runtime JS value, so such assignments caused aReferenceErrorat startup. The assignments are now correctly emitted on the concrete entity that includes the aspect.
Security
Removed, Deprecated, Security, Features, Changed, Fixes 2
Notes
Added
Changed
Deprecated
Removed
Fixed
- properly handle
.textsproperties in combination withcompat_texts_entities=false(default in cds10) during runtime. - emit correct import and namespace-qualified type reference for inline enum companion types when the parent type is defined in a different namespace.
Security
- properly handle
Removed, Deprecated, Security, Features, Changed, Fixes 2
Notes
Added
Changed
Deprecated
Removed
Fixed
- emit
kindproperty on events as static member to be properly consumed bycds-types. - do not cut off leading namespaces from top-level events, but only leading service names from events nested therein.
Security
- emit
Removed, Deprecated, Security, Features, Changed, Fixes 3
Notes
Added
Changed
Deprecated
Removed
Fixed
- Events with dotted names (e.g.
service S { event X.Y : {...} }) now generate a properly namespaced classnamespace X { class Y }instead of producing duplicate top-level identifiers. - Event names now use the service-relative name (e.g.
'X.Y'without preceedingS), matching the name the CDS runtime uses when registering and emitting such events. - Entity elements of named struct types used within CDS aspects are now correctly flattened when using
--inlineDeclarations flat.
Security
- Events with dotted names (e.g.
Removed, Deprecated, Security, Features, Changed 1, Fixes 2
Notes
Added
Changed
output_d_ts_filesnow defaults totrueand emits proper ambient.d.tsdeclaration files instead of merely renaming.tsoutput files. Plain.tsfiles are treated as source by TypeScript and other build tools, which caused them to be compiled and their.jsoutput to silently overwrite the runtime module exports generated by cds-typer. Projects with stricttsconfig.jsonsettings will benefit from this change, as.d.tsfiles do not require special handling incds buildor development scripts. Set tofalseto restore the old behaviour.
Deprecated
Removed
Fixed
- Entities with name conflicts with any of their ancestors now have their aspect name generated properly again
- Fixed sporadic
[Object object]appearing in log output
Security
Removed, Deprecated, Security, Features, Changed, Fixes 1
Notes
Added
Changed
Deprecated
Removed
Fixed
- Properly import entities from other services that are used in arrays/ compositions of many/ associations to many
Security
Removed, Deprecated, Security, Features 2, Changed, Fixes 1
Notes
Added
- Added flag
cds.env.typer.branded_primitive_typesfor branding CDStypedefinitions aliasing primitive TS types - Added support for non-ASCII identifiers in .cds files. Non-ASCII characters in identifiers are sanitised to valid TypeScript names. Identifiers consisting entirely of non-ASCII characters (e.g., Kanji) are replaced with random hashes. All affected identifiers are exported under their sanitised/hashed name and also as an alias preserving the original name. To use the original name, import it with
import ... as '...'syntax.
Changed
Deprecated
Removed
Fixed
- Association keys pointing to entities with inline enum types are now correctly typed in service projections across namespace boundaries
Security
- Added flag
Removed, Deprecated, Security, Features 1, Changed 2, Fixes
Notes
Added
- Added (experimental) flag
cds.env.typer.output_d_ts_filesfor generating output*.d.tsfiles instead of*.tsones
Changed
- unbound actions will now assume the
selftype ofnever, instead of the formernull - events will now have a static field
kind: 'event', akin to the one in entities
Deprecated
Removed
Fixed
Security
- Added (experimental) flag
Removed, Deprecated, Security, Features, Changed, Fixes 3
Notes
Added
Changed
Deprecated
Removed
Fixed
- Added declare statement on type definitions
- Explicitly add an
any[]type in generated boilerplate to avoid issues withnoImplicitAny - Entities included via
cds importnow have their properties properly generated
Security
Removed, Deprecated, Security, Features, Changed, Fixes 2
Notes
Added
Changed
Deprecated
Removed
Fixed
- targeting aspects in compositions now properly resolves them.
- transitive references to property types of other entities now also work for enums.
Security
Removed, Deprecated, Security, Features, Changed 2, Fixes 1
Notes
Added
Changed
- action parameters annotated with
@mandatoryare no longer nullable - base definitions now properly import the default export of
@sap/cds
Deprecated
Removed
Fixed
- Using
cds.Mapas type will no longer result in the property not being printed at all.
Security
- action parameters annotated with
Removed, Deprecated, Security, Features 1, Changed 2, Fixes
Notes
Added
- Improved performance of repeated
cds-typerruns by introducing an option to cache CDS model between runs. By default, typer will only regenerate the files if the model has changed between runs, usingblake2s256as algorithm. The used version of cds-typer is included in the hash and will therefore be version-specific.
Changed
- [breaking] The config
use_entities_proxy(allowing for static imports) is now set totrueas default. You can set it tofalseto revert to the old behaviour. - Running
cds watchwill triggercds-typer "*"before the initial startup
Deprecated
Removed
Fixed
Security
- Improved performance of repeated
Removed, Deprecated, Security, Features, Changed, Fixes 1
Notes
Added
Changed
Deprecated
Removed
Fixed
- Enums are now exported in ESM style in ESM projects
Security
Removed, Deprecated, Security, Features 2, Changed 2, Fixes
Notes
Added
- Support new
cds.Maptype, which is emitted as{[key:string]: unknown}. The most appropriate type would in fact be{[key:string]: any}, which would also allow any and all keys. But would also cause issues with strict project configurations. Therefore, to effectively usecds.Map, users will have to cast theunknowns to the effective type they expect. - Introduce
cds.env.typer.build_taskto allow disabling thetypescriptbuild task shipped with cds-typer by setting it tofalse
Changed
- [breaking] The types
cds.Binaryandcds.LargeBinaryare now generated asBufferandReadablerespectively to reflect the behaviour of the new database packages@cap-js/hanaand@cap-js/sqlite. You can switch back to the old behaviour by addinglegacy_binary_types: trueto your project configuration. CHANGELOG.mdandLICENSEfiles are no longer part of the npm package.
Deprecated
Removed
Fixed
Security
- Support new
Removed, Deprecated, Security, Features, Changed, Fixes 2
Notes
Added
Changed
Deprecated
Removed
Fixed
- default value for
inline_declarationsin help command - entity scope and namespace are now added in the correct order to inflected type names
Security
- default value for
Removed, Deprecated, Security, Features 2, Changed 3, Fixes 1
Notes
Added
- dedicated classes for inline compositions
- dedicated text-classes for entities with
localizedelements
Changed
- prefixed builtin types like
PromiseandRecordwithglobalThis., to allow using names of builtin types for entities without collisions - default export class representing the service itself is now exported without name
- bumped peer-dependency to
@cap-js/cds-typesto>=0.9
Deprecated
Removed
Fixed
- referencing another entity's property of type
cds.Stringin an enum will now properly quote the generated values
Security
Features 1, Fixes 3
Notes
Fixed
- type-referencing a property that is a key no longer breaks the referring property
- when targeting ESM, all imports within the generated types now add a
/index.js-suffix to conform to modern module resolution mechanisms - leaving
target_module_typeat'auto'now properly acts on a detected"type":"module"
Added
- cds aspects now generate a synthetic plural type too, to be used in
composition of many
Changed 1, Fixes 1
Notes
Changed
- [breaking] when running cds-typer in a CAP project, the default for the
outputDirectoryoption will be./@cds-modelsinstead of./. This default takes the lowest precedence after setting it in the project'scds.env, or explicitly as CLI argument.
Fixed
- cds-typer no longer ignores the selected
outputDirectory, which would also cause an issue during build
- [breaking] when running cds-typer in a CAP project, the default for the
Features 1, Fixes 1
Notes
Added
- [breaking] cds-typer now tries to automatically detect whether it has to generate ESM or CommonJS in the emitted index.js files. This behaviour can be overridden via the
--targetModuleTypeoption. If you rely on these generated index.js files to be CJS despite your project being of ESM type, you need to manually tell cds-typer to generate CJS files!
Fixed
- The static
.keysproperty now properly reels in key types from inherited classes.
- [breaking] cds-typer now tries to automatically detect whether it has to generate ESM or CommonJS in the emitted index.js files. This behaviour can be overridden via the
Fixes 2
Notes
Fixed
cds buildno longer fails on Windows with anEINVALerror.cds buildalso supports custom model paths intsconfig.jsonthat do not end with/index.ts. This is the case for projects running withtsx.
Features 4, Fixes 4
Notes
Added
- Schema definition for
cds.typeroptions inpackage.jsonand.cdsrc-*.jsonfiles - Added a static
elementsproperty to all entities, which allows access to theLinkedDefinitionsinstance of an entity's elements - Schema definition for
typescriptcds build task. .draftsproperty of any entityEis now of typeDraftOf<E>, orDraftsOf<E>for plurals, respectively. This type exposes dditional properties that are available on drafts during runtime.
Fixed
- Entity elements of named structured types are flattened when using the option
--inlineDeclarations flat overridemodifier on.kindproperty is now only generated if the property is actually inherited, satisfying stricttsconfig.jsons- Properly support mandatory (
not null) action parameters witharray oftypes - Static property
.draftsis only create for entity classes that are actually draft enabled
- Schema definition for
Changed 2, Fixes 3
Notes
Changed
- Any configuration variable (via CLI or
cds.env) can now be passed in snake_case in addition to camelCase - Action parameters are now generated as optional by default, which is how the runtime treats them. Mandatory parameters have to be marked as
not nullin CDS/CDL, ornotNullin CSN.
Fixed
- Fix build task for projects with spaces
- Fix a bug where cds-typer would produce redundant type declarations when the model contains an associations to another entity's property
- Reintroduce default value
'.'for--outputDirectory
- Any configuration variable (via CLI or
Features 10
Notes
Added
- Added a static
.keysproperty in all entities. That property is dictionary which holds all properties as keys that are marked askeyin CDS - Added a CLI option
--useEntitiesProxy. When set totrue, all entities are wrapped intoProxyobjects during runtime, allowing top level imports of entity types. - Added a static
.kindproperty for entities and types, which contains'entity'or'type'respectively - Apps need to provide
@sap/cdsversion8.2or higher. - Apps need to provide
@cap-js/cds-typesversion0.6.4or higher. - Typed methods are now generated for calls of unbound actions. Named and positional call styles are supported, e.g.
service.action({one, two})andservice.action(one, two). - Action parameters can be optional in the named call style (
service.action({one:1, ...})). - Actions for ABAP RFC modules cannot be called with positional parameters, but only with named ones. They have 'parameter categories' (import/export/changing/tables) that cannot be called in a flat order.
- Services now have their own export (named like the service itself). The current default export is not usable in some scenarios from CommonJS modules.
- Enums and operation parameters can have doc comments
- Added a static
Features 1, Changed 2, Fixes 1
Notes
Added
- Declaring a type alias on an enum in cds now also exports it on value level in the resulting type
Fixed
- Classes representing views and projections will no longer carry ancestry to avoid clashes thereof with aliases fields
Changed
- All properties are now preceeded with the
declaremodifier to pass strict tsconfigs usinguseDefineForClassFieldsornoImplicitOverride - The static
actionsproperty of generated classes now includes the types from all inherited classes to also suggest actions defined in a base entity/aspect/type.
Changed 2, Fixes 2
Notes
Fixed
- Suppressed an error that would incorrectly point out naming clashes when an entity was named in singular inflection in the model
- CDS aspects now also generate a aspect-function in singular inflection, similar to how entities do
Changed
- Aspects generate named classes again so that tooltips will show more meaningful provenance for properties
- The TypeScript task for
cds buildno longer looks for tsconfig.json to determine if the project has TS nature and instead checks the dependencies in the project's package.json for an occurrence oftypescript
Fixes 2
Notes
Fixed
- Plurals no longer have
is_singularattached in the resulting .js files - Properties are properly propagated beyond just one level of inheritance
- Plurals no longer have
Changed 1, Fixes 1
Notes
Fixed
- Fixed a bug where keys would sometimes inconsistently become nullable
Changed
- Logging now internally uses
cds.logand pipes output into thecds-typerlogger, which can be configured viacds.envin addition to explicitly passing a--logLevelparameter to CLI. Users now have to use the levels defined incds.log.levels. The formerly valid levelsWARNING,CRITICAL, andNONEare now deprecated and automatically mapped to valid levels for now.
Fixes 1
Notes
Fixed
- The typescript build task will no longer attempt to run unless at least cds 8 is installed
Fixes 1
Notes
Fixed
- Added missing cds-plugin.js to exported files to properly enable calling
cds build --for typescript
- Added missing cds-plugin.js to exported files to properly enable calling
Features 2, Changed 3, Fixes 2
Notes
Added
- Added
IEEE754Compatibleflag which, when set totrue, generates decimal fields as(number | string)instead ofnumber. This flag will be removed in the long run - Added plugin to
cds buildTypeScript projects. Can be explicitly called usingcds build --for typescript
Changed
- Types representing CDS events are now only
declared to avoid having to make their properties optional - Singular forms in generated index.js files now contain a
.is_singularproperty as marker for distinguished handling of singular and plural in the runtime - Parameters passed to the CLI now take precedence over configuration contained in the
typersection ofcds.env
Fixed
- Entities ending with an "s" are no longer incorrectly truncated within
extends-clauses - Entity names prefixed with their own namespace (e.g.
Name.Name,Name.NameAttachments) are not stripped of their name prefix
- Added
Fixes 1
Notes
Fixed
- Referring to a property's type in a function/ action parameter no longer refers to the enclosing entity
Features 3, Changed 1, Fixes 5
Notes
Added
- Types for actions and functions now expose a
.kindproperty which holds the string'function'or'action'respectively - Added the
CdsDate,CdsDateTime,CdsTime,CdsTimestamptypes, which are each represented as astring. - Plural types can now also contain an optional numeric
$countproperty
Changed
- Empty
.actionsproperties and operations without parameters are now typed asRecord<never, never>to make it clear they contain nothing and also to satisfy overzealous linters
Fixed
- Composition of aspects now properly resolve implicit
typeofreferences in their properties - Importing an enum into a service will now generate an alias to the original enum, instead of incorrectly duplicating the definition
- Returning entities from actions/ functions and using them as parameters will now properly use the singular inflection instead of returning an array thereof
- Aspects are now consistently named and called in their singular form
- Only detect inflection clash if singular and plural share the same namespace. This also no longer reports
sap.commonas erroneous during type creation
- Types for actions and functions now expose a
Fixes 2
Notes
Fixed
- Resolving
@sap/cdswill now look in the CWD first to ensure a consistent use the same CDS version across different setups - Types of function parameters starting with
cds.are not automatically considered builtin anymore and receive a more thorough check against an allow-list
- Resolving
Fixes 1
Notes
Fix
- Remove faulty plural for CDS
typedefinitions from the generated index.js files
- Remove faulty plural for CDS
Features 1, Changed 1
Notes
Added
- Improved support for projections, including projections on inline definitions, and on views, as well as support for explicit exclusion and selection of properties
Changed
- [breaking] CDS
typedefinitions will not be inflected. Whatever inflection you define them in will be assumed treated as a singular form and will not receive a plural form anymore
Fixes 1
Notes
Fixed
- Fixed a bug where refering to an externally defined enum via the
typeofsyntax would crash the type generation
- Fixed a bug where refering to an externally defined enum via the
Changed 3, Fixes 1
Notes
Changed
- Changed default log level from
NONEtoERROR. See the doc to manually pass in another log level for cds-typer runs - Name collisions between automatically generated foreign key fields (
.…_ID,.…_code, etc.) with explicitly named fields will now raise an error - Generate CDS types that are actually structured types as if they were entities. This allows the correct representation of mixing aspects and types in CDS inheritance, and also fixes issues with inline enums in such types
Fixed
- Externally defined enums can now be used as parameter types in actions
- Changed default log level from
Features 2, Fixes 4
Notes
Added
- Support for scoped entities
- Support for delimited identifiers
Fixed
- Inline enums are now available during runtime as well
- Inline enums can now be used as action parameter types as well. These enums will not have a runtime representation, but will only assert type safety!
- Arrays of inline enum values can now be used as action parameters too. But they will only be represented by their enclosing type for now, i.e.
string,number, etc. - Foreign keys of projection entities are now propagated as well
Features 1, Changed 1
Notes
Changed
- Enums are now generated ecplicitly in the respective index.js files and don't have to extract their values from the model at runtime anymore
Added
- The
excludingclause in projections now actually excludes the specified properties in the generated types
Features 1, Changed 1, Fixes 1
Notes
Changed
- Generate
cds.LargeBinaryas string, buffer, or readable in the case of media content
Added
- Added support for the
not nullmodifier
Fixed
- Now using names of enum values in generated index.js files if no explicit value is present
- Generate
Features, Changed, Fixes 1
Notes
Changed
Added
Fixed
- Fixed how service names are exported as default export
Removed 1, Features 3, Changed, Fixes 2
Notes
Changed
Added
- Autoexposed entities in services are now also generated
- Each generated class now contains their original fully qualified name in a static
.nameproperty - Inline enums that are defined as literal type of properties are now supported as well (note: this feature is experimental. The location to which enums are generated might change in the future!)
Fixed
- Fixed an error when an entity uses
type ofon a property they have inherited from another entity - Fixed an error during draftability propagation when defining compositions on types that are declared inline
Removed
compileFromCSNis no longer part of the package's API
Features, Changed 1, Fixes
Notes
Changed
- Actions and functions are now attached to a static
.actionsproperty of each generated class. This reflects the runtime behaviour better than the former way of generating instance methods
Added
Fixed
- Actions and functions are now attached to a static
Features 1, Changed, Fixes 1
Notes
Changed
Added
- Support for drafts via
@odata.draft.enabledannotation
Fixed
- Foreign keys are now propagated more than one level (think:
x_ID_ID_ID)
- Support for drafts via
Features, Changed, Fixes 2
Notes
Changed
Added
Fixed
- Foreign keys that are inherited via aspects are now also generated in addition to the resolved property (see 0.7.0)
- Explicitly annotated
@singularand@pluralnames are now properly used in generated index.js files
Features 2, Changed, Fixes
Notes
Changed
Added
- Support for
[many] $selfsyntax in bound action parameters - Foreign keys are now present in the generated types in addition to the resolved property
Fixed
- Support for
Features 1, Fixes 3
Notes
Added
- Support for
eventsyntax
Fixed
- Initialise bound actions with stubs to support
"strict":truein tsconfig.json - Add leading underscore to appease
noUnusedParametersin strict tsconfigs - No longer inflect
typedefinitions when they are referenced within entities or other type definitions
- Support for
Features 1, Changed 1, Fixes 2
Notes
Changed
- Facilitate strict property checks. Note:
checkJs: truemust be present in the project's jsconfig.json or tsconfig.json respectively for this feature to become effective
Added
- Support for
array ofsyntax
Fixed
- Generate
stringtype for date-related types in CDS definitions - Generate
Buffer | stringtype for the CDS typeLargeBinary
- Facilitate strict property checks. Note:
Features 1
Notes
Added
- Support for enums when they are defined separately (not inline in the property type of an entity)
Features 1, Changed 1, Fixes 1
Notes
Added
- Support
functiondefinitions (apart fromactions)
Changed
- Bump version to next minor
Fixed
- Properly import CDS
typedefinitions when they are referenced elsewhere
- Support
Other 2
Notes
- Enable use of annotated singular/ plural names in associations/ compositions
- Rename package from
@sap/cds-dts-generatorto@cap-js/cds-typer
Other 10
Notes
- use native Typescript AST in unit tests
- add
propertiesOptionalflag - support flat, as well as nested inline declarations
- support
typeofsyntax - read rudimentary configuration from cds.env
- export bound and unbound actions
- allow inline type definitions within compositions
- enable use of additional type libraries (HANA types available as first library)
- provide proper JSDoc for all modules
- export entity types for singular variants alongside plural types
Others providing
Compare all 4 on the Typing page →- com.sap.cds:cds-maven-plugincom.sap.cds:cds-maven-pluginThe Maven plugin that runs CDS build steps in a CAP Java project: compiling the model, generating typed Java accessor interfaces and adding facets to an existing project.sap official, capMaven plugin running CDS build steps in a CAP Java project
- @cap-js/cds-types@cap-js/cds-typesType definitions for the CAP Node.js SDK.sap official, capType definitions for the CAP Node.js SDK
- cds-internal-toolcds-internal-toolReusable internals for people writing CAP extensions — annotation helpers, current cds runtime types, module resolution, reflection utilities and type assertions.independent, capReusable internals for authors of CAP extensions
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:cap-js-cds-typer- JSON
- /artifacts/cap-js-cds-typer.json
- MCP
- Connecting an agent