SystemJS / Aurelia app breaks down to PhantomJS

I'm trying to get some tests done in Phantom, but Aurelia / SystemJS seems to crash on Phantom.

I tested it with my own app and Aurelia contacts example, they are slightly different. I'll list the results here, which I've captured:

contact app:

CONSOLE: INFO [aurelia] Aurelia Starting (from line #undefined in "undefined")
CONSOLE: DEBUG [aurelia] Loading plugin github:aurelia/templating-binding@0.11.0. (from line #undefined in "undefined")
TypeError: Attempting to define property on object that is not extensible.

  http://localhost:9001/:48 in defineProperty
  http://localhost:9001/:36
  http://localhost:9001/:29 in fastKey
  http://localhost:9001/:115
  http://localhost:9001/:10 in set
  http://localhost:9001/:51 in set
  http://localhost:9001/:14 in ensureOriginOnExports
  http://localhost:9001/:131
  http://localhost:9001/jspm_packages/es6-module-loader.js:7 in O
  http://localhost:9001/jspm_packages/es6-module-loader.js:7 in K
  http://localhost:9001/jspm_packages/es6-module-loader.js:7
  http://localhost:9001/jspm_packages/es6-module-loader.js:7
  http://localhost:9001/jspm_packages/es6-module-loader.js:7
  http://localhost:9001/jspm_packages/es6-module-loader.js:7

      

my application:

CONSOLE: Potentially unhandled rejection [2] ReferenceError: Can't find variable: Map
    at http://127.0.0.1:8380/web-admin/:22
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
    at http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1
    at o (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
    at p (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
    at j (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
    at k (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
    at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
    at O (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
    at K (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
    at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
    at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
    at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
    at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7 (from line #undefined in "undefined")

      

FWIW both work fine in Chrome / FF and I am running PhantomJS 1.9.8 on OS X 10.10

Also here's the Phantom script I'm using to test these and output from the console:

var webPage = require('webpage');
var page = webPage.create();

page.open('http://localhost:9001/', function() {
  page.onConsoleMessage = function(msg, lineNum, sourceId) {
    console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
  };
});

      

to launch the contacts application (first example) do the following:

git clone git@github.com:aurelia/app-contacts.git
cd app-contacts
npm install && jspm install
gulp watch

      

It is assumed that you have installed node

, jspm

and gulp

. Then you can run the above phantomjs script.

Any ideas?

+3


source to share


1 answer


Map

is a fairly new structure. Use npm install harmony-collections --save-dev

and add "node_modules/harmony-collections/harmony-collections.min.js",

to karma configuration.



+2


source







All Articles