diff --git a/samples/.gitignore b/samples/.gitignore index 0e427f75..020b77ca 100644 --- a/samples/.gitignore +++ b/samples/.gitignore @@ -1,3 +1,5 @@ +examples +node_modules swagger-codegen-cli-v2.jar swagger-codegen-cli-v3.jar -examples +yarn.lock diff --git a/samples/README.html b/samples/README.html index b74d6ceb..1addbbef 100644 --- a/samples/README.html +++ b/samples/README.html @@ -7,19 +7,19 @@ - Compared to other libraries + Compared to other generators
- +
I've used the standard petshop examples from OpenAPI:
diff --git a/samples/codegen.sh b/samples/codegen.sh index 2aaa9eab..e1ef1264 100755 --- a/samples/codegen.sh +++ b/samples/codegen.sh @@ -1,20 +1,25 @@ #!/bin/sh +rm -rf examples + 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 -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 +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/ +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/ +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/ +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/ +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/ +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/ -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 +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/ +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/ -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 +echo v2/openapi-typescript-codegen && time node ../bin/index.js --input v2/spec.json --output examples/v2/openapi-typescript-codegen/ +echo v3/openapi-typescript-codegen && time node ../bin/index.js --input v3/spec.json --output examples/v3/openapi-typescript-codegen/ + +yarn install +yarn run build cd examples find . -type f ! -iname "*.ts" -delete diff --git a/samples/package.json b/samples/package.json new file mode 100644 index 00000000..b29631c4 --- /dev/null +++ b/samples/package.json @@ -0,0 +1,25 @@ +{ + "name": "compare", + "version": "1.0.0", + "description": "Package file to compare generated libraries.", + "license": "MIT", + "scripts": { + "build": "tsc" + }, + "devDependencies": { + "@angular/common": "9.1.11", + "@angular/core": "9.1.11", + "@types/bluebird": "3.5.32", + "@types/jquery": "3.3.38", + "@types/node": "14.0.13", + "@types/request": "2.48.5", + "aurelia-framework": "1.3.1", + "aurelia-http-client": "1.3.1", + "bluebird": "3.7.2", + "jquery": "3.5.1", + "request": "2.88.2", + "rxjs": "6.5.5", + "rxjs-compat": "6.5.5", + "typescript": "3.9.5" + } +} diff --git a/samples/tsconfig.json b/samples/tsconfig.json new file mode 100644 index 00000000..8d04b4dc --- /dev/null +++ b/samples/tsconfig.json @@ -0,0 +1,39 @@ +{ + "compileOnSave": false, + + "compilerOptions": { + "target": "ES2017", + "module": "ES6", + "moduleResolution": "Node", + "lib": ["ES2017", "DOM"], + "types": ["node"], + "typeRoots": ["node_modules/@types"], + "noImplicitReturns": true, + "noImplicitThis": true, + "noImplicitAny": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "removeComments": true, + "experimentalDecorators": true + }, + + "include": [ + "./examples/v2/openapi-typescript-codegen/**/*.ts", + "./examples/v2/typescript-angular/**/*.ts", + "./examples/v2/typescript-aurelia/**/*.ts", + "./examples/v2/typescript-fetch/**/*.ts", + "./examples/v2/typescript-inversify/**/*.ts", + "./examples/v2/typescript-jquery/**/*.ts", + "./examples/v2/typescript-node/**/*.ts", + "./examples/v3/openapi-typescript-codegen/**/*.ts", + "./examples/v3/typescript-angular/**/*.ts", + "./examples/v3/typescript-fetch/**/*.ts" + ], + + "exclude": [ + "node_modules" + ] +} + diff --git a/yarn.lock b/yarn.lock index 5e4a27c8..f8a44e94 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1320,9 +1320,9 @@ acorn-jsx@^5.2.0: integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== acorn-walk@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" - integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn@^7.1.1: version "7.3.1" @@ -2024,9 +2024,9 @@ ecc-jsbn@~0.1.1: safer-buffer "^2.1.0" electron-to-chromium@^1.3.413: - version "1.3.474" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.474.tgz#161af012e11f96795eade84bf03b8ddc039621b9" - integrity sha512-fPkSgT9IBKmVJz02XioNsIpg0WYmkPrvU1lUJblMMJALxyE7/32NGvbJQKKxpNokozPvqfqkuUqVClYsvetcLw== + version "1.3.478" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.478.tgz#cfa0f2f0d3012463438a3bc81f50f2d109aca450" + integrity sha512-pt9GUDD52uEO9ZXWcG4UuW/HwE8T+a8iFP7K2qqWrHB5wUxbbvCIXGBVpQDDQwSR766Nn4AkmLYxOUNd4Ji5Dw== emoji-regex@^7.0.1: version "7.0.3"