summaryrefslogtreecommitdiffstats
path: root/public/wallaby.jasmine.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/wallaby.jasmine.js')
-rw-r--r--public/wallaby.jasmine.js96
1 files changed, 96 insertions, 0 deletions
diff --git a/public/wallaby.jasmine.js b/public/wallaby.jasmine.js
new file mode 100644
index 0000000..0140e87
--- /dev/null
+++ b/public/wallaby.jasmine.js
@@ -0,0 +1,96 @@
+var wallabyWebpack = require('wallaby-webpack');
+var path = require('path');
+
+var compilerOptions = Object.assign(
+ require('./tsconfig.json').compilerOptions,
+ require('./src/tsconfig.spec.json').compilerOptions
+);
+
+compilerOptions.module = 'CommonJs';
+
+module.exports = function(wallaby) {
+ var webpackPostprocessor = wallabyWebpack({
+ entryPatterns: ['src/wallabyTest.js', 'src/**/*spec.js'],
+
+ module: {
+ rules: [
+ { test: /\.css$/, loader: ['raw-loader', 'css-loader'] },
+ { test: /\.html$/, loader: 'raw-loader' },
+ {
+ test: /\.ts$/,
+ loader: '@ngtools/webpack',
+ include: /node_modules/,
+ query: { tsConfigPath: 'tsconfig.json' }
+ },
+ {
+ test: /\.js$/,
+ loader: 'angular2-template-loader',
+ exclude: /node_modules/
+ },
+ { test: /\.json$/, loader: 'json-loader' },
+ { test: /\.styl$/, loaders: ['raw-loader', 'stylus-loader'] },
+ { test: /\.less$/, loaders: ['raw-loader', 'less-loader'] },
+ { test: /\.scss$|\.sass$/, loaders: ['raw-loader', 'sass-loader'] },
+ { test: /\.(jpg|png)$/, loader: 'url-loader?limit=128000' }
+ ]
+ },
+
+ resolve: {
+ extensions: ['.js', '.ts'],
+ modules: [
+ path.join(wallaby.projectCacheDir, 'src/app'),
+ path.join(wallaby.projectCacheDir, 'src'),
+ 'node_modules'
+ ]
+ },
+ node: {
+ fs: 'empty',
+ net: 'empty',
+ tls: 'empty',
+ dns: 'empty'
+ }
+ });
+
+ return {
+ files: [
+ {
+ pattern: 'src/**/*.+(ts|css|less|scss|sass|styl|html|json|svg)',
+ load: false
+ },
+ { pattern: 'src/**/*.d.ts', ignore: true },
+ { pattern: 'src/**/*spec.ts', ignore: true }
+ ],
+
+ tests: [
+ { pattern: 'src/**/*spec.ts', load: false },
+ { pattern: 'src/**/*e2e-spec.ts', ignore: true }
+ ],
+
+ testFramework: 'jasmine',
+
+ compilers: {
+ '**/*.ts': wallaby.compilers.typeScript(compilerOptions)
+ },
+
+ middleware: function(app, express) {
+ var path = require('path');
+ app.use(
+ '/favicon.ico',
+ express.static(path.join(__dirname, 'src/favicon.ico'))
+ );
+ app.use('/assets', express.static(path.join(__dirname, 'src/assets')));
+ },
+
+ env: {
+ kind: 'electron'
+ },
+
+ postprocessor: webpackPostprocessor,
+
+ setup: function() {
+ window.__moduleBundler.loadTests();
+ },
+
+ debug: true
+ };
+};