Project

General

Profile

« Previous | Next » 

Revision 61412

Added by John Balasis almost 3 years ago

angular upgrade to v8 lts

View differences:

modules/uoa-repository-dashboard-gui/branches/angular-upgrade/package.json
3 3
  "version": "0.0.0",
4 4
  "scripts": {
5 5
    "ng": "ng",
6
    "start": "ng serve",
6
    "start": "ng serve --proxy-config proxy.conf.json",
7 7
    "start:proxy": "ng serve --proxy-config proxy.conf.json",
8 8
    "build": "rm -rf dist; ng build --prod",
9 9
    "test": "ng test",
......
12 12
  },
13 13
  "private": true,
14 14
  "dependencies": {
15
    "@angular/animations": "7.2.15",
16
    "@angular/common": "7.2.15",
17
    "@angular/compiler": "7.2.15",
18
    "@angular/core": "7.2.15",
19
    "@angular/forms": "7.2.15",
20
    "@angular/http": "^7.2.16",
21
    "@angular/platform-browser": "7.2.15",
22
    "@angular/platform-browser-dynamic": "^7.2.15",
23
    "@angular/router": "7.2.15",
15
    "@angular/animations": "8.2.14",
16
    "@angular/common": "8.2.14",
17
    "@angular/compiler": "8.2.14",
18
    "@angular/core": "8.2.14",
19
    "@angular/forms": "8.2.14",
20
    "@angular/platform-browser": "8.2.14",
21
    "@angular/platform-browser-dynamic": "^8.2.14",
22
    "@angular/router": "8.2.14",
24 23
    "altair": "^1.0.0",
25 24
    "angular2-cookie-law": "^7.0.1",
26 25
    "bootstrap": "^4.1.3",
......
29 28
    "highcharts-angular": "^2.4.0",
30 29
    "jquery": "^3.4.1",
31 30
    "jquery-bez": "^1.0.11",
32
    "ngx-bootstrap": "^3.0.1",
31
    "ngx-bootstrap": "^4.3.0",
33 32
    "ngx-matomo": "^0.1.2",
34
    "rxjs": "6.3.3",
33
    "rxjs": "6.6.7",
35 34
    "uikit": "^3.0.0-rc.19",
36
    "zone.js": "^0.8.26"
35
    "zone.js": "~0.9.1"
37 36
  },
38 37
  "devDependencies": {
39
    "@angular-devkit/build-angular": "~0.7.5",
40
    "@angular/cli": "~7.3.10",
41
    "@angular/compiler-cli": "^7.2.15",
42
    "@angular/language-service": "^7.2.15",
38
    "@angular-devkit/build-angular": "~0.803.29",
39
    "@angular/cli": "~8.3.29",
40
    "@angular/compiler-cli": "^8.2.14",
41
    "@angular/language-service": "^8.2.14",
43 42
    "@types/jasmine": "~2.8.6",
44 43
    "@types/jasminewd2": "~2.0.3",
45 44
    "@types/node": "~8.9.4",
46 45
    "node-sass": "^4.0.0",
47
    "codelyzer": "~4.2.1",
46
    "codelyzer": "^5.0.1",
48 47
    "jasmine-core": "~2.99.1",
49 48
    "jasmine-spec-reporter": "~4.2.1",
50 49
    "karma": "~4.0.0",
......
55 54
    "protractor": "^5.4.1",
56 55
    "ts-node": "~5.0.1",
57 56
    "tslint": "~5.9.1",
58
    "typescript": "~3.2.4"
57
    "typescript": "~3.5.3"
59 58
  }
60 59
}
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/tsconfig.json
2 2
  "compileOnSave": false,
3 3
  "compilerOptions": {
4 4
    "baseUrl": "./",
5
    "downlevelIteration": true,
6
    "module": "esnext",
5 7
    "outDir": "./dist/out-tsc",
6 8
    "sourceMap": true,
7 9
    "declaration": false,
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/tslint.json
117 117
      "check-type"
118 118
    ],
119 119
    "no-output-on-prefix": true,
120
    "use-input-property-decorator": true,
121
    "use-output-property-decorator": true,
122
    "use-host-property-decorator": true,
120
    "no-inputs-metadata-property": true,
121
    "no-outputs-metadata-property": true,
122
    "no-host-metadata-property": true,
123 123
    "no-input-rename": true,
124 124
    "no-output-rename": true,
125
    "use-life-cycle-interface": true,
125
    "use-lifecycle-interface": true,
126 126
    "use-pipe-transform-interface": true,
127 127
    "component-class-suffix": true,
128 128
    "directive-class-suffix": true
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/adminPg/adminPg-metrics.component.ts
43 43

  
44 44
  dataForm: FormGroup;
45 45

  
46
  @ViewChild('confirmApprovalModal')
46
  @ViewChild('confirmApprovalModal', { static: true })
47 47
  public confirmApprovalModal: ConfirmationDialogComponent;
48 48
  private pageTotal: number;
49 49
  private piwiksTotal: number;
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/repository/update/update-repo-admins.component.ts
24 24
  selectedAdminForDelete: User;
25 25

  
26 26
  isDeleteModalShown: boolean;
27
  @ViewChild('deleteRepositoryAdminModal')
27
  @ViewChild('deleteRepositoryAdminModal', { static: true })
28 28
  public deleteRepositoryAdminModal: ConfirmationDialogComponent;
29 29

  
30 30
  isAddModalShown: boolean;
31
  @ViewChild('addRepositoryAdminModal')
31
  @ViewChild('addRepositoryAdminModal', { static: true })
32 32
  public addRepositoryAdminModal: ConfirmationDialogComponent;
33 33

  
34 34
  modalErrorMessage: string;
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/repository/update/sources-update-repo.component.ts
24 24
  repo: Repository;
25 25
  repoInterfaces: RepositoryInterface[] = [];
26 26

  
27
  @ViewChild('datasourceUpdateForm') datasourceUpdateForm: DatasourceUpdateFormComponent;
27
  @ViewChild('datasourceUpdateForm', { static: false }) datasourceUpdateForm: DatasourceUpdateFormComponent;
28 28

  
29 29
  group: FormGroup;
30 30

  
......
32 32
  dataForInterfaceComp: any[] = [];
33 33

  
34 34
  isModalShown: boolean;
35
  @ViewChild('updateLogoUrlModal')
35
  @ViewChild('updateLogoUrlModal', { static: true })
36 36
  public updateLogoUrlModal: ConfirmationDialogComponent;
37 37

  
38 38
  constructor ( private fb: FormBuilder,
......
42 42
                private sharedService: SharedService,
43 43
                private router: Router) { }
44 44

  
45
  @ViewChild('updateTermsForm')
45
  @ViewChild('updateTermsForm', { static: false })
46 46

  
47 47
  ngOnInit() {
48 48

  
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/repository/events/content-events-of-repo-eventslist.component.ts
57 57
  modalErrorMessage: string;
58 58

  
59 59
  isModalShown: boolean;
60
  @ViewChild('subscribeToEventsModal')
60
  @ViewChild('subscribeToEventsModal', { static: true })
61 61
  public subscribeToEventsModal: ConfirmationDialogComponent;
62 62

  
63 63
  constructor (private route: ActivatedRoute,
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/repository/metrics/metrics-enable.component.ts
29 29
  modalButton = 'Yes, enable it';
30 30
  isModalShown: boolean;
31 31

  
32
  @ViewChild('confirmEnablingModal')
32
  @ViewChild('confirmEnablingModal', { static: true })
33 33
  public confirmEnablingModal: ConfirmationDialogComponent;
34 34

  
35 35

  
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/repository/repository-routing.module.ts
25 25
          },
26 26
          {
27 27
            path: 'getImpact',
28
            loadChildren: './metrics/metrics.module#MetricsModule',
28
            loadChildren: () => import('./metrics/metrics.module').then(m => m.MetricsModule),
29 29
            canActivate: [AuthGuardService]
30 30
          },
31 31
          {
32 32
            path: 'aggregationHistory',
33
            loadChildren: './aggregationhistory/compatibility-monitor.module#AggregationHistoryModule',
33
            loadChildren: () => import('./aggregationhistory/compatibility-monitor.module').then(m => m.AggregationHistoryModule),
34 34
            canActivate: [AuthGuardService]
35 35
          },
36 36
          {
37 37
            path: 'events',
38
            loadChildren: './events/events.module#EventsModule',
38
            loadChildren: () => import('./events/events.module').then(m => m.EventsModule),
39 39
            canActivate: [AuthGuardService]
40 40
          },
41 41
          {
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/sources/sources-register/register-new-datasource.component.ts
30 30
   * currentStep represents the number of the current step
31 31
   */
32 32
  currentStep: number;
33
  @ViewChild('topHelperContent')
33
  @ViewChild('topHelperContent', { static: true })
34 34
  public topHelperContent: HelpContentComponent;
35
  @ViewChild('leftHelperContent')
35
  @ViewChild('leftHelperContent', { static: true })
36 36
  public leftHelperContent: AsideHelpContentComponent;
37
  @ViewChild('rightHelperContent')
37
  @ViewChild('rightHelperContent', { static: true })
38 38
  public rightHelperContent: AsideHelpContentComponent;
39
  @ViewChild('bottomHelperContent')
39
  @ViewChild('bottomHelperContent', { static: true })
40 40
  public bottomHelperContent: HelpContentComponent;
41 41

  
42
  @ViewChild ('registerDatasource')
42
  @ViewChild('registerDatasource', { static: false })
43 43
  registerDatasource: DatasourceCreateFormComponent;
44 44

  
45
  @ViewChild ('interfaceComments')
45
  @ViewChild('interfaceComments', { static: false })
46 46
  interfaceComments: DatasourceNewInterfaceFormComponent;
47 47

  
48 48
  @ViewChildren('interfacesArray') interfacesArray: QueryList<DatasourceNewInterfaceFormComponent>;
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/sources/sources-register/register-existing-datasource.component.ts
42 42
   * currentStep represents the number of the current step
43 43
   */
44 44
  currentStep: number;
45
  @ViewChild('topHelperContent')
45
  @ViewChild('topHelperContent', { static: true })
46 46
  public topHelperContent: HelpContentComponent;
47
  @ViewChild('leftHelperContent')
47
  @ViewChild('leftHelperContent', { static: true })
48 48
  public leftHelperContent: AsideHelpContentComponent;
49
  @ViewChild('rightHelperContent')
49
  @ViewChild('rightHelperContent', { static: true })
50 50
  public rightHelperContent: AsideHelpContentComponent;
51
  @ViewChild('bottomHelperContent')
51
  @ViewChild('bottomHelperContent', { static: true })
52 52
  public bottomHelperContent: HelpContentComponent;
53 53

  
54
  @ViewChild('datasourcesByCountry')
54
  @ViewChild('datasourcesByCountry', { static: false })
55 55
  public datasourcesByCountry: RegisterDatasourceSelectExistingComponent;
56 56

  
57
  @ViewChild ('registerDatasource')
57
  @ViewChild('registerDatasource', { static: false })
58 58
  registerDatasource: DatasourceUpdateFormComponent;
59 59

  
60
  @ViewChild ('interfaceComments')
60
  @ViewChild('interfaceComments', { static: false })
61 61
  interfaceComments: DatasourceNewInterfaceFormComponent;
62 62

  
63 63
  @ViewChildren('interfacesArray') interfacesArray: QueryList<DatasourceNewInterfaceFormComponent>;
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/compatibility/compatibility-validate-type.component.ts
27 27
   * the param that is used is 'step' and the values are: 'baseUrl','guidelines','crisEntities'/'parameters','finish'
28 28
   */
29 29
  currentStep: number;
30
  @ViewChild('topHelperContent')
30
  @ViewChild('topHelperContent', { static: true })
31 31
  public topHelperContent: HelpContentComponent;
32
  @ViewChild('leftHelperContent')
32
  @ViewChild('leftHelperContent', { static: true })
33 33
  public leftHelperContent: AsideHelpContentComponent;
34
  @ViewChild('rightHelperContent')
34
  @ViewChild('rightHelperContent', { static: true })
35 35
  public rightHelperContent: AsideHelpContentComponent;
36
  @ViewChild('bottomHelperContent')
36
  @ViewChild('bottomHelperContent', { static: true })
37 37
  public bottomHelperContent: HelpContentComponent;
38 38

  
39 39
  baseUrlList: string[] = [];
......
54 54
  errorMessage: string;
55 55
  loadingMessage: string;
56 56

  
57
  @ViewChild('step1ChooseBaseUrl') step1ChooseBaseUrl: CompatibilityValidateStep1Component;
58
  @ViewChild('step2ChooseGuidelines') step2ChooseGuidelines: CompatibilityValidateStep2Component;
59
  @ViewChild('step3ChooseParameters') step3ChooseParameters: CompatibilityValidateStep3Component;
60
  @ViewChild('step3ChooseCrisEntities') step3ChooseCrisEntities: CompatibilityValidateStep3CrisComponent;
57
  @ViewChild('step1ChooseBaseUrl', { static: false }) step1ChooseBaseUrl: CompatibilityValidateStep1Component;
58
  @ViewChild('step2ChooseGuidelines', { static: false }) step2ChooseGuidelines: CompatibilityValidateStep2Component;
59
  @ViewChild('step3ChooseParameters', { static: false }) step3ChooseParameters: CompatibilityValidateStep3Component;
60
  @ViewChild('step3ChooseCrisEntities', { static: false }) step3ChooseCrisEntities: CompatibilityValidateStep3CrisComponent;
61 61

  
62 62
  constructor(private route: ActivatedRoute,
63 63
              private router: Router,
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/pages/compatibility/compatibility-validation-results.component.ts
7 7
import { ConfirmationDialogComponent } from '../../shared/reusablecomponents/confirmation-dialog.component';
8 8
import { AuthenticationService } from '../../services/authentication.service';
9 9
import * as Highcharts from 'highcharts';
10
import {text} from '@angular/core/src/render3/instructions';
11 10

  
12 11
@Component({
13 12
  selector: 'app-compatibility-validation-results',
......
41 40
  chartOptionsForContent: Highcharts.Options;
42 41
  chartOptionsForUsage: Highcharts.Options;
43 42

  
44
  @ViewChild('checkErrors')
43
  @ViewChild('checkErrors', { static: true })
45 44
  public checkErrors: ConfirmationDialogComponent;
46 45

  
47 46
  constructor (private route: ActivatedRoute,
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/app.component.ts
27 27

  
28 28
  consentTermsOfUseDate: Date;
29 29

  
30
  @ViewChild('subscribeToTermsModal')
30
  @ViewChild('subscribeToTermsModal', { static: false })
31 31
  public subscribeToTermsModal: ConfirmationDialogComponent;
32 32

  
33 33
  open: boolean = true;
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/shared/reusablecomponents/read-more.component.ts
22 22
    //@Input() text: string;
23 23
    //maximum height of the container
24 24
    @Input("maxHeight") maxHeight: number = 100;
25
    @ViewChild("readMoreDiv")
25
    @ViewChild("readMoreDiv", { static: true })
26 26
    readMoreDiv: ElementRef;
27 27
    //set these to false to get the height of the expended container
28 28
    public isCollapsed: boolean = false;
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/shared/reusablecomponents/forms/my-array.interface.ts
44 44

  
45 45
  @Input() public initEmpty: boolean = false;
46 46

  
47
  @ViewChild(MyFormDirective) protected formComponents: MyFormDirective;
47
  @ViewChild(MyFormDirective, { static: true }) protected formComponents: MyFormDirective;
48 48

  
49 49
  protected _cfr: ComponentFactoryResolver;
50 50

  
......
155 155
    console.log(`emitted ${array_to_emit.length} interfaces`);
156 156
  }
157 157

  
158
  @ViewChild('confirmDelete')
158
  @ViewChild('confirmDelete', {static: false} )
159 159
  public confirmDelete: ConfirmationDialogComponent;
160 160

  
161 161
  @Output() emitShowModal: EventEmitter<void> = new EventEmitter<void>();
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/shared/reusablecomponents/forms/my-wrapper.interface.ts
17 17

  
18 18
  @Output() deleteNotifier: EventEmitter<ViewRef> = new EventEmitter();
19 19

  
20
  @ViewChild(MyFormDirective) private formComponents: MyFormDirective;
20
  @ViewChild(MyFormDirective, { static: true }) private formComponents: MyFormDirective;
21 21

  
22 22
  public first = true;
23 23

  
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/shared/reusablecomponents/confirmation-dialog.component.ts
10 10
})
11 11
export class ConfirmationDialogComponent {
12 12

  
13
  @ViewChild('autoShownModal') public autoShownModal: ModalDirective;
13
  @ViewChild('autoShownModal', { static: false }) public autoShownModal: ModalDirective;
14 14

  
15 15
  @Input() public isModalShown: boolean = false;
16 16

  
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/app/app-routing.module.ts
33 33
  },
34 34
  {
35 35
    path: 'repository',
36
    loadChildren: './pages/repository/repository.module#RepositoryModule',
36
    loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule),
37 37
    // loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule),
38 38
    canActivate: [AuthGuardService]
39 39
  },
40 40
  {
41 41
    path: 'repositoryAdmin',
42
    loadChildren: './pages/repository/repository.module#RepositoryModule',
42
    loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule),
43 43
    // loadChildren: () => import('./pages/repository/repository.module').then(m => m.RepositoryModule),
44 44
    canActivate: [AuthGuardService]
45 45
  },
......
52 52
  // },
53 53
  {
54 54
    path: 'sources',
55
    loadChildren: './pages/sources/sources.module#SourcesModule',
55
    loadChildren: () => import('./pages/sources/sources.module').then(m => m.SourcesModule),
56 56
    canActivate: [AuthGuardService]
57 57
  },
58 58
  {
59 59
    path: 'compatibility',
60
    loadChildren: './pages/compatibility/compatibility.module#CompatibilityModule'
60
    loadChildren: () => import('./pages/compatibility/compatibility.module').then(m => m.CompatibilityModule)
61 61
  },
62 62
  {
63 63
    path: 'content',
64
    loadChildren: './pages/content/content.module#ContentModule',
64
    loadChildren: () => import('./pages/content/content.module').then(m => m.ContentModule),
65 65
    canActivate: [AuthGuardService]
66 66
  },
67 67
  // {
......
71 71
  // },
72 72
  {
73 73
    path: 'admin',
74
    loadChildren: './pages/adminPg/adminPg.module#AdminPgModule',
74
    loadChildren: () => import('./pages/adminPg/adminPg.module').then(m => m.AdminPgModule),
75 75
  },
76 76
  {
77 77
    path: '403-forbidden',
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/polyfills.ts
11 11
 * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
12 12
 * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
13 13
 *
14
 * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
14
 * Learn more in https://angular.io/guide/browser-support
15 15
 */
16 16

  
17 17
/***************************************************************************************************
18 18
 * BROWSER POLYFILLS
19 19
 */
20 20

  
21
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
22
import 'core-js/es6/symbol';
23
import 'core-js/es6/object';
24
import 'core-js/es6/function';
25
import 'core-js/es6/parse-int';
26
import 'core-js/es6/parse-float';
27
import 'core-js/es6/number';
28
import 'core-js/es6/math';
29
import 'core-js/es6/string';
30
import 'core-js/es6/date';
31
import 'core-js/es6/array';
32
import 'core-js/es6/regexp';
33
import 'core-js/es6/map';
34
import 'core-js/es6/weak-map';
35
import 'core-js/es6/set';
36

  
37 21
/** IE10 and IE11 requires the following for NgClass support on SVG elements */
38 22
// import 'classlist.js';  // Run `npm install --save classlist.js`.
39 23

  
40
/** IE10 and IE11 requires the following for the Reflect API. */
41
import 'core-js/es6/reflect';
42

  
43

  
44
/** Evergreen browsers require these. **/
45
// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
46
import 'core-js/es7/reflect';
47

  
48

  
49 24
/**
50 25
 * Web Animations `@angular/platform-browser/animations`
51 26
 * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
52 27
 * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
53
 **/
28
 */
54 29
// import 'web-animations-js';  // Run `npm install --save web-animations-js`.
55 30

  
56 31
/**
57 32
 * By default, zone.js will patch all possible macroTask and DomEvents
58 33
 * user can disable parts of macroTask/DomEvents patch by setting following flags
34
 * because those flags need to be set before `zone.js` being loaded, and webpack
35
 * will put import in the top of bundle, so user need to create a separate file
36
 * in this directory (for example: zone-flags.ts), and put the following flags
37
 * into that file, and then add the following code before importing zone.js.
38
 * import './zone-flags.ts';
39
 *
40
 * The flags allowed in zone-flags.ts are listed here.
41
 *
42
 * The following flags will work for all browsers.
43
 *
44
 * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
45
 * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
46
 * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
47
 *
48
 *  in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
49
 *  with the following flag, it will bypass `zone.js` patch for IE/Edge
50
 *
51
 *  (window as any).__Zone_enable_cross_context_check = true;
52
 *
59 53
 */
60 54

  
61
 // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
62
 // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
63
 // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
64

  
65
 /*
66
 * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
67
 * with the following flag, it will bypass `zone.js` patch for IE/Edge
68
 */
69
// (window as any).__Zone_enable_cross_context_check = true;
70

  
71 55
/***************************************************************************************************
72 56
 * Zone JS is required by default for Angular itself.
73 57
 */
74 58
import 'zone.js/dist/zone';  // Included with Angular CLI.
75 59

  
76 60

  
77

  
78 61
/***************************************************************************************************
79 62
 * APPLICATION IMPORTS
80 63
 */
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/tsconfig.app.json
2 2
  "extends": "../tsconfig.json",
3 3
  "compilerOptions": {
4 4
    "outDir": "../out-tsc/app",
5
//    "module": "es2015",
6
    "module": "esnext",
7 5
    "types": []
8 6
  },
9 7
  "exclude": [
modules/uoa-repository-dashboard-gui/branches/angular-upgrade/src/tsconfig.spec.json
2 2
  "extends": "../tsconfig.json",
3 3
  "compilerOptions": {
4 4
    "outDir": "../out-tsc/spec",
5
    "module": "commonjs",
6 5
    "types": [
7 6
      "jasmine",
8 7
      "node"

Also available in: Unified diff