Skip to content

Commit f36643c

Browse files
pablolazarowing328
authored andcommitted
[TypescriptAngular] gets package npm version from API specification (OpenAPITools#2019)
1 parent 7f86867 commit f36643c

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@ private void addNpmPackageGeneration(SemVer ngVersion) {
206206

207207
if (additionalProperties.containsKey(NPM_VERSION)) {
208208
this.setNpmVersion(additionalProperties.get(NPM_VERSION).toString());
209+
} else if (this.getVersionFromApi() != null) {
210+
this.setNpmVersion(this.getVersionFromApi());
209211
}
210212

211213
if (additionalProperties.containsKey(SNAPSHOT)
@@ -650,4 +652,17 @@ private String convertUsingFileNamingConvention(String originalName) {
650652
}
651653
return name;
652654
}
655+
656+
/**
657+
* Returns version from OpenAPI info.
658+
*
659+
* @return
660+
*/
661+
private String getVersionFromApi() {
662+
if (this.openAPI != null && this.openAPI.getInfo() != null) {
663+
return this.openAPI.getInfo().getVersion();
664+
} else {
665+
return null;
666+
}
667+
}
653668
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package org.openapitools.codegen.typescript.typescriptangular;
2+
3+
import io.swagger.v3.oas.models.OpenAPI;
4+
import org.junit.Assert;
5+
import org.junit.Test;
6+
import org.openapitools.codegen.*;
7+
import org.openapitools.codegen.languages.TypeScriptAngularClientCodegen;
8+
9+
public class TypescriptAngularApiVersionTest {
10+
11+
@Test
12+
public void testWithApiVersion() {
13+
final TypeScriptAngularClientCodegen codegen = new TypeScriptAngularClientCodegen();
14+
15+
codegen.additionalProperties().put("npmName", "just-a-test");
16+
17+
OpenAPI api = TestUtils.createOpenAPI();
18+
codegen.setOpenAPI(api);
19+
20+
codegen.processOpts();
21+
22+
Assert.assertEquals(codegen.getNpmVersion(), "1.0.7");
23+
}
24+
25+
@Test
26+
public void testWithoutNpmName() {
27+
final TypeScriptAngularClientCodegen codegen = new TypeScriptAngularClientCodegen();
28+
29+
OpenAPI api = TestUtils.createOpenAPI();
30+
31+
codegen.setOpenAPI(api);
32+
33+
codegen.processOpts();
34+
35+
Assert.assertEquals(codegen.getNpmVersion(), "1.0.0");
36+
}
37+
38+
@Test
39+
public void testWithNpmVersion() {
40+
final TypeScriptAngularClientCodegen codegen = new TypeScriptAngularClientCodegen();
41+
42+
codegen.additionalProperties().put("npmName", "just-a-test");
43+
codegen.additionalProperties().put("npmVersion", "2.0.0");
44+
45+
OpenAPI api = TestUtils.createOpenAPI();
46+
codegen.setOpenAPI(api);
47+
48+
codegen.processOpts();
49+
50+
Assert.assertEquals(codegen.getNpmVersion(), "2.0.0");
51+
}
52+
53+
54+
}

0 commit comments

Comments
 (0)