From ff6a20b9925cf856eeabe510a7ee5e1793b81a70 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Mon, 16 Nov 2020 13:47:35 +0100
Subject: [PATCH] Share the karma config for all packages

---
 karma.common.conf.js                          | 28 ++++++++++++++++++
 packages/app-shell/karma.conf.js              | 29 +------------------
 packages/auth/karma.conf.js                   | 29 +------------------
 packages/check-in-place-select/karma.conf.js  | 29 +------------------
 packages/common/karma.conf.js                 | 29 +------------------
 packages/data-table-view/karma.conf.js        | 29 +------------------
 packages/file-handling/karma.conf.js          | 29 +------------------
 .../karma.conf.js                             | 29 +------------------
 packages/language-select/karma.conf.js        | 29 +------------------
 packages/matomo/karma.conf.js                 | 29 +------------------
 packages/notification/karma.conf.js           | 29 +------------------
 packages/person-profile/karma.conf.js         | 28 +-----------------
 packages/person-select/karma.conf.js          | 29 +------------------
 packages/qr-code-scanner/karma.conf.js        | 29 +------------------
 14 files changed, 41 insertions(+), 363 deletions(-)
 create mode 100644 karma.common.conf.js

diff --git a/karma.common.conf.js b/karma.common.conf.js
new file mode 100644
index 00000000..bcb684b3
--- /dev/null
+++ b/karma.common.conf.js
@@ -0,0 +1,28 @@
+// Trick to use the auto-downloaded puppeteer chrome binary
+process.env.CHROME_BIN = require('puppeteer').executablePath();
+
+module.exports = function(config) {
+    config.set({
+      basePath: 'dist',
+      frameworks: ['mocha'],
+      client: {
+        mocha: {
+          ui: 'tdd',
+        },
+      },
+      files: [
+        {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
+        {pattern: './**/*', included: false, watched: true, served: true},
+      ],
+      autoWatch: true,
+      browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
+      customLaunchers: {
+        ChromeHeadlessNoSandbox: {
+          base: 'ChromeHeadless',
+          flags: ['--no-sandbox']
+        }
+      },
+      singleRun: false,
+      logLevel: config.LOG_ERROR
+    });
+}
\ No newline at end of file
diff --git a/packages/app-shell/karma.conf.js b/packages/app-shell/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/app-shell/karma.conf.js
+++ b/packages/app-shell/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/auth/karma.conf.js b/packages/auth/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/auth/karma.conf.js
+++ b/packages/auth/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/check-in-place-select/karma.conf.js b/packages/check-in-place-select/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/check-in-place-select/karma.conf.js
+++ b/packages/check-in-place-select/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/common/karma.conf.js b/packages/common/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/common/karma.conf.js
+++ b/packages/common/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/data-table-view/karma.conf.js b/packages/data-table-view/karma.conf.js
index b6731e57..ca038af2 100644
--- a/packages/data-table-view/karma.conf.js
+++ b/packages/data-table-view/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/file-handling/karma.conf.js b/packages/file-handling/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/file-handling/karma.conf.js
+++ b/packages/file-handling/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/knowledge-base-web-page-element-view/karma.conf.js b/packages/knowledge-base-web-page-element-view/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/knowledge-base-web-page-element-view/karma.conf.js
+++ b/packages/knowledge-base-web-page-element-view/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/language-select/karma.conf.js b/packages/language-select/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/language-select/karma.conf.js
+++ b/packages/language-select/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/matomo/karma.conf.js b/packages/matomo/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/matomo/karma.conf.js
+++ b/packages/matomo/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/notification/karma.conf.js b/packages/notification/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/notification/karma.conf.js
+++ b/packages/notification/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/person-profile/karma.conf.js b/packages/person-profile/karma.conf.js
index f9cda6ad..6071887a 100644
--- a/packages/person-profile/karma.conf.js
+++ b/packages/person-profile/karma.conf.js
@@ -1,28 +1,2 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
+module.exports = require('../../karma.common.conf.js');
 
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
diff --git a/packages/person-select/karma.conf.js b/packages/person-select/karma.conf.js
index f9cda6ad..ca038af2 100644
--- a/packages/person-select/karma.conf.js
+++ b/packages/person-select/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox', 'FirefoxHeadless'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
diff --git a/packages/qr-code-scanner/karma.conf.js b/packages/qr-code-scanner/karma.conf.js
index b6731e57..ca038af2 100644
--- a/packages/qr-code-scanner/karma.conf.js
+++ b/packages/qr-code-scanner/karma.conf.js
@@ -1,28 +1 @@
-// Trick to use the auto-downloaded puppeteer chrome binary
-process.env.CHROME_BIN = require('puppeteer').executablePath();
-
-module.exports = function(config) {
-  config.set({
-    basePath: 'dist',
-    frameworks: ['mocha'],
-    client: {
-      mocha: {
-        ui: 'tdd',
-      },
-    },
-    files: [
-      {pattern: './*.js', included: true, watched: true, served: true, type: 'module'},
-      {pattern: './**/*', included: false, watched: true, served: true},
-    ],
-    autoWatch: true,
-    browsers: ['ChromeHeadlessNoSandbox'],
-    customLaunchers: {
-      ChromeHeadlessNoSandbox: {
-        base: 'ChromeHeadless',
-        flags: ['--no-sandbox']
-      }
-    },
-    singleRun: false,
-    logLevel: config.LOG_ERROR
-  });
-}
+module.exports = require('../../karma.common.conf.js');
-- 
GitLab