diff --git a/angular.json b/angular.json index 23d73d412..b2dbd83b8 100644 --- a/angular.json +++ b/angular.json @@ -84,18 +84,6 @@ "buildTarget": "ngx-datatable:build" } }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", - "assets": ["src/favicon.ico", "src/assets"], - "styles": ["src/styles.scss"], - "scripts": [] - } - }, "lint": { "builder": "@angular-eslint/builder:lint", "options": { @@ -127,7 +115,7 @@ "options": { "main": "projects/ngx-datatable/src/test.ts", "tsConfig": "projects/ngx-datatable/tsconfig.spec.json", - "karmaConfig": "projects/ngx-datatable/karma.conf.js" + "karmaConfig": "projects/ngx-datatable/karma.conf.cjs" } }, "lint": { diff --git a/karma.conf.js b/karma.conf.js deleted file mode 100644 index 20f91902d..000000000 --- a/karma.conf.js +++ /dev/null @@ -1,33 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-coverage'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - coverageReporter: { - dir: require('path').join(__dirname, './coverage/ngx-datatable'), - subdir: '.', - reporters: [{ type: 'html' }, { type: 'lcovonly' }, { type: 'text-summary' }] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/karma.shared.cjs b/karma.shared.cjs new file mode 100644 index 000000000..251f44dc4 --- /dev/null +++ b/karma.shared.cjs @@ -0,0 +1,37 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports.buildConfig = (config, { name }) => ({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-coverage'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageReporter: { + dir: require('path').join(__dirname, `./coverage/${name}`), + subdir: '.', + reporters: [{ type: 'html' }, { type: 'lcovonly' }, { type: 'text-summary' }] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + customLaunchers: { + ChromeHeadlessCI: { + base: 'ChromeHeadless', + flags: ['--no-sandbox', '--disable-gpu'] + } + }, + singleRun: false, + restartOnFileChange: true +}); diff --git a/projects/ngx-datatable/karma.conf.cjs b/projects/ngx-datatable/karma.conf.cjs new file mode 100644 index 000000000..3f70be20e --- /dev/null +++ b/projects/ngx-datatable/karma.conf.cjs @@ -0,0 +1,10 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set( + require('../../karma.shared.cjs').buildConfig(config, { + name: 'ngx-datatable-lib' + }) + ); +}; diff --git a/projects/ngx-datatable/karma.conf.js b/projects/ngx-datatable/karma.conf.js deleted file mode 100644 index 746a1095d..000000000 --- a/projects/ngx-datatable/karma.conf.js +++ /dev/null @@ -1,39 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-coverage'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - coverageReporter: { - dir: require('path').join(__dirname, '../../coverage/ngx-datatable-lib'), - subdir: '.', - reporters: [{ type: 'html' }, { type: 'lcovonly' }, { type: 'text-summary' }] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - customLaunchers: { - ChromeHeadlessCI: { - base: 'ChromeHeadless', - flags: ['--no-sandbox', '--disable-gpu'] - } - }, - singleRun: false, - restartOnFileChange: true - }); -};