mirror of
https://github.com/ferdikoomen/openapi-typescript-codegen.git
synced 2025-12-08 20:16:21 +00:00
- Added generation times
This commit is contained in:
parent
8af28237b4
commit
8907aa34c0
@ -53,133 +53,143 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Supports OpenApi v2 specification</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="success" data-type="aurelia">✅</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="success" data-type="node">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Supports OpenApi v3 specification</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="danger" data-type="aurelia">❌</td>
|
||||
<td class="danger" data-type="inversify">❌</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="danger" data-type="jquery">❌</td>
|
||||
<td class="danger" data-type="node">❌</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Supports authentication</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="danger" data-type="aurelia">❌</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="success" data-type="node">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Strongly typed models</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="success" data-type="aurelia">✅</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="success" data-type="node">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Strongly typed enums</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="success" data-type="aurelia">✅</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="success" data-type="node">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Models and services exported as individual files</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="danger" data-type="aurelia">❌</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="danger" data-type="fetch">❌</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="danger" data-type="node">❌</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Index file that exports all services and models</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="success" data-type="aurelia">✅</td>
|
||||
<td class="danger" data-type="inversify">❌</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="danger" data-type="node">❌</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Service returns typed result</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="success" data-type="aurelia">✅</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="danger" data-type="fetch">❌</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="success" data-type="node">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Service supports sending and receiving binary content</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="success" data-type="aurelia">✅</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="danger" data-type="angular">❌</td>
|
||||
<td class="danger" data-type="fetch">❌</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="success" data-type="node">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Models and services contain inline documentation</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="success" data-type="aurelia">✅</td>
|
||||
<td class="success" data-type="inversify">✅</td>
|
||||
<td class="success" data-type="angular">✅</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="success" data-type="jquery">✅</td>
|
||||
<td class="success" data-type="node">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Framework agnostic</th>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success">✅</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="danger">❌</td>
|
||||
<td class="success" data-type="openapi-typscript-codegen">✅</td>
|
||||
<td class="danger" data-type="aurelia">❌</td>
|
||||
<td class="danger" data-type="inversify">❌</td>
|
||||
<td class="danger" data-type="angular">❌</td>
|
||||
<td class="success" data-type="fetch">✅</td>
|
||||
<td class="danger" data-type="jquery">❌</td>
|
||||
<td class="danger" data-type="node">❌</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Generated size (typescript)</th>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge" data-type="openapi-typscript-codegen">30Kb</span></td>
|
||||
<td><span class="badge" data-type="aurelia">30Kb</span></td>
|
||||
<td><span class="badge" data-type="inversify">30Kb</span></td>
|
||||
<td><span class="badge" data-type="angular">30Kb</span></td>
|
||||
<td><span class="badge" data-type="fetch">30Kb</span></td>
|
||||
<td><span class="badge" data-type="jquery">30Kb</span></td>
|
||||
<td><span class="badge" data-type="node">30Kb</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Build size (javascript)</th>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge">30Kb</span></td>
|
||||
<td><span class="badge" data-type="openapi-typscript-codegen">30Kb</span></td>
|
||||
<td><span class="badge" data-type="aurelia">30Kb</span></td>
|
||||
<td><span class="badge" data-type="inversify">30Kb</span></td>
|
||||
<td><span class="badge" data-type="angular">30Kb</span></td>
|
||||
<td><span class="badge" data-type="fetch">30Kb</span></td>
|
||||
<td><span class="badge" data-type="jquery">30Kb</span></td>
|
||||
<td><span class="badge" data-type="node">30Kb</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Generation time</th>
|
||||
<td><span class="badge" data-type="openapi-typscript-codegen">0.132s</span></td>
|
||||
<td><span class="badge" data-type="aurelia">0.715s</span></td>
|
||||
<td><span class="badge" data-type="inversify">0.788s</span></td>
|
||||
<td><span class="badge" data-type="angular">1.386s</span></td>
|
||||
<td><span class="badge" data-type="fetch">1.103s</span></td>
|
||||
<td><span class="badge" data-type="jquery">0.728s</span></td>
|
||||
<td><span class="badge" data-type="node">0.752s</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -3,17 +3,19 @@
|
||||
curl https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.14/swagger-codegen-cli-2.4.14.jar -o swagger-codegen-cli-v2.jar
|
||||
curl https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.20/swagger-codegen-cli-3.0.20.jar -o swagger-codegen-cli-v3.jar
|
||||
|
||||
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-aurelia -o examples/v2/typescript-aurelia/
|
||||
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-angular -o examples/v2/typescript-angular/
|
||||
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-inversify -o examples/v2/typescript-inversify/
|
||||
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-fetch -o examples/v2/typescript-fetch/
|
||||
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-jquery -o examples/v2/typescript-jquery/
|
||||
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-node -o examples/v2/typescript-node/
|
||||
echo v2/typescript-aurelia && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-aurelia -o examples/v2/typescript-aurelia/ &> /dev/null
|
||||
echo v2/typescript-angular && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-angular -o examples/v2/typescript-angular/ &> /dev/null
|
||||
echo v2/typescript-inversify && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-inversify -o examples/v2/typescript-inversify/ &> /dev/null
|
||||
echo v2/typescript-fetch && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-fetch -o examples/v2/typescript-fetch/ &> /dev/null
|
||||
echo v2/typescript-jquery && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-jquery -o examples/v2/typescript-jquery/ &> /dev/null
|
||||
echo v2/typescript-node && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-node -o examples/v2/typescript-node/ &> /dev/null
|
||||
|
||||
java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-angular -o examples/v3/typescript-angular/
|
||||
java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-fetch -o examples/v3/typescript-fetch/
|
||||
echo v3/typescript-angular && time java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-angular -o examples/v3/typescript-angular/ &> /dev/null
|
||||
echo v3/typescript-fetch && time java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-fetch -o examples/v3/typescript-fetch/ &> /dev/null
|
||||
|
||||
node ../bin/index.js --input v2/spec.json --output examples/v2/openapi-typescript-codegen/
|
||||
node ../bin/index.js --input v3/spec.json --output examples/v3/openapi-typescript-codegen/
|
||||
echo v2/openapi-typescript-codegen && time node ../bin/index.js --input v2/spec.json --output examples/v2/openapi-typescript-codegen/ &> /dev/null
|
||||
echo v3/openapi-typescript-codegen && time node ../bin/index.js --input v3/spec.json --output examples/v3/openapi-typescript-codegen/ &> /dev/null
|
||||
|
||||
cd examples && find . -type f ! -iname "*.ts" -delete
|
||||
cd examples
|
||||
find . -type f ! -iname "*.ts" -delete
|
||||
cd ../
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user