Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extra package prefix created for Typescript AngularJS #189

Closed
achew22 opened this issue May 31, 2018 · 3 comments · Fixed by #2522
Closed

Extra package prefix created for Typescript AngularJS #189

achew22 opened this issue May 31, 2018 · 3 comments · Fixed by #2522

Comments

@achew22
Copy link
Contributor

achew22 commented May 31, 2018

Description

When OpenAPI generated PetApi.ts at 0373b74, the output correctly had the signature:

public addPet (pet: models.Pet, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> {

When the file was regenerated at 059a3ef, it now has the signature of

public addPet (pet: models.models.Pet, extraHttpRequestParams?: any ) : ng.IHttpPromise<{}> {

as you can see in PetApi.ts

openapi-generator version

https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/3.0.0-SNAPSHOT/openapi-generator-cli-3.0.0-20180529.071922-102.jar

OpenAPI declaration file content or url

This is from the OpenAPI sample declaration.

Command line used for generation

The ones in the .pom file.

Steps to reproduce
  1. Build OpenAPI
  2. Build the samples
  3. Notice that the path is incorrect and that it doesn't compile through the TS compiler.
Related issues/PRs

I looked but didn't see one. If I'm incorrect, please feel free to close this issue.

Suggest a fix/enhancement

I think this could be found by doing a bisection from the two provided commits and then mvn build'ing them and grepping for \.models\.models which would find it.

Additionally you might consider adding a test that regenerates the sample files and does a diff against what is checked in failing if there is a diff. This would ensure that the checked in files reflect the new reality of the generated code. Additionally, this would give you a nice diff every time someone did something that changed the generated code. Just a thought.

PS: Congrats on your progress post fork 🎆 🍾. Things seem to really be coming along! I can't wait for a V3 release!

@jimschubert
Copy link
Member

Thanks. That's an excellent issue report.

Here's the last script I used for a git bisect on this project: https://gist.github.com/jimschubert/38fe5491aa0c25df9d2c8c13d327a1b6. It should be a simple modification if someone wants to run a bisection to investigate this issue. This outputs UI notifications in Mac, in case the bisect range is large. The test condition is on the last if condition.

@jordan-nicholas
Copy link

It appears that this started happening at 80c8b92, which made DefaultCodegen.java run postProcessParameter() more often. If I remove either the postProcessParameter() or getTypeDeclaration() function from TypeScriptAngularJsClientCodegen.java the problem stops happening. I don't know if it's safe to remove either of those overrides though.

@cbermudez97
Copy link

I have been generating a client for typescript-angularjs and the result is lacking of the tsconfig.json, package.json and so on. Is this the expected result?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants