OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
21.44k stars 6.48k forks source link

[BUG] typescript-fetch code does not compile because of Errors #8961

Open mknj opened 3 years ago

mknj commented 3 years ago

Bug Report Checklist

Description

typescript-fetch code does not compile because of Errors

openapi-generator version
"@openapitools/openapi-generator-cli": "^1.0.18-4.3.1",

and "@openapitools/openapi-generator-cli": "^1.0.18-5.0.0-beta2",

"typescript": "^4.2.3",
OpenAPI declaration file content or url

any file

Generation Details

There are many bugs like

Error TS6133: 'InlineResponse2003ToJSON' is declared but its value is never read.
Steps to reproduce
openapi-generator generate -i openapi.yaml -g typescript-fetch -o ui/src/generated
tsc ui/src/generated/runtime.ts
Related issues/PRs
Suggest a fix

replace /* tslint:disable */ by // @ts-nocheck or add extra ts-nocheck line

diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache
index 8466deb2853..3781155fd63 100644
--- a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache
+++ b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache
@@ -1,3 +1,4 @@
+// @ts-nocheck
 /* tslint:disable */
 /* eslint-disable */
 {{>licenseInfo}}
diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/models.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/models.mustache
index 20135a84425..e8c7db348c3 100644
--- a/modules/openapi-generator/src/main/resources/typescript-fetch/models.mustache
+++ b/modules/openapi-generator/src/main/resources/typescript-fetch/models.mustache
@@ -1,3 +1,4 @@
+// @ts-nocheck
 /* tslint:disable */
 /* eslint-disable */
 {{>licenseInfo}}
diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache
index d0c29b93a75..ff219a869e5 100644
--- a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache
+++ b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache
@@ -1,3 +1,4 @@
+// @ts-nocheck
 /* tslint:disable */
 /* eslint-disable */
 {{>licenseInfo}}
auto-labeler[bot] commented 3 years ago

👍 Thanks for opening this issue! 🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

jmroon commented 2 years ago

Anyone have a suggested workaround to this?

mknj commented 2 years ago

add // @ts-nocheck to the generated files

Poitrin commented 2 years ago

add // @ts-nocheck to the generated files

This is what we use atm, e.g.

SED_COMMAND='1s;^;// @ts-nocheck\n;'
if [ "$(uname)" != "Darwin" ]; then
  sed -i "$SED_COMMAND" $TARGET**/*.ts
else
  sed -i '' "$SED_COMMAND" $TARGET**/*.ts
fi
sdoeringNew commented 2 years ago

I think adding ts-nocheck is a bit harsh as TypeScript is supposed to add some sort of type safety.

Unfortunately TypeScript does not give us the opportunity to ignore specific errors on class level nor blacklist files during type check.

So I think adding the nocheck option to every generated file should be the solution, too.

sdoeringNew commented 2 years ago

So I think adding the nocheck option to every generated file should be the solution, too.

I stand corrected! If I'm looking at the typescript-axios generator the TypeScript compilation works fine without errors and without // @ts-nocheck. So I added a pull request that is doing the same thing as typescript-axios already does. And this is to add // @ts-ignore before the lines there the current compilation errors appear or might appear.

With this change my projects compiled without errors.

Perhaps you'll have a look for yourself and checkout the latest PR.

FilipKrawiec commented 2 years ago

Do you plan to merge this solution soon?

sdoeringNew commented 2 years ago

bump

Time to merge? It's the same solution like typescript-axios already has. So it can't be bad for typescript-axios.

sdoeringNew commented 2 years ago

What is taking so long? Merge it already. It's the same solution as done in typescript-axios.

mknj commented 2 years ago

Currently the generator for typescript-fetch is broken for any spec. Nobody with a standard tsconfig can use it without post applying some work around. A possible solution was provided in the error report.

@sdoeringNew, Thanks for https://github.com/OpenAPITools/openapi-generator/pull/11674. Would it be possible to resolve the merge conflicts and fix the failed "ci/circleci: node2" test?

joellp commented 1 year ago

Is there any progress on this? I am waiting for this fix :)

johanbook commented 11 months ago

Also have run into this issue and curios about status on this

fidesachates commented 7 months ago

Is this dead? Hoping it's not.