Giter Site home page Giter Site logo

marcoturi / ionic-boilerplate Goto Github PK

View Code? Open in Web Editor NEW
316.0 43.0 106.0 6.32 MB

✨ An Ionic Starter kit featuring Tests, E2E, Karma, Protractor, Jasmine, Istanbul, Gitlab CI, Automatic IPA and APK, TypeScript 2, TsLint, Codelyzer, Typedoc, Yarn, Rollup, and Webpack 2

License: MIT License

JavaScript 56.86% TypeScript 24.40% HTML 8.37% Shell 5.38% SCSS 4.99%
ionic angular karma protractor docker gitlab-ci codelyzer rollup webpack typescript

ionic-boilerplate's People

Contributors

askrht avatar ciekawy avatar dependabot[bot] avatar eidng8 avatar marcoturi avatar spicemix avatar tylerslater-io avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ionic-boilerplate's Issues

if I run npm run ios:dev nothing happen

I would like to launch the app on iPhone to test it while programming (i have a mac and an iphone, i would like to use both ios Simulator on mac and an iphone connected via usb to the mac)

TesBed - Error to run unit test

Hello @marcoturi !! I tried use this repo structure. The jasmine Simple test works fine, but, if I create another spec that use the TestBed angular2 class to load a component, I got the error below:

error-testbed-karma-roolup

Do you know what does mean "symbol" error ? I think that needs include zone.js library on karma.conf.js. What dou think?

See my snippet code, after change home.spec.ts file

import { HomePage } from './home';
import { TestBed } from '@angular/core/testing';

describe('Sales Service', () => {
    let fixture: any;
    let component: HomePage;

    beforeEach((done) => {

        TestBed.configureTestingModule({
            declarations: [HomePage],
        });

        fixture = TestBed.createComponent(HomePage);
        component = fixture.componentInstance;
        done();
    });

    it('should load component', (done) => {
        expect(fixture).toBeDefined();
        expect(component).toBeDefined();
        done();
    });
});

OBS: Needs perform npm install --save rxjs-es to store in package.json file. Your karma.conf.js require this :)

Injected built-in providers are not working

I used this project as a reference to add unit tests to my own project and ran into an issue where any methods called on injected dependencies from angular or ionic fail with the error "TypeError: undefined is not a constructor" (or "[methodname] is not a function" when running in Chrome). Even more strangely, I found that my own custom dependencies can be called successfully. Verified that dependencies are valid objects and appear to be of correct type.

As a sanity check, I tried cloning this project and simply added a call to navCtrl.canGoBack() in the Home page constructor. This fails with the same error. Running node v6.8.1.

Does tests get in the production build?

It seems that all tests will also be compiled during dev/prod build. Say, if I make a syntax error in the home.spec.ts, then run npm run dev or ionic build android, the error in the home.spec.ts will popup and breaks the build process.

Cannot run in production mode

Steps:

Execute these commands:

git clean -fxdn
npm install -g ionic cordova
npm install
npm run build

npm install -g http-server

Output:

http-server ./www/ -p 7080
Starting up http-server, serving ./www/
Available on:
  http://127.0.0.1:7080
  http://xxx.xxx.xxx.xxx:7080
Hit CTRL-C to stop the server

Now open localhost:7080 in Chrome and you will see this error in console:

cordova.js Failed to load resource: the server responded with a status of 404 (Not Found)
main.js:60 Uncaught TypeError: Cannot convert undefined or null to object
    at hasOwnProperty (<anonymous>)
    at Function.e.o (main.js:60)
    at Object.<anonymous> (main.js:12221)
    at e (main.js:20)
    at Object.<anonymous> (main.js:55064)
    at e (main.js:20)
    at Object.<anonymous> (main.js:55100)
    at e (main.js:20)
    at Object.<anonymous> (main.js:155787)
    at e (main.js:20)

Even if you add the browser platform, you'd still get the same error.

$ ionic info

global packages:

    @ionic/cli-utils : 1.4.0
    Cordova CLI      : 7.0.1 
    Ionic CLI        : 3.4.0

local packages:

    @ionic/app-scripts              : 1.3.7
    @ionic/cli-plugin-cordova       : 1.3.0
    @ionic/cli-plugin-ionic-angular : 1.3.0
    Cordova Platforms               : none
    Ionic Framework                 : ionic-angular 3.3.0

System:

    Node       : v6.9.2
    OS         : OS X El Capitan
    Xcode      : Xcode 8.2.1 Build version 8C1002 
    ios-deploy : 1.9.1 
    ios-sim    : 5.0.13 
    npm        : 3.10.9 

# git log:

3841b33 - (HEAD -> parent, update sh scripts according to the new ionic cli (2 weeks ago) <marco>
f498723 - build(npm): remove phantomjs ref. (2 weeks ago) <marco>

Angular Language Services

I started using this boilerplate, but I do not see that angular language service is working in my vscode for this project. It does work for a project that I created using angular-cli.

Coverage not working

Hi,

After a git clone / npm install I can't run the npm test command properly. Unit tests are working but code coverage is not.

Finished in 0.024 secs / 0.263 secs

SUMMARY:
✔ 4 tests completed
19 12 2016 11:55:10.716:ERROR [coverage]: TypeError: remap is not a function
    at RemapCoverageReporter.onCoverageComplete (/home/theo/Documents/ionic2-boilerplate/node_modules/karma-remap-coverage/remap-coverage.js:23:23)

Am I missing something ? Thanks.

wildcard in declarations.d.ts breaks wallaby

Just FYI, I was trying to integrate https://github.com/wallabyjs/ionic2-boilerplate with the new 0.9 release and it wouldn't work because of

// declarations.d.ts
declare module '*';

changing that to

// declarations.d.ts
declare module 'lodash-es/filter';

allowed it to still compile the example code and have wallaby work at the same time. I suggest making that change in master along with a note in the code suggesting the end-user update any extra declarations rather than shipping a wildcard by default.

Thanks for your amazing work on this!

npm run e2e E/protractor - Could not find Angular on page

rpm run e2e gives error on OSX.

 E/protractor - Could not find Angular on page http://127.0.0.1:57025/ : retries looking for angular exceeded
F
  App
    ✗ should have a title
      - Failed: Angular could not be found on the page http://127.0.0.1:57025/.If this is not an Angular application, you may need to turn off waiting for Angular.
                                Please see 
                                https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
      - Failed: Error while waiting for Protractor to sync with the page: "both angularJS testability and angular testability are undefined.  This could be either because this is a non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping.  See http://git.io/v4gXM for details"

Themes

Could you please explain how the 'theme' structure works?

There is a 'theme' folder with variable.scss. How does it actually work if I want to add my own SCSS? Do I need to reuse variable.scss?

npm run ios:dev broken

duplicate of #2, reopening because that fix didn't make it into master
#11 closes this

$ npm run ios:dev

...
Running 'run:before' npm script before run
...
npm ERR! node v6.9.1                                                                                                                                                              
npm ERR! npm  v3.10.9                                                                                                                                                             

npm ERR! missing script: build --dev

Unit tests broken

Hi,

I cloned and installed everything according to quick start instructions

# Required dependecies (on Mac Os also install ios-sim and ios-deploy)
npm i -g cordova ionic yarn
gem install scss_lint

# Clone the repo --depth 1 removes all but one .git commit history
git clone --depth 1 https://github.com/marcoturi/ionic2-boilerplate.git

# Change directory
cd ionic2-boilerplate

# Install project dependencies
yarn
npm run post-install

# Launch ionic serve
npm run dev

When i tried to run unit tests I got the below error

Alexs-MacBook-Pro:ionic2-boilerplate alexryltsov$ npm run test

> [email protected] test /Users/alexryltsov/Git/ionic2-boilerplate
> bnr test

running better-npm-run in /Users/alexryltsov/Git/ionic2-boilerplate
Executing script: test

to be executed: karma start
03 01 2017 17:39:34.900:ERROR [plugin]: Error during loading "/Users/alexryltsov/Git/ionic2-boilerplate/node_modules/karma-phantomjs-launcher" plugin:
  Path must be a string. Received null

START:

webpack: bundle is now VALID.
webpack: bundle is now INVALID.

Support Yarn

This might be a bit out of scope, but I noticed that installing dependencies with Yarn makes the build process fail with a very ambiguous error:

➜  test-app ~ yarn
yarn install v0.16.1
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning Incorrect peer dependency "[email protected]".
warning Incorrect peer dependency "[email protected]".
warning Incorrect peer dependency "[email protected]".
warning Incorrect peer dependency "[email protected]".
warning Unmet peer dependency "tslint@^3.9.0".
warning Unmet peer dependency "jasmine-core@*".
warning Unmet peer dependency "tslint@^3.0.0".
[4/4] 📃  Building fresh packages...
success Saved lockfile.
✨  Done in 14.63s.

➜  test-app ~ ionic serve

Running 'serve:before' npm script before serve

> test-app@ watch /Users/emcniece/Code/ionic/test-app
> ionic-app-scripts watch

[11:24:02]  ionic-app-scripts 0.0.41
[11:24:02]  watch started ...
[11:24:02]  build dev started ...
[11:24:02]  clean started ...
[11:24:02]  clean finished in 3 ms
[11:24:02]  copy started ...
[11:24:02]  transpile started ...
[11:24:02]  lint started ...
[11:24:04]  lint finished in 1.86 s
[11:24:06]  build dev failed: Cannot read property 'length' of undefined
Editing watch for ignoring spec and e2e files
[11:24:06]  copy finished in 3.90 s
[11:24:06]  watch ready in 3.92 s
The port 8100 was taken on the host localhost - using port 8101 instead
The port 35729 was taken on the host localhost - using port 35730 instead
Running live reload server: http://localhost:35730
Watching: www/**/*, !www/lib/**/*, !www/**/*.map
√ Running dev server:  http://localhost:8101
Ionic server commands, enter:
  restart or r to restart the client app from the root
  goto or g and a url to have the app navigate to the given url
  consolelogs or c to enable/disable console log output
  serverlogs or s to enable/disable server log output
  quit or q to shutdown the server and exit

ionic $

The error is in the middle:

[11:24:06]  build dev failed: Cannot read property 'length' of undefined

I experimented on a fresh clone of master and found that npm install works while yarn does not. There isn't much in the way of hints here, but it's good to note. Feel free to close if this is irrelevant.

No gulp?

Thanks for sharing this great boilerplate with us.
I'm missing gulp. I'm just wondering why you didn't include it? It seems something obviously useful.

scss-lint fails

What triggers the problem ?
Running scss-lint

What happens exactly ?

npm ERR! Darwin 13.4.0
npm ERR! argv "/usr/local/Cellar/node/7.7.4/bin/node" "/usr/local/bin/npm" "run" "scss-lint"
npm ERR! node v7.7.4
npm ERR! npm  v4.1.2
npm ERR! code ELIFECYCLE
npm ERR! [email protected] scss-lint: `scss-lint`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] scss-lint script 'scss-lint'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ionic2-boilerplate package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     scss-lint
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ionic2-boilerplate
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ionic2-boilerplate
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/Marc/Development/IonicApps/ucrowd_app/npm-debug.log

The log file in question :

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/7.7.4/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'run',
1 verbose cli   'scss-lint' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prescss-lint', 'scss-lint', 'postscss-lint' ]
5 info lifecycle [email protected]~prescss-lint: [email protected]
6 silly lifecycle [email protected]~prescss-lint: no script for prescss-lint, continuing
7 info lifecycle [email protected]~scss-lint: [email protected]
8 verbose lifecycle [email protected]~scss-lint: unsafe-perm in lifecycle true
9 verbose lifecycle [email protected]~scss-lint: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/Users/Marc/Development/IonicApps/ucrowd_app/node_modules/.bin:/usr/local/opt/scala/idea:/Users/Marc/Library/Android/sdk/platform-tools:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
10 verbose lifecycle [email protected]~scss-lint: CWD: /Users/Marc/Development/IonicApps/ucrowd_app
11 silly lifecycle [email protected]~scss-lint: Args: [ '-c', 'scss-lint' ]
12 silly lifecycle [email protected]~scss-lint: Returned: code: 1  signal: null
13 info lifecycle [email protected]~scss-lint: Failed to exec scss-lint script
14 verbose stack Error: [email protected] scss-lint: `scss-lint`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:279:16)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at EventEmitter.emit (events.js:194:7)
14 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at ChildProcess.emit (events.js:194:7)
14 verbose stack     at maybeClose (internal/child_process.js:899:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid [email protected]
16 verbose cwd /Users/Marc/Development/IonicApps/ucrowd_app
17 error Darwin 13.4.0
18 error argv "/usr/local/Cellar/node/7.7.4/bin/node" "/usr/local/bin/npm" "run" "scss-lint"
19 error node v7.7.4
20 error npm  v4.1.2
21 error code ELIFECYCLE
22 error [email protected] scss-lint: `scss-lint`
22 error Exit status 1
23 error Failed at the [email protected] scss-lint script 'scss-lint'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the ionic2-boilerplate package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     scss-lint
23 error You can get information on how to open an issue for this project with:
23 error     npm bugs ionic2-boilerplate
23 error Or if that isn't available, you can get their info via:
23 error     npm owner ls ionic2-boilerplate
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

Can you help me with that ? Can I do something else to explain the problem and context better ? Thanks in advance.

Testing an SQLite provider

This isn't so much a problem with your repo, as it is I don't know what I'm doing wrong.

I wrote a provider that uses the ionic-native SQLite (using cordova-sqlite-storage plugin), and wanted to test that it did what I wanted.

The error messages I'm getting are:

WARN: 'Native: tried accessing the SQLite plugin but it's not installed.'
WARN: 'Native: tried accessing the SQLite plugin but it's not installed.'
WARN: 'Install the SQLite plugin: 'ionic plugin add cordova-sqlite-storage''
WARN: 'Install the SQLite plugin: 'ionic plugin add cordova-sqlite-storage''
WARN: 'Native: tried calling SQLite.deleteDatabase, but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'
WARN: 'Native: tried calling SQLite.deleteDatabase, but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'
LOG: 'Unable to delete database: cordova_not_available'
LOG: 'Unable to delete database: cordova_not_available'

With the spec.ts being quite simple

describe('DatabaseProvider Provider', () => {
    beforeEach(() => {
        this.db = new DatabaseProvider();
        this.db.open().catch((error) => {
            console.log('Unable to delete database: ' + error.toString());
        });
    });
    afterEach(() => {
       this.db.destroy().catch((error) => {
           console.log('Unable to delete database: ' + error.toString());
       });
    });
    it('should be truthy', () => {
        expect(this.db).toBeDefined();
    });
});

The database provider is fairly simple:

import { Injectable } from '@angular/core';
import { SQLite } from 'ionic-native';

@Injectable()
export class DatabaseProvider {
  private db: SQLite;
  constructor() {
    this.db = new SQLite();
  }
  open() {
    return this.db.openDatabase({ name: 'data.db', location: 'default' });
  }
  destroy() {
    return SQLite.deleteDatabase({ name: 'data.db', location: 'default' });
  }
}

I have no idea where to add whatever is necessary to get this test to function correctly, so any help here would be appreciated -- google itself has been less than helpful in this regard.

npm run android:dev failed

when i run: npm run android:dev

it shows the following output on console:

[email protected] android:dev /home/desarrollo13/proyectosionic/ejemplos/boiler2/ionic2-boilerplate
bnr android:dev

running better-npm-run in /home/desarrollo13/proyectosionic/ejemplos/boiler2/ionic2-boilerplate
Executing script: android:dev

to be executed: ionic cordova run android --livereload

cordova platform add --save android
✖ Running command - failed!
[ERROR] An error occurred while running cordova platform add --save android (exit code 1):

    Running command: /home/desarrollo13/proyectosionic/ejemplos/boiler2/ionic2-boilerplate/hooks/before_platform_add/010_init_directories.js /home/desarrollo13/proyectosionic/ejemplos/boiler2/ionic2-boilerplate
    Using cordova-fetch for cordova-android@~6.2.2
    Error: Failed to fetch platform cordova-android@~6.2.2
    Probably this is either a connection problem, or platform spec is incorrect.
    Check your connection and platform name/version/URL.
    Failed to get absolute path to installed module

add a pre-build step

Hi @marcoturi ,

First of all thanks for this project. It helped me out quite a bit to get started!
I had a feature request, and not sure how to implement it (I am new to npm and such)...

Basically I would like to add a pre-process step to modify files based on the branch it is build on.

Let me explain: I have a configuration file for my app (app.config.ts), and I would to have different settings based on the branch (dev/stages/prod) it is on. I am not crazy about making different versions of this file on each branch, so I prefer to have a pre-build step to take care of that.

If you are interested and give me some guidelines I could make the change and make a PR.

Incorrect Coverage

The current coverage being generated does not reflect the source. At the moment, since the test files are so simple, it's hard to notice. However, when a more complex class and test spec is introduced, we get errors when the coverage points to lines that don't match up to the source file.

screen shot 2016-10-13 at 2 35 51 pm

I believe the problem is that rollup-plugin-stanbul is instrumenting the wrong file. I've tried with no luck to try and get either the karma-remap-istanbul or the karma-remap-coverage working to compensate.

Cannot find module app.module.ngfactory

I get the following Error in TSLint by the IDE:

Error:(4, 36) TS2307: Cannot find module './app.module.ngfactory'.

It's not something that is disturbing me but it still exists. Is there a way to prevent this?

Source map/debugging not working in unit tests

I made a change to use Chrome instead of PhantomJS (due to #22) and change to keep the browser open to debug unit tests.
The changes in karma.config

        browsers: [
            'Chrome'
        ],
        singleRun: false

When I run unit test, open dev tools in Chrome it shows transpiled js files instead of ts file - see attached

screen shot 2017-01-04 at 03 01 45

Can't run on Android with npm run android:dev

Hello!

I getting the following error while running the npm run android:dev script with the default repository version:

> cordova run android
Running command: /media/romulo/16267BFB267BD9E7/Workspace/ionicboilerplate2/ionic-boilerplate/hooks/after_prepare/020_remove_sass_from_platforms.js /media/romulo/16267BFB267BD9E7/Workspace/ionicboilerplate2/ionic-boilerplate

ANDROID_HOME=/usr/lib/android-sdk
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
:wrapper


BUILD SUCCESSFUL
 in 5s
1 actionable task: 1 executed

Subproject Path: CordovaLib
[21:49:41]  lint finished in 9.95 s 
null

The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.

	at build_ao2c3spu577l8timdplm70egs.run(/media/romulo/16267BFB267BD9E7/Workspace/ionicboilerplate2/ionic-boilerplate/platforms/android/build.gradle:142)

org.xwalk:xwalk_core_library:22+

Configuration 'compile' in project ':' is deprecated. Use 'implementation' instead.


FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 4s
Error: /media/romulo/16267BFB267BD9E7/Workspace/ionicboilerplate2/ionic-boilerplate/platforms/android/gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 4s

[ERROR] An error occurred while running cordova run android (exit code 1).

I ran a fresh generated Ionic project and didn't get an error with Gradle or Android Studio, so this could be related to this project.

Does anyone know what could this be?

Thanks in advance!

Missing script build --dev

When I run "npm run android:dev" the following output comes up:

> [email protected] android:dev E:\Emil\Documents\FHNW\Semester 5\IP5\TEST\2LinkDossierApp
> bnr android:dev

running better-npm-run in E:\Emil\Documents\FHNW\Semester 5\IP5\TEST\2LinkDossierApp
Executing script: android:dev

to be executed: "ionic run android --livereload"

Running 'run:before' npm script before run
npm
 ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build --dev"

npm ERR! node v6.7.0
npm ERR! npm  v3.10.3



npm
ERR! missing script: build --dev
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>



npm ERR! Please include the following file with any support request:
npm ERR!     E:\Emil\Documents\FHNW\Semester 5\IP5\TEST\2LinkDossierApp\npm-debug.log

Caught exception:
 undefined

Mind letting us know? https://github.com/driftyco/ionic-cli/issues

import third party libraries (pouchDB plugins) in unit test throw an error

Hi,

I'm use pouchDB (has typings) with pouchdb-quick-search plugin (has no typings).

In declarations.d.ts I add:

declare module 'pouchdb-quick-search'

also tried

declare module 'pouchdb-quick-search' {
    const plugin: PouchDB.Plugin;
    export = plugin;
}

Then in service:

import * as PouchDB from 'pouchdb';
import * as quickSearch from 'pouchdb-quick-search';
PouchDB.plugin(quickSearch); // this line throw error. If I comment it - all works, but I need this plugin

Both variant works well in developer (server) and production (apk) mode, but unit test won't start and throw error
error image
When I run dev server, pouchdb-quick-search plugin look like
plugin object in console image

Other third party libraries with and without typings works fine. Not work only pouchDB plugins (pouchdb-quick-search, pouchdb-find, etc).

And what is interesting, I can't even console.log(quickSearch) in test. All references to quickSearch throw an error. Also maybe help: I can't even test component, that use mocked pouchDB service with pouchdb-quick-search, it also throw same error.

{provide: PouchDbService, useClass: PouchDbServiceMock},

I would be glad of any help

When running karma test, at-loader broke

Error log:

npm run test

> [email protected] test /ionic2-boilerplate
> bnr test

running better-npm-run in /ionic2-boilerplate
Executing script: test

to be executed: karma start 

START:

[at-loader] Using [email protected] from typescript and "tsconfig.json" from /ionic2-boilerplate/tsconfig.json.


[at-loader] Checking started in a separate process...

[at-loader] Checking finished with 142 errors
Hash: a5da2f700701b5488216
Version: webpack 2.2.1
Time: 27108ms
               Asset     Size  Chunks                    Chunk Names
config/karma-shim.js  12.3 MB       0  [emitted]  [big]  config/karma-shim.js

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:21 
    TS1005: ']' expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:22 
    TS1005: ';' expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:23 
    TS1128: Declaration or statement expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:33 
    TS1005: ']' expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:34 
    TS1005: ')' expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:35 
    TS1128: Declaration or statement expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:37 
    TS1128: Declaration or statement expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19448:1 
    TS1128: Declaration or statement expected.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:244:13 
    TS2300: Duplicate identifier '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:244:16 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:246:25 
    TS2304: Cannot find name 'Partial'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:248:19 
    TS2300: Duplicate identifier '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:366:39 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:2083:24 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5585:44 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5592:44 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5599:44 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5606:44 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5639:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5648:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5655:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5662:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5671:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5678:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5685:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5694:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5701:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5708:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5717:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5724:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:5731:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:9 
    TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:9 
    TS7008: Member '[P in keyof' implicitly has an 'any' type.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:10 
    TS2304: Cannot find name 'P'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:15 
    TS2304: Cannot find name 'keyof'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:21 
    TS2304: Cannot find name 'T'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:26 
    TS2371: A parameter initializer is only allowed in a function or constructor implementation.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:31 
    TS2304: Cannot find name 'T'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11451:40 
    TS2304: Cannot find name 'boolean'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11460:29 
    TS2304: Cannot find name 'ConformsPredicateObject'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:11471:42 
    TS2304: Cannot find name 'ConformsPredicateObject'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15401:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15410:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15443:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15452:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15487:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15496:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15529:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15538:12 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15571:22 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15578:22 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15611:24 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15618:24 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15634:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15643:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15653:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15663:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15673:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15683:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15693:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15703:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15738:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15746:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15753:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15785:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15793:21 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15800:21 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15863:21 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15863:37 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:15879:21 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16540:33 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16550:33 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16560:33 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16629:33 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16638:33 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16647:33 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16707:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16716:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16726:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16736:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16746:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16756:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16766:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16776:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16795:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16804:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16813:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16823:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16831:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16841:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16849:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16871:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16881:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16891:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16902:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16911:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16922:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:16931:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17088:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17096:21 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17103:21 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17119:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17128:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17137:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17146:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17156:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17164:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17174:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17182:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:17933:39 
    TS2304: Cannot find name 'TemplateSettings'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18553:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18561:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18683:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18691:19 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18700:47 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18709:47 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18825:31 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18862:43 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18869:43 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18876:43 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18883:43 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18890:43 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18902:40 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18909:40 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18916:40 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18923:40 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18930:40 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18942:39 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18949:39 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18956:39 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18963:39 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18970:39 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:18981:39 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19021:53 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19028:58 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19035:58 
    TS2304: Cannot find name 'Many'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19195:22 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19219:22 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19242:23 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19265:23 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./node_modules/@types/lodash/index.d.ts:19288:21 
    TS2503: Cannot find namespace '_'.

ERROR in [at-loader] ./src/pages/home/home.page.ts:25:36 
    TS7006: Parameter 'o' implicitly has an 'any' type.
  Contact Page
    ✔ should have a url
  Home Page:
    .constructor()
      ✔ Should be defined
    ✔ Barney should be the user
    ✔ Fred should not be the user

Finished in 0.047 secs / 0.199 secs @ 15:14:01 GMT-0300 (BRT)

SUMMARY:
✔ 4 tests completed

=============================== Coverage summary ===============================
Statements   : 100% ( 20/20 )
Branches     : 100% ( 0/0 )
Functions    : 100% ( 5/5 )
Lines        : 100% ( 15/15 )
================================================================================

yarn failed on gitlab

gitlab builder complains:

Running with gitlab-ci-multi-runner 1.9.4 (8ce22bd)
Using Docker executor with image marcoturi/ionic:latest ...
Pulling docker image marcoturi/ionic:latest ...
Running on runner-fa6cab46-project-2343902-concurrent-0 via runner-fa6cab46-machine-1485153937-388cca59-gce...
Cloning repository...
Cloning into '/builds/eidng8/ionic2-boilerplate'...
Checking out bf870f19 as master...
Checking cache for build_web/master...
Successfully extracted cache
$ yarn config set cache-folder yarn-cache
yarn config v0.19.1
success Set "cache-folder" to "yarn-cache".
Done in 0.05s.
$ yarn
yarn install v0.19.1
[1/5] Resolving packages...
[2/5] Fetching packages...
error "lodash-es-4.17.4.tgz": Tarball is not in network and can not be located in cache ("/builds/eidng8/ionic2-boilerplate/lodash-es-4.17.4.tgz")
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
ERROR: Build failed: exit code 1

with the yml

anything needs to be touched on my side?

protractor-jasmine2-screenshot-reporter report doesn't generate full HTML page

Some screenshots of this tool appear to have some styling and javascript wrapped around them, but the HTML generated in this project starts with a <ul> element. The links in this HTML also have JS actions attached to them, and of course the showHide method is not present. Is this normal?

HTML dump:

<ul style="list-style-type:none"><h4>App (10 s)</h4><li id="cfe4fde0-a6d3-11e6-9291-edde846c2303" class="failed" data-spec="spec0" data-name="should have a title" data-browser="chrome"><span class="failed">&#10007;</span><a href="app-should-have-a-title.png">should have a title</a>(10 s)<ul><li>Failed: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded [<a href="javascript:showhide('spec0-MacOSX-chrome-54.0.2840.710')">stack</a>]<br/><span style="display: none" id="spec0-MacOSX-chrome-54.0.2840.710" class="stacktrace">Error: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/browser.js:516:23
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: Run beforeEach in control flow
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at QueueRunner.execute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1923:10)
    at Spec.queueRunnerFactory (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:714:35)
    at Spec.execute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:371:10)
    at Object.fn (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:2579:37)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at QueueRunner.execute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1923:10)
From asynchronous test: 
Error
    at Suite.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:10:5)
    at addSpecsToSuite (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:867:25)
    at Env.describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:836:7)
    at describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3576:18)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
    at Module._compile (module.js:556:32)
    at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)</span></li><li>Failed: Error while waiting for Protractor to sync with the page: &quot;window.getAllAngularTestabilities is not a function&quot; [<a href="javascript:showhide('spec0-MacOSX-chrome-54.0.2840.711')">stack</a>]<br/><span style="display: none" id="spec0-MacOSX-chrome-54.0.2840.711" class="stacktrace">Error: Error while waiting for Protractor to sync with the page: &quot;window.getAllAngularTestabilities is not a function&quot;
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/browser.js:270:23
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)Error
    at ElementArrayFinder.applyAction_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:403:27)
    at ElementArrayFinder._this.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:101:30)
    at ElementFinder.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:740:22)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:15:29)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:94:23
    at new ManagedPromise (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1082:7)
    at controlFlowExecute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:80:18)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2820:25)
From: Task: Run it(&quot;should have a title&quot;) in control flow
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1962:16
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1905:9
    at Function.next.fail (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1968:9)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:103:16
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
From asynchronous test: 
Error
    at Suite.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:14:5)
    at addSpecsToSuite (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:867:25)
    at Env.describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:836:7)
    at describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3576:18)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
    at Module._compile (module.js:556:32)
    at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)</span></li></ul></li></ul><a href="javascript:showhide('cfe524f0-a6d3-11e6-9291-edde846c2303')">Toggle Configuration</a><div class="config" id="cfe524f0-a6d3-11e6-9291-edde846c2303" style="display: none"><h4>Configuration</h4><li>Jasmine version:  2.5.2</li><li>Browser name:  chrome</li><li>Browser version:  54.0.2840.71</li><li>Platform:  Mac OS X</li><li>Javascript enabled:  true</li><li>Css selectors enabled:  true</li></div></body></html><ul style="list-style-type:none"><h4>App (10 s)</h4><li id="d9aa8f10-a6d4-11e6-b9a7-97f7d10aa8de" class="failed" data-spec="spec0" data-name="should have a title" data-browser="chrome"><span class="failed">&#10007;</span><a href="app-should-have-a-title.png">should have a title</a>(10 s)<ul><li>Failed: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded [<a href="javascript:showhide('spec0-MacOSX-chrome-54.0.2840.710')">stack</a>]<br/><span style="display: none" id="spec0-MacOSX-chrome-54.0.2840.710" class="stacktrace">Error: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/browser.js:516:23
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: Run beforeEach in control flow
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at QueueRunner.execute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1923:10)
    at Spec.queueRunnerFactory (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:714:35)
    at Spec.execute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:371:10)
    at Object.fn (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:2579:37)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at QueueRunner.execute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1923:10)
From asynchronous test: 
Error
    at Suite.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:10:5)
    at addSpecsToSuite (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:867:25)
    at Env.describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:836:7)
    at describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3576:18)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
    at Module._compile (module.js:556:32)
    at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)</span></li><li>Failed: Error while waiting for Protractor to sync with the page: &quot;window.getAllAngularTestabilities is not a function&quot; [<a href="javascript:showhide('spec0-MacOSX-chrome-54.0.2840.711')">stack</a>]<br/><span style="display: none" id="spec0-MacOSX-chrome-54.0.2840.711" class="stacktrace">Error: Error while waiting for Protractor to sync with the page: &quot;window.getAllAngularTestabilities is not a function&quot;
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/browser.js:270:23
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)Error
    at ElementArrayFinder.applyAction_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:403:27)
    at ElementArrayFinder._this.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:101:30)
    at ElementFinder.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:740:22)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:15:29)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:94:23
    at new ManagedPromise (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1082:7)
    at controlFlowExecute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:80:18)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2820:25)
From: Task: Run it(&quot;should have a title&quot;) in control flow
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1962:16
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1905:9
    at Function.next.fail (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1968:9)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:103:16
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
From asynchronous test: 
Error
    at Suite.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:14:5)
    at addSpecsToSuite (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:867:25)
    at Env.describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:836:7)
    at describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3576:18)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
    at Module._compile (module.js:556:32)
    at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)</span></li></ul></li></ul><a href="javascript:showhide('d9aab620-a6d4-11e6-b9a7-97f7d10aa8de')">Toggle Configuration</a><div class="config" id="d9aab620-a6d4-11e6-b9a7-97f7d10aa8de" style="display: none"><h4>Configuration</h4><li>Jasmine version:  2.5.2</li><li>Browser name:  chrome</li><li>Browser version:  54.0.2840.71</li><li>Platform:  Mac OS X</li><li>Javascript enabled:  true</li><li>Css selectors enabled:  true</li></div></body></html><ul style="list-style-type:none"><h4>App (0.892 s)</h4><li id="6f021b40-a6d6-11e6-871f-2383824ca847" class="passed" data-spec="spec0" data-name="should have a title" data-browser="chrome"><span class="passed">&#10003;</span><a href="app-should-have-a-title.png">should have a title</a>(0.891 s)</li></ul><a href="javascript:showhide('6f021b41-a6d6-11e6-871f-2383824ca847')">Toggle Configuration</a><div class="config" id="6f021b41-a6d6-11e6-871f-2383824ca847" style="display: none"><h4>Configuration</h4><li>Jasmine version:  2.5.2</li><li>Browser name:  chrome</li><li>Browser version:  54.0.2840.71</li><li>Platform:  Mac OS X</li><li>Javascript enabled:  true</li><li>Css selectors enabled:  true</li></div></body></html><ul style="list-style-type:none"><h4>App (0.856 s)</h4><li id="9e4853b0-a6f4-11e6-93df-6998bb49d78e" class="failed" data-spec="spec0" data-name="should have a title" data-browser="chrome"><span class="failed">&#10007;</span><a href="app-should-have-a-title.png">should have a title</a>(0.855 s)<ul><li>Failed: No element found using locator: By(css selector, *[id=&quot;title&quot;]) [<a href="javascript:showhide('spec0-MacOSX-chrome-54.0.2840.710')">stack</a>]<br/><span style="display: none" id="spec0-MacOSX-chrome-54.0.2840.710" class="stacktrace">NoSuchElementError: No element found using locator: By(css selector, *[id=&quot;title&quot;])
    at WebDriverError (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/error.js:27:5)
    at NoSuchElementError (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/error.js:242:5)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:717:27
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)Error
    at ElementArrayFinder.applyAction_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:403:27)
    at ElementArrayFinder._this.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:101:30)
    at ElementFinder.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:740:22)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:15:29)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:94:23
    at new ManagedPromise (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1082:7)
    at controlFlowExecute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:80:18)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2820:25)
From: Task: Run it(&quot;should have a title&quot;) in control flow
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1962:16
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1905:9
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:16:5
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
From asynchronous test: 
Error
    at Suite.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:14:5)
    at addSpecsToSuite (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:867:25)
    at Env.describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:836:7)
    at describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3576:18)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
    at Module._compile (module.js:556:32)
    at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)</span></li></ul></li></ul><a href="javascript:showhide('9e487ac0-a6f4-11e6-93df-6998bb49d78e')">Toggle Configuration</a><div class="config" id="9e487ac0-a6f4-11e6-93df-6998bb49d78e" style="display: none"><h4>Configuration</h4><li>Jasmine version:  2.5.2</li><li>Browser name:  chrome</li><li>Browser version:  54.0.2840.71</li><li>Platform:  Mac OS X</li><li>Javascript enabled:  true</li><li>Css selectors enabled:  true</li></div></body></html><ul style="list-style-type:none"><h4>App (0.846 s)</h4><li id="b05a0760-a6f4-11e6-8d36-f5c9a2ed5ac3" class="failed" data-spec="spec0" data-name="should have a title" data-browser="chrome"><span class="failed">&#10007;</span><a href="app-should-have-a-title.png">should have a title</a>(0.845 s)<ul><li>Failed: No element found using locator: By(css selector, *[id=&quot;title&quot;]) [<a href="javascript:showhide('spec0-MacOSX-chrome-54.0.2840.710')">stack</a>]<br/><span style="display: none" id="spec0-MacOSX-chrome-54.0.2840.710" class="stacktrace">NoSuchElementError: No element found using locator: By(css selector, *[id=&quot;title&quot;])
    at WebDriverError (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/error.js:27:5)
    at NoSuchElementError (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/error.js:242:5)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:717:27
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)Error
    at ElementArrayFinder.applyAction_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:403:27)
    at ElementArrayFinder._this.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:101:30)
    at ElementFinder.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:740:22)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:15:29)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:94:23
    at new ManagedPromise (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1082:7)
    at controlFlowExecute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:80:18)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2820:25)
From: Task: Run it(&quot;should have a title&quot;) in control flow
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1962:16
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1905:9
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:16:5
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
From asynchronous test: 
Error
    at Suite.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:14:5)
    at addSpecsToSuite (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:867:25)
    at Env.describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:836:7)
    at describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3576:18)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
    at Module._compile (module.js:556:32)
    at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)</span></li></ul></li></ul><a href="javascript:showhide('b05a5580-a6f4-11e6-8d36-f5c9a2ed5ac3')">Toggle Configuration</a><div class="config" id="b05a5580-a6f4-11e6-8d36-f5c9a2ed5ac3" style="display: none"><h4>Configuration</h4><li>Jasmine version:  2.5.2</li><li>Browser name:  chrome</li><li>Browser version:  54.0.2840.71</li><li>Platform:  Mac OS X</li><li>Javascript enabled:  true</li><li>Css selectors enabled:  true</li></div></body></html><ul style="list-style-type:none"><h4>App (0.844 s)</h4><li id="cb148710-a6f4-11e6-93f3-373cacc48f30" class="failed" data-spec="spec0" data-name="should have a title" data-browser="chrome"><span class="failed">&#10007;</span><a href="app-should-have-a-title.png">should have a title</a>(0.843 s)<ul><li>Failed: No element found using locator: By(css selector, *[id=&quot;title&quot;]) [<a href="javascript:showhide('spec0-MacOSX-chrome-54.0.2840.710')">stack</a>]<br/><span style="display: none" id="spec0-MacOSX-chrome-54.0.2840.710" class="stacktrace">NoSuchElementError: No element found using locator: By(css selector, *[id=&quot;title&quot;])
    at WebDriverError (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/error.js:27:5)
    at NoSuchElementError (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/error.js:242:5)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:717:27
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)Error
    at ElementArrayFinder.applyAction_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:403:27)
    at ElementArrayFinder._this.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:101:30)
    at ElementFinder.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:740:22)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:15:29)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:94:23
    at new ManagedPromise (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1082:7)
    at controlFlowExecute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:80:18)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2820:25)
From: Task: Run it(&quot;should have a title&quot;) in control flow
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    at attemptAsync (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1980:24)
    at QueueRunner.run (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1935:9)
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1962:16
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1905:9
    at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:16:5
    at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
From asynchronous test: 
Error
    at Suite.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:14:5)
    at addSpecsToSuite (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:867:25)
    at Env.describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:836:7)
    at describe (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3576:18)
    at Object.&lt;anonymous&gt; (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
    at Module._compile (module.js:556:32)
    at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
    at Module._extensions..js (module.js:565:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)</span></li></ul></li></ul><a href="javascript:showhide('cb14ae20-a6f4-11e6-93f3-373cacc48f30')">Toggle Configuration</a><div class="config" id="cb14ae20-a6f4-11e6-93f3-373cacc48f30" style="display: none"><h4>Configuration</h4><li>Jasmine version:  2.5.2</li><li>Browser name:  chrome</li><li>Browser version:  54.0.2840.71</li><li>Platform:  Mac OS X</li><li>Javascript enabled:  true</li><li>Css selectors enabled:  true</li></div></body></html><ul style="list-style-type:none"><h4>App (2 s)</h4><li id="ded6f800-a6f4-11e6-890f-55986ae566d1" class="passed" data-spec="spec0" data-name="should have a title" data-browser="chrome"><span class="passed">&#10003;</span><a href="app-should-have-a-title.png">should have a title</a>(2 s)</li></ul><a href="javascript:showhide('ded71f10-a6f4-11e6-890f-55986ae566d1')">Toggle Configuration</a><div class="config" id="ded71f10-a6f4-11e6-890f-55986ae566d1" style="display: none"><h4>Configuration</h4><li>Jasmine version:  2.5.2</li><li>Browser name:  chrome</li><li>Browser version:  54.0.2840.71</li><li>Platform:  Mac OS X</li><li>Javascript enabled:  true</li><li>Css selectors enabled:  true</li></div></body></html>

Issue on npm run ios:dev

I run into an issue on the stock version of your project:

at the end of the compile I get:

$>npm run ios:dev
...
Signing Identity:     "-"

    /usr/bin/codesign --force --sign - --timestamp=none /Users/millerf/Documents/www/Mozaik/ionic-boilerplate/platforms/ios/build/emulator/ionic2-boilerplate.app

** BUILD SUCCEEDED **

Error: Cannot read property 'replace' of undefined

[ERROR] An error occurred while running cordova run ios (exit code 1).

Running on Mac Sierra
npm: v4.1.2
node: v7.7.2

Any idea?

Themed application

Hi,

I have another question:
I would like to add that I am a total newbie in webpack so I barely have any idea on how it works...

I am trying to integrate multiple template in my application, so I would need to have some kind of template loader to inject into the Component() decorator.

I have found this project:
https://www.npmjs.com/package/gulp-ng2-template-wrap

But your boilerplate doesn't work with gulp, so I am not sure how to integrate it or if there is some classy way to have that woking with webpack.

Thanks for your boilerplate btw, it helped a lot!!!

Unmet peer dependencies

Is it normal I'm getting all of these?

$ npm install
...
├── UNMET PEER DEPENDENCY @angular/common@^2.0.0
├── UNMET PEER DEPENDENCY @angular/compiler@~2.1.0
├── UNMET PEER DEPENDENCY @angular/compiler-cli@^0.6.2
├── UNMET PEER DEPENDENCY @angular/forms@^2.0.0
├── UNMET PEER DEPENDENCY @angular/http@^2.0.0
├── UNMET PEER DEPENDENCY @angular/platform-browser@^2.0.0
├── UNMET PEER DEPENDENCY @angular/platform-browser-dynamic@^2.0.0
├── UNMET PEER DEPENDENCY @angular/platform-server@^2.0.0
...
└── UNMET PEER DEPENDENCY zone.js@^0.6.21

In fact when I ran ionic serve I get:

[23:53:36]  bundle dev failed:  Could not resolve '@angular/platform-browser-dynamic' from /Users/gianfranco/temp/ionic2-boilerplate/src/app/main.dev.ts

[23:53:36]  Error: Could not resolve '@angular/platform-browser-dynamic' from /Users/gianfranco/temp/ionic2-boilerplate/src/app/main.dev.ts

After installing all those packages the app now loads on the browser

Wildcard for test files

This repo is great but I tried without success to change the shim in such a way that I could specify wildcards for the spec files.

Being able to do something like this in the karma.conf file would be nice. Right now it seems like I need to manually import each test file into the shim.

files: [
'src/**/*.spec.ts'
]

Protractor fails: window.getAllAngularTestabilities is not a function

Fresh clone of master branch, Protractor fails with ChromeDriver on macOS 10.12.1:

➜  ionic2-boilerplate git:(master) ✗ npm run e2e

> [email protected] pree2e /Users/emcniece/Code/ionic/ionic2-boilerplate
> cd www && python -m SimpleHTTPServer 8090 >> ../python_serve.log 2>&1 &


> [email protected] e2e /Users/emcniece/Code/ionic/ionic2-boilerplate
> protractor

[15:25:22] I/direct - Using ChromeDriver directly...
[15:25:22] I/launcher - Running 1 instances of WebDriver
Started
Spec started
F
  App
    ✗ should have a title
      - Failed: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded
      - Failed: Error while waiting for Protractor to sync with the page: "window.getAllAngularTestabilities is not a function"



Failures:
1) App should have a title
  Message:
    Failed: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded
  Stack:
    Error: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded
        at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/browser.js:516:23
        at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
        at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
        at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
        at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
        at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
        at process._tickCallback (internal/process/next_tick.js:103:7)
    From: Task: Run beforeEach in control flow
        at Object.<anonymous> (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
    From asynchronous test:
    Error
        at Suite.<anonymous> (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:10:5)
        at Object.<anonymous> (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
        at Module._compile (module.js:556:32)
        at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
        at Module._extensions..js (module.js:565:10)
        at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "window.getAllAngularTestabilities is not a function"
  Stack:
    Error: Error while waiting for Protractor to sync with the page: "window.getAllAngularTestabilities is not a function"
        at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/browser.js:270:23
        at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
        at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
        at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
        at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2775:27)
        at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:639:7
        at process._tickCallback (internal/process/next_tick.js:103:7)Error
        at ElementArrayFinder.applyAction_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:403:27)
        at ElementArrayFinder._this.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:101:30)
        at ElementFinder.(anonymous function) [as isDisplayed] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/protractor/built/element.js:740:22)
        at Object.<anonymous> (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:15:29)
        at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:94:23
        at new ManagedPromise (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1082:7)
        at controlFlowExecute (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:80:18)
        at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
        at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
        at asyncRun (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2820:25)
    From: Task: Run it("should have a title") in control flow
        at Object.<anonymous> (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:79:14)
        at /Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/jasminewd2/index.js:103:16
        at ManagedPromise.invokeCallback_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:1379:14)
        at TaskQueue.execute_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2913:14)
        at TaskQueue.executeNext_ (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    From asynchronous test:
    Error
        at Suite.<anonymous> (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:14:5)
        at Object.<anonymous> (/Users/emcniece/Code/ionic/ionic2-boilerplate/src/pages/home/home.e2e.ts:9:1)
        at Module._compile (module.js:556:32)
        at Module.m._compile (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:406:23)
        at Module._extensions..js (module.js:565:10)
        at Object.require.extensions.(anonymous function) [as .ts] (/Users/emcniece/Code/ionic/ionic2-boilerplate/node_modules/ts-node/src/index.ts:409:12)

1 spec, 1 failure
Finished in 10.671 seconds

**************************************************
*                    Failures                    *
**************************************************

1) App should have a title
  - Failed: Angular could not be found on the page http://localhost:8090/ : retries looking for angular exceeded
  - Failed: Error while waiting for Protractor to sync with the page: "window.getAllAngularTestabilities is not a function"

Executed 1 of 1 spec (1 FAILED) in 11 secs.
[15:25:33] I/launcher - 0 instance(s) of WebDriver still running
[15:25:33] I/launcher - chrome #01 failed 1 test(s)
[15:25:33] I/launcher - overall: 1 failed spec(s)
Closing report
[15:25:33] E/launcher - Process exited with error code 1

npm ERR! Darwin 16.1.0
npm ERR! argv "/Users/emcniece/.nvm/versions/node/v6.7.0/bin/node" "/Users/emcniece/.nvm/versions/node/v6.7.0/bin/npm" "run" "e2e"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] e2e: `protractor`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] e2e script 'protractor'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ionic2-boilerplate package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     protractor
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ionic2-boilerplate
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ionic2-boilerplate
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/emcniece/Code/ionic/ionic2-boilerplate/npm-debug.log

Investigation reveals that this may be related to Angular itself: angular/protractor#3178

Unit test: 404 on template urls

Hi,

I integrated the unit test with my project but I keep getting 404 on all component templateUrls. This then fails to compile the component making all test fail.

Any idea why?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.