Привет, мне интересно, возможен ли этот сценарий.
Я использую openapi-generator с опцией генератора typescript-axios и хочу знать, можно ли его автоматизировать, как показано ниже.
Это моя первоначальная мысль.
- Создайте проект и добавьте скрипт для генерации кода с помощью openapi-generator и скомпилируйте. ex) build: openapi-generator-cli generate -g typescript-axios -o src -i https://myapi.com/swagger.json && tsc
- Загрузите в github и добавьте веб-перехватчик, чтобы он получал уведомления, когда наш проект api получает PR или коммит.
- Как только этот веб-перехватчик получает уведомление, действие Github запускается и генерирует новый клиентский sdk и скомпилировал библиотеку со сценарием под номером 1.
Я устал от этого с приведенным ниже рабочим процессом, но опубликованный пакет не содержит сгенерированного кода. Любая помощь будет оценена по достоинству.
name: Node.js Package
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
- run: npm ci
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run-script build
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
и мой package.json
{
"name": "my-api-client",
"version": "1.0.0",
"description": "Openapi generated typescript-axios client",
"main": "index.js",
"scripts": {
"test": "echo \\\"Error: no test specified\\\" && exit 1",
"build": "openapi-generator-cli generate -g typescript-axios -o src -i https://myapi.com/swagger.json --type-mappings=DateTime=Date && tsc"
},
"keywords": [
"typescript-axios",
"client"
],
"license": "ISC",
"dependencies": {
"axios": "^0.21.0",
"typescript": "^3.8.3"
},
"devDependencies": {
"@openapitools/openapi-generator-cli": "^2.0.3",
"@types/node": "^13.9.0"
}
}```
Thank you