1 | let allTestFiles: string[] = [];
|
2 | let allTemplatePaths: {[requirePath: string]: string} = {};
|
3 | let TEST_REGEXP = /^\/base\/dist\/test\/test\/[^\/]+\.js$/i;
|
4 | let TEMPLATE_REGEXP = /^\/base\/(src|test)\/.+\.html$/i;
|
5 |
|
6 | interface Window {
|
7 | __karma__: any;
|
8 | require: any;
|
9 | }
|
10 |
|
11 |
|
12 | Object.keys(window.__karma__.files).forEach(file => {
|
13 | if (TEST_REGEXP.test(file) && file !== '/base/dist/test/test/setup.js') {
|
14 |
|
15 |
|
16 |
|
17 | const normalizedTestModule = file.replace(/^\/base\/|\.js$/g, '');
|
18 | allTestFiles.push(normalizedTestModule);
|
19 | } else if (TEMPLATE_REGEXP.test(file)) {
|
20 | const normalizedTemplate = file.replace(/^\/base\//, '/base/dist/');
|
21 | allTemplatePaths[normalizedTemplate] = file;
|
22 | }
|
23 | });
|
24 |
|
25 | let started = false;
|
26 |
|
27 | window.require.config({
|
28 |
|
29 | baseUrl: '/base',
|
30 |
|
31 | deps: ['aurelia-pal-browser', 'aurelia-polyfills'],
|
32 |
|
33 |
|
34 | callback: (pal: { initialize: () => void; }) => {
|
35 | if (started) {
|
36 | return;
|
37 | }
|
38 | started = true;
|
39 | pal.initialize();
|
40 | window.require(allTestFiles, () => window.__karma__.start());
|
41 | },
|
42 | paths: {
|
43 |
|
44 | 'aurelia-binding': '/base/node_modules/aurelia-binding/dist/amd/aurelia-binding',
|
45 | 'aurelia-bootstrapper': '/base/node_modules/aurelia-bootstrapper/dist/amd/aurelia-bootstrapper',
|
46 | 'aurelia-dependency-injection': '/base/node_modules/aurelia-dependency-injection/dist/amd/aurelia-dependency-injection',
|
47 | 'aurelia-event-aggregator': '/base/node_modules/aurelia-event-aggregator/dist/amd/aurelia-event-aggregator',
|
48 | 'aurelia-framework': '/base/node_modules/aurelia-framework/dist/amd/aurelia-framework',
|
49 | 'aurelia-history': '/base/node_modules/aurelia-history/dist/amd/aurelia-history',
|
50 | 'aurelia-history-browser': '/base/node_modules/aurelia-history-browser/dist/amd/aurelia-history-browser',
|
51 | 'aurelia-loader': '/base/node_modules/aurelia-loader/dist/amd/aurelia-loader',
|
52 | 'aurelia-loader-default': '/base/node_modules/aurelia-loader-default/dist/amd/aurelia-loader-default',
|
53 | 'aurelia-logging': '/base/node_modules/aurelia-logging/dist/amd/aurelia-logging',
|
54 | 'aurelia-logging-console': '/base/node_modules/aurelia-logging-console/dist/amd/aurelia-logging-console',
|
55 | 'aurelia-metadata': '/base/node_modules/aurelia-metadata/dist/amd/aurelia-metadata',
|
56 | 'aurelia-pal': '/base/node_modules/aurelia-pal/dist/amd/aurelia-pal',
|
57 | 'aurelia-pal-browser': '/base/node_modules/aurelia-pal-browser/dist/amd/aurelia-pal-browser',
|
58 | 'aurelia-path': '/base/node_modules/aurelia-path/dist/amd/aurelia-path',
|
59 | 'aurelia-polyfills': '/base/node_modules/aurelia-polyfills/dist/amd/aurelia-polyfills',
|
60 | 'aurelia-router': '/base/node_modules/aurelia-router/dist/amd/aurelia-router',
|
61 | 'aurelia-route-recognizer': '/base/node_modules/aurelia-route-recognizer/dist/amd/aurelia-route-recognizer',
|
62 | 'aurelia-task-queue': '/base/node_modules/aurelia-task-queue/dist/amd/aurelia-task-queue',
|
63 | 'aurelia-templating': '/base/node_modules/aurelia-templating/dist/amd/aurelia-templating',
|
64 | 'aurelia-templating-binding': '/base/node_modules/aurelia-templating-binding/dist/amd/aurelia-templating-binding',
|
65 |
|
66 |
|
67 | 'text': '/base/node_modules/requirejs-text/text',
|
68 | 'template-registry-entry!dist/test/test/resources/my-component.html_unnormalized2': '/base/test/resources/my-component.html',
|
69 |
|
70 | ...allTemplatePaths
|
71 | },
|
72 | packages: [
|
73 | {
|
74 | name: 'aurelia-templating-router',
|
75 | location: '/base/node_modules/aurelia-templating-router/dist/amd',
|
76 | main: 'aurelia-templating-router'
|
77 | },
|
78 | {
|
79 | name: 'aurelia-templating-resources',
|
80 | location: '/base/node_modules/aurelia-templating-resources/dist/amd',
|
81 | main: 'aurelia-templating-resources'
|
82 | },
|
83 | {
|
84 | name: 'dist/test/src/aurelia-testing',
|
85 | location: '/base/dist/test/src',
|
86 | main: 'aurelia-testing'
|
87 | }
|
88 | ]
|
89 | });
|