TypeScript のプロジェクトで OpenAPI を利用するための手法の整理
Registry | Status |
---|---|
npm |
Development
package.json scripts
{
"build": "build code and generate docs",
"cherry-pick": "Create Proxy Directories",
"clean": "clean up",
"copy:lib": "copy files to release directory",
"mock:server": "yarn run mock:server endpoints/Article/index.yml",
"tsc:build:cjs": "Generate Commonjs",
"tsc:build:esm": "Generate ES module",
"tsc:build:types": "Generate Type definition only",
"release:github:registry": "publish github for registry",
"release:npm:registry": "publish for npm registry"
}
Release
release version
yarn run lerna version --yes
Tools
Preview
Realtime
Docker
yarn run swagger:server
API Mock Server (PORT 4000)
yarn run prism:server
Static Document Generator
Linter
Formatter
Development Flow
-
src/
の yml を編集時、OpenApi Preview で確認 - API MockServer を起動して、API の疎通確認
Build Flow
-
openapi-generator-cli
を利用して、dist/
以下にコードを自動生成
Trouble Shooting
openapi-generator
Cannot find name 'GlobalFetch'.
--additional-properties=typescriptThreePlus=true
Reference
WARN i.s.v.p.p.ExternalRefProcessor - A model for class Schema
- ディレクトリ名に予約語を利用している場合に発生する
- created
- updated
- deleted
- entity
- model
[main] WARN o.o.c.ignore.CodegenIgnoreProcessor - Output directory does not exist, or is inaccessible. No file (.openapi-generator-ignore) will be evaluated.
対応中
LICENSE
MIT