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,