tapis-typescript
This project creates autogenerated TypeScript types and fetch bindings for TAPIS v3 from its OpenAPI specifications.
tapis-typescript
The @tapis/tapis-typescript
roll up package.
example
An example project that uses @tapis/tapis-typescript
from npm.
tapis-openapi
OpenAPI yml files from https://tapis-project.github.io/live-docs/
gen
Output directory of tapis-typescript
npm package
transforms
Transformation scripts
utils.js
: Utility functions for working with yml filestransformed_openapi
Transformation script output files
./generate.sh
Generation script that accepts the name of the service as a parameter and runs the entire workflow. All files must match the service name. For example, running ./generate.sh systems
will:
transforms/systems.js
, which should read tapis_openapi/systems.yml
and output the transformed results to transformed_openapi/systems.yml
openapi-generator-cli
and pass it configs/systems.json
with an output directory of gen/systems
[There's lots of greate information in the wiki how to create services and various transformations of the data.]https://github.com/tapis-project/tapis-typescript/wiki/Publishing-New-Services-to-@tapis-tapis-typescript
The @tapis/typescript
top level package locally references all of the services in the ./gen
folder. These services must be built, and then the top level package can be built. To do so, do the following:
cd tapis-typescript
npm install
npm run build-services
npm run build
Then you can run npm run test
This library contains some dependencies which makes configuring your environment somewhat complicated. To alleviate this, there is a provided Docker environment to work in.
cd <your_path>/tapis-typescript
docker build -t tapis-typescript-environment .
docker run -it -v $(pwd):/src --entrypoint=bash tapis-typescript-environment
(also seen in run.sh
)
/src
. Meaning all changes in the container should persists on your host../generate.sh
script./generate.sh pods