diff --git a/angular-cli.json b/.angular-cli.json similarity index 59% rename from angular-cli.json rename to .angular-cli.json index 1294046..eb815ea 100644 --- a/angular-cli.json +++ b/.angular-cli.json @@ -1,6 +1,6 @@ { + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "project": { - "version": "1.0.0-beta.28.3", "name": "excella-retro" }, "apps": [ @@ -14,16 +14,16 @@ "index": "index.html", "main": "main.ts", "polyfills": "polyfills.ts", - "test": "test.ts", - "tsconfig": "tsconfig.json", + "tsconfig": "tsconfig.app.json", + "testTsconfig": "tsconfig.spec.json", "prefix": "app", "styles": [ "styles.css", "custom_theme.scss" ], "scripts": [], + "environmentSource": "environments/environment.ts", "environments": { - "source": "environments/environment.ts", "dev": "environments/environment.ts", "prod": "environments/environment.prod.ts" } @@ -51,20 +51,29 @@ }, "defaults": { "styleExt": "css", - "prefixInterfaces": false, - "inline": { - "style": false, - "template": false + "component": { + "inlineTemplate": false, + "spec": true }, - "spec": { - "class": false, - "component": true, - "directive": true, - "module": false, - "pipe": true, - "service": true + "class": { + "inlineTemplate": false, + "spec": false }, - "viewEncapsulation": "Emulated", - "changeDetection": "Default" + "directive": { + "inlineTemplate": false, + "spec": true + }, + "module": { + "inlineTemplate": false, + "spec": false + }, + "pipe": { + "inlineTemplate": false, + "spec": true + }, + "service": { + "inlineTemplate": false, + "spec": true + } } } diff --git a/e2e/tsconfig.json b/e2e/tsconfig.e2e.json similarity index 67% rename from e2e/tsconfig.json rename to e2e/tsconfig.e2e.json index 656bdb1..72a2d6d 100644 --- a/e2e/tsconfig.json +++ b/e2e/tsconfig.e2e.json @@ -1,16 +1,19 @@ { - "compileOnSave": false, "compilerOptions": { + "sourceMap": true, "declaration": false, + "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, + "lib": [ + "es2016" + ], + "outDir": "../out-tsc/e2e", "module": "commonjs", - "moduleResolution": "node", - "outDir": "../dist/out-tsc-e2e", - "sourceMap": true, "target": "es5", - "typeRoots": [ - "../node_modules/@types" + "types":[ + "jasmine", + "node" ] } } diff --git a/karma.conf.js b/karma.conf.js index 1f2613a..78c5c1d 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -4,35 +4,36 @@ module.exports = function (config) { config.set({ basePath: '', - frameworks: ['jasmine', 'angular-cli'], + frameworks: ['jasmine', '@angular/cli'], plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), - require('karma-remap-istanbul'), - require('angular-cli/plugins/karma') + require('@angular/cli/plugins/karma'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter') ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, files: [ { pattern: './src/test.ts', watched: false } ], preprocessors: { - './src/test.ts': ['angular-cli'] + './src/test.ts': ['@angular/cli'] }, mime: { 'text/x-typescript': ['ts','tsx'] }, - remapIstanbulReporter: { - reports: { - html: 'coverage', - lcovonly: './coverage/coverage.lcov' - } + coverageIstanbulReporter: { + reports: [ 'html', 'lcovonly' ], + fixWebpackSourcePaths: true }, angularCli: { - config: './angular-cli.json', environment: 'dev' }, reporters: config.angularCli && config.angularCli.codeCoverage - ? ['progress', 'karma-remap-istanbul'] - : ['progress'], + ? ['progress', 'coverage-istanbul'] + : ['progress', 'kjhtml'], port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/package.json b/package.json index e39a6de..9e9a72c 100644 --- a/package.json +++ b/package.json @@ -6,49 +6,50 @@ "scripts": { "ng": "ng", "start": "ng serve", + "build": "ng build", "test": "ng test", - "pree2e": "webdriver-manager update --standalone false --gecko false", - "e2e": "protractor" + "lint": "ng lint", + "e2e": "ng e2e" }, "private": true, "dependencies": { - "@angular/common": "^2.3.1", - "@angular/compiler": "^2.3.1", - "@angular/core": "^2.3.1", + "@angular/common": "^4.0.0", + "@angular/compiler": "^4.0.0", + "@angular/core": "^4.0.0", "@angular/flex-layout": "^2.0.0-rc.1", - "@angular/forms": "^2.3.1", - "@angular/http": "^2.3.1", + "@angular/forms": "^4.0.0", + "@angular/http": "^4.0.0", "@angular/material": "^2.0.0-beta.2", - "@angular/platform-browser": "^2.3.1", - "@angular/platform-browser-dynamic": "^2.3.1", - "@angular/router": "^3.3.1", + "@angular/platform-browser": "^4.0.0", + "@angular/platform-browser-dynamic": "^4.0.0", + "@angular/router": "^4.0.0", "angular-2-local-storage": "^1.0.1", "angularfire2": "^2.0.0-beta.8", "core-js": "^2.4.1", "firebase": "^3.6.10", "hammerjs": "^2.0.8", - "ngx-clipboard": "^6.0.0", + "ngx-clipboard": "^5.0.3", "rxjs": "^5.0.1", - "ts-helpers": "^1.1.1", - "zone.js": "^0.7.2" + "zone.js": "^0.8.4" }, "devDependencies": { - "@angular/compiler-cli": "^2.3.1", + "@angular/cli": "^1.0.0", + "@angular/compiler-cli": "^4.0.0", "@types/hammerjs": "^2.0.34", "@types/jasmine": "2.5.38", - "@types/node": "^6.0.42", - "angular-cli": "1.0.0-beta.28.3", - "codelyzer": "~2.0.0-beta.1", - "jasmine-core": "2.5.2", - "jasmine-spec-reporter": "2.5.0", - "karma": "1.2.0", - "karma-chrome-launcher": "^2.0.0", - "karma-cli": "^1.0.1", - "karma-jasmine": "^1.0.2", - "karma-remap-istanbul": "^0.2.1", - "protractor": "~4.0.13", - "ts-node": "1.2.1", - "tslint": "^4.3.0", - "typescript": "~2.0.3" + "@types/node": "^6.0.60", + "codelyzer": "~2.0.0", + "jasmine-core": "~2.5.2", + "jasmine-spec-reporter": "~3.2.0", + "karma": "~1.4.1", + "karma-chrome-launcher": "~2.0.0", + "karma-cli": "~1.0.1", + "karma-coverage-istanbul-reporter": "^0.2.0", + "karma-jasmine": "~1.1.0", + "karma-jasmine-html-reporter": "^0.2.2", + "protractor": "~5.1.0", + "ts-node": "2.0.0", + "tslint": "^4.5.0", + "typescript": "~2.1.0" } } diff --git a/protractor.conf.js b/protractor.conf.js index ffded70..fca9db4 100644 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -20,13 +20,12 @@ exports.config = { defaultTimeoutInterval: 30000, print: function() {} }, - useAllAngular2AppRoots: true, beforeLaunch: function() { require('ts-node').register({ - project: 'e2e' + project: 'e2e/tsconfig.e2e.json' }); }, onPrepare: function() { - jasmine.getEnv().addReporter(new SpecReporter()); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); } }; diff --git a/src/app/components/retro/retro.component.html b/src/app/components/retro/retro.component.html index 0cceab4..117dd18 100644 --- a/src/app/components/retro/retro.component.html +++ b/src/app/components/retro/retro.component.html @@ -11,5 +11,5 @@ - + diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json new file mode 100644 index 0000000..b999974 --- /dev/null +++ b/src/tsconfig.app.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es5", + "lib": [ + "es2016", + "dom" + ], + "outDir": "../out-tsc/app", + "module": "es2015", + "baseUrl": "", + "types": [] + }, + "exclude": [ + "test.ts", + "**/*.spec.ts" + ] +} \ No newline at end of file diff --git a/src/tsconfig.spec.json b/src/tsconfig.spec.json new file mode 100644 index 0000000..a474b12 --- /dev/null +++ b/src/tsconfig.spec.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "lib": [ + "es2016", + "dom" + ], + "outDir": "../out-tsc/spec", + "module": "commonjs", + "target": "es5", + "baseUrl": "", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/src/typings.d.ts b/src/typings.d.ts new file mode 100644 index 0000000..9f22662 --- /dev/null +++ b/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} \ No newline at end of file diff --git a/src/tsconfig.json b/tsconfig.json similarity index 59% rename from src/tsconfig.json rename to tsconfig.json index 1cf713a..07938ce 100644 --- a/src/tsconfig.json +++ b/tsconfig.json @@ -1,18 +1,20 @@ { + "compileOnSave": false, "compilerOptions": { - "baseUrl": "", + "outDir": "./dist/out-tsc", + "baseUrl": "src", + "sourceMap": true, "declaration": false, + "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "lib": ["es6", "dom"], - "mapRoot": "./", - "module": "es6", - "moduleResolution": "node", - "outDir": "../dist/out-tsc", - "sourceMap": true, "target": "es5", "typeRoots": [ - "../node_modules/@types" + "node_modules/@types" + ], + "lib": [ + "es2016", + "dom" ] } -} +} \ No newline at end of file diff --git a/tslint.json b/tslint.json index 86bc184..9113f13 100644 --- a/tslint.json +++ b/tslint.json @@ -46,7 +46,7 @@ "no-empty": false, "no-empty-interface": true, "no-eval": true, - "no-inferrable-types": true, + "no-inferrable-types": [true, "ignore-params"], "no-shadowed-variable": true, "no-string-literal": false, "no-string-throw": true,