Currently, core depends on DomRenderer, which depends on the browser. This means that if you depend on angular2/core, you will always pull in the browser dom adapter and the browser render, regardless if you need them or not. This PR moves the browser dom adapter and the browser renderer out of core. BREAKING CHANGE If you import browser adapter or dom renderer directly (not via angular2/core), you will have to change the import path.
51 lines
1.5 KiB
JavaScript
51 lines
1.5 KiB
JavaScript
// Tun on full stack traces in errors to help debugging
|
|
Error.stackTraceLimit=Infinity;
|
|
|
|
jasmine.DEFAULT_TIMEOUT_INTERVAL = 100;
|
|
|
|
// Cancel Karma's synchronous start,
|
|
// we will call `__karma__.start()` later, once all the specs are loaded.
|
|
__karma__.loaded = function() {};
|
|
|
|
System.config({
|
|
baseURL: '/base/',
|
|
defaultJSExtensions: true,
|
|
paths: {
|
|
'benchpress/*': 'dist/js/dev/es5/benchpress/*.js',
|
|
'angular2/*': 'dist/js/dev/es5/angular2/*.js',
|
|
'angular2_material/*': 'dist/js/dev/es5/angular2_material/*.js',
|
|
'@reactivex/rxjs/*': 'node_modules/@reactivex/rxjs/*.js'
|
|
}
|
|
});
|
|
|
|
window.angularDevMode = true;
|
|
|
|
// Import all the specs, execute their `main()` method and kick off Karma (Jasmine).
|
|
System.import('angular2/src/platform/browser/browser_adapter').then(function(browser_adapter) {
|
|
browser_adapter.BrowserDomAdapter.makeCurrent();
|
|
}).then(function() {
|
|
return Promise.all(
|
|
Object.keys(window.__karma__.files) // All files served by Karma.
|
|
.filter(onlySpecFiles)
|
|
.map(window.file2moduleName) // Normalize paths to module names.
|
|
.map(function(path) {
|
|
return System.import(path).then(function(module) {
|
|
if (module.hasOwnProperty('main')) {
|
|
module.main();
|
|
} else {
|
|
throw new Error('Module ' + path + ' does not implement main() method.');
|
|
}
|
|
});
|
|
}));
|
|
})
|
|
.then(function() {
|
|
__karma__.start();
|
|
}, function(error) {
|
|
__karma__.error(error.stack || error);
|
|
});
|
|
|
|
|
|
function onlySpecFiles(path) {
|
|
return /_spec\.js$/.test(path);
|
|
}
|