コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

swagger-codegenで生成される nodejs-serverのswagger-toolsのバージョンを変えたい

swagger-codegenって便利なんだけど、サポート言語と歩調併せている関係か部分的に最新版じゃないかったりする。なんでそれを歩調合わせたときのメモ

やりたいこと

  • 最新版のswagger-toolsでお手軽モックサーバを立ち上げたい

問題

  • 最新版のswagger-toolsは1.0.3、しかし生成されるのは1.0.1
  • 1.0.3と1.0.1は結構UIに差がある、できれば1.0.3を使いたい

解決策

swagger-codegenにオプション的なものがないので力技で置換

# 前もってディレクトリを消しておく
rm -rf ./{{生成先のファイルパス}}
# swagger-codegenする
swagger-codegen generate -i {{生成元のjson}} -l nodejs-server -o {{生成先のファイルパス}}

# バージョンを差し替えたpackage.jsonをつくる
sed -e "s/\"swagger-tools\": \"0.10.1\"/\"swagger-tools\": \"0.10.3\"/"  {{生成先のファイルパス}}/package.json >  {{生成先のファイルパス}}/package_n.json
rm  {{生成先のファイルパス}}/package.json
mv  {{生成先のファイルパス}}/package_n.json  {{生成先のファイルパス}}/package.json