Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[typescript-angular] Added support for Angular v6 (by adding support …
…for RxJS v6) (#8155)

* Change RxJS imports, if using Angular >= 6

* Add testcases for Angular v5 and v6

* Remove unwanted whitespace in padding, and restore petstore with interfaces

* Update according to review of @macjohnny

* Correct padding for typescript v2 test, and revert typescript with interfaces readme
  • Loading branch information
akehir authored and wing328 committed May 11, 2018
1 parent 9020d88 commit a004b19
Show file tree
Hide file tree
Showing 52 changed files with 23,446 additions and 26 deletions.
6 changes: 5 additions & 1 deletion bin/typescript-angular-petstore-all.sh
Expand Up @@ -57,4 +57,8 @@ java $JAVA_OPTS -jar $executable $ags

echo "Typescript Petstore API client (v5 { Uses latest version of ng-packagr })"
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v5/npm --additional-properties ngVersion=5"
java $JAVA_OPTS -jar $executable $ags
java $JAVA_OPTS -jar $executable $ags

echo "Typescript Petstore API client (v6 { Uses RxJS version 6 })"
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v6/npm --additional-properties ngVersion=6"
java $JAVA_OPTS -jar $executable $ags
31 changes: 31 additions & 0 deletions bin/typescript-angular-v6-petstore-with-npm.sh
@@ -0,0 +1,31 @@
#!/bin/sh

SCRIPT="$0"

while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done

if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi

executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"

if [ ! -f "$executable" ]
then
mvn clean package
fi

# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v6/npm --additional-properties ngVersion=6"

java $JAVA_OPTS -jar $executable $ags
2 changes: 1 addition & 1 deletion bin/windows/typescript-angular-petstore-all.bat
Expand Up @@ -6,5 +6,5 @@ call .\bin\windows\typescript-angular-v2.bat
call .\bin\windows\typescript-angular-v4-with-npm.bat
call .\bin\windows\typescript-angular-v4.3-with-npm.bat
call .\bin\windows\typescript-angular-v5-with-npm.bat

call .\bin\windows\typescript-angular-v6-with-npm.bat

10 changes: 10 additions & 0 deletions bin/windows/typescript-angular-v6-with-npm.bat
@@ -0,0 +1,10 @@
set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar

If Not Exist %executable% (
mvn clean package
)

REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular -o samples\client\petstore\typescript-angular-v6\npm --additional-properties ngVersion=6

java %JAVA_OPTS% -jar %executable% %ags%
Expand Up @@ -127,6 +127,7 @@ public void processOpts() {
additionalProperties.put("injectionToken", ngVersion.atLeast("4.0.0") ? "InjectionToken" : "OpaqueToken");
additionalProperties.put("injectionTokenTyped", ngVersion.atLeast("4.0.0"));
additionalProperties.put("useHttpClient", ngVersion.atLeast("4.3.0"));
additionalProperties.put("useRxJS6", ngVersion.atLeast("6.0.0"));
if (!ngVersion.atLeast("4.3.0")) {
supportingFiles.add(new SupportingFile("rxjs-operators.mustache", getIndexDirectory(), "rxjs-operators.ts"));
}
Expand Down
Expand Up @@ -14,7 +14,12 @@ import { Response, ResponseContentType } from '@angular/http
import { CustomQueryEncoderHelper } from '../encoder';
{{/useHttpClient}}

{{^useRxJS6}}
import { Observable } from 'rxjs/Observable';
{{/useRxJS6}}
{{#useRxJS6}}
import { Observable } from 'rxjs';
{{/useRxJS6}}
{{^useHttpClient}}
import '../rxjs-operators';
{{/useHttpClient}}
Expand Down
Expand Up @@ -6,8 +6,12 @@ import { HttpHeaders } from '@angular/comm
import { Headers } from '@angular/http';
{{/useHttpClient}}

{{^useRxJS6}}
import { Observable } from 'rxjs/Observable';

{{/useRxJS6}}
{{#useRxJS6}}
import { Observable } from 'rxjs';
{{/useRxJS6}}

{{#imports}}
import { {{classname}} } from '../{{filename}}';
Expand Down
Expand Up @@ -28,7 +28,7 @@
"@angular/compiler": "^{{ngVersion}}",
"core-js": "^2.4.0",
"reflect-metadata": "^0.1.3",
"rxjs": "^5.4.0",
"rxjs": "{{#useRxJS6}}^6.1.0{{/useRxJS6}}{{^useRxJS6}}^5.4.0{{/useRxJS6}}",
"zone.js": "^0.7.6"
},
"devDependencies": {
Expand All @@ -40,9 +40,9 @@
"@angular/platform-browser": "^{{ngVersion}}",{{#useNgPackagr}}
"ng-packagr": {{#useOldNgPackagr}}"^1.6.0"{{/useOldNgPackagr}}{{^useOldNgPackagr}}"^2.4.1"{{/useOldNgPackagr}},{{/useNgPackagr}}
"reflect-metadata": "^0.1.3",
"rxjs": "^5.4.0",
"rxjs": "{{#useRxJS6}}^6.1.0{{/useRxJS6}}{{^useRxJS6}}^5.4.0{{/useRxJS6}}",
"zone.js": "^0.7.6",
"typescript": "^2.1.5"
"typescript": ">=2.1.5 <2.8"
}{{#npmRepository}},{{/npmRepository}}
{{#npmRepository}}
"publishConfig": {
Expand Down
2 changes: 2 additions & 0 deletions pom.xml
Expand Up @@ -859,6 +859,8 @@
<!--<module>samples/client/petstore/typescript-angular-v2/npm</module>-->
<module>samples/client/petstore/typescript-angular-v4/npm</module>
<module>samples/client/petstore/typescript-angular-v4.3/npm</module>
<module>samples/client/petstore/typescript-angular-v5/npm</module>
<module>samples/client/petstore/typescript-angular-v6/npm</module>
<!--<module>samples/client/petstore/bash</module>-->
</modules>
</profile>
Expand Down
Expand Up @@ -34,7 +34,7 @@
"reflect-metadata": "^0.1.3",
"rxjs": "^5.4.0",
"zone.js": "^0.7.6",
"typescript": "^2.1.5"
"typescript": ">=2.1.5 <2.8"
},
"publishConfig": {
"registry": "https://skimdb.npmjs.com/registry"
Expand Down
2 changes: 1 addition & 1 deletion samples/client/petstore/typescript-angular-v2/npm/pom.xml
Expand Up @@ -4,7 +4,7 @@
<artifactId>TSAngular2PestoreTest</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>TS Angular2 Pettore Test</name>
<name>TS Angular2 Petstore Test</name>
<build>
<plugins>
<plugin>
Expand Down
@@ -1,4 +1,4 @@
## @swagger/angular2-typescript-petstore@0.0.1
## @

### Building

Expand All @@ -19,7 +19,7 @@ Navigate to the folder of your consuming project and run one of next commands.
_published:_

```
npm install @swagger/angular2-typescript-petstore@0.0.1 --save
npm install @ --save
```

_without publishing (not recommended):_
Expand All @@ -37,7 +37,7 @@ npm link

In your project:
```
npm link @swagger/angular2-typescript-petstore
npm link
```

__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages.
Expand All @@ -52,7 +52,7 @@ In your Angular project:

```
// without configuring providers
import { ApiModule } from '@swagger/angular2-typescript-petstore';
import { ApiModule } from '';
import { HttpModule } from '@angular/http';
Expand All @@ -70,7 +70,7 @@ export class AppModule {}

```
// configuring providers
import { ApiModule, Configuration, ConfigurationParameters } from '@swagger/angular2-typescript-petstore';
import { ApiModule, Configuration, ConfigurationParameters } from '';
export function apiConfigFactory (): Configuration => {
const params: ConfigurationParameters = {
Expand All @@ -89,7 +89,7 @@ export class AppModule {}
```

```
import { DefaultApi } from '@swagger/angular2-typescript-petstore';
import { DefaultApi } from '';
export class AppComponent {
constructor(private apiGateway: DefaultApi) { }
Expand Down Expand Up @@ -126,7 +126,7 @@ export class AppModule {
If different than the generated base path, during app bootstrap, you can provide the base path to your service.

```
import { BASE_PATH } from '@swagger/angular2-typescript-petstore';
import { BASE_PATH } from '';
bootstrap(AppComponent, [
{ provide: BASE_PATH, useValue: 'https://your-web-service.com' },
Expand All @@ -135,7 +135,7 @@ bootstrap(AppComponent, [
or

```
import { BASE_PATH } from '@swagger/angular2-typescript-petstore';
import { BASE_PATH } from '';
@NgModule({
imports: [],
Expand All @@ -159,7 +159,7 @@ export const environment = {

In the src/app/app.module.ts:
```
import { BASE_PATH } from '@swagger/angular2-typescript-petstore';
import { BASE_PATH } from '';
import { environment } from '../environments/environment';
@NgModule({
Expand Down
Expand Up @@ -13,7 +13,6 @@ import { Headers } from '@angular/http

import { Observable } from 'rxjs/Observable';


import { ApiResponse } from '../model/apiResponse';
import { Pet } from '../model/pet';

Expand Down
Expand Up @@ -13,7 +13,6 @@ import { Headers } from '@angular/http

import { Observable } from 'rxjs/Observable';


import { Order } from '../model/order';


Expand Down
Expand Up @@ -13,7 +13,6 @@ import { Headers } from '@angular/http

import { Observable } from 'rxjs/Observable';


import { User } from '../model/user';


Expand Down
Expand Up @@ -34,7 +34,7 @@
"reflect-metadata": "^0.1.3",
"rxjs": "^5.4.0",
"zone.js": "^0.7.6",
"typescript": "^2.1.5"
"typescript": "~2.1.5"
},
"publishConfig": {
"registry": "https://skimdb.npmjs.com/registry"
Expand Down

0 comments on commit a004b19

Please sign in to comment.