Skip to content

Commit

Permalink
chore(project): update to karma>=4
Browse files Browse the repository at this point in the history
* Use createPriorityPreprocessor instead of deprecated createPreprocessor API
* Bump node version to 8+

BREAKING CHANGES:

* requires karma >= 4
* requires NodeJS >= 8
  • Loading branch information
anthony-redFox authored and nikku committed Jan 30, 2020
1 parent c0fa902 commit b8266f7
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 152 deletions.
22 changes: 6 additions & 16 deletions lib/preprocessor.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,11 @@ var preprocessor = require('karma/lib/preprocessor');
var os = require('os-shim');
var path = require('path');

var api = ['config.preprocessors', 'config.basePath', 'injector'];


function arrayEquals(a, b) {
return a.join('#') === b.join('#');
}


function getPreprocessorFactory() {
var factory = preprocessor.createPriorityPreprocessor;

var factory = preprocessor.createPreprocessor;

if (!arrayEquals(factory.$inject, api)) {
console.log('incompatible karma preprocessor: found', factory.$inject, 'expected', api);
if (factory.$inject[0] !== 'config.preprocessors') {
console.log('incompatible karma preprocessor: the first parametr should be config.preprocessors but', factory.$inject[0]);
throw new Error('incompatible karma preprocessor');
}

Expand All @@ -31,15 +22,14 @@ function getPreprocessorFactory() {

var originalFactory = getPreprocessorFactory();

var createPreprocessor = function(config, basePath, injector) {

var createPreprocessor = function(config, ...args) {
// add our preprocessor for .browserify.js files
config[path.resolve(os.tmpdir(), '*.browserify.js')] = ['browserify-bundle'];

return originalFactory(config, basePath, injector);
return originalFactory.apply(null, [config, ...args]);
};

createPreprocessor.$inject = api;
createPreprocessor.$inject = originalFactory.$inject;


// publish patched preprocessor
Expand Down
Loading

0 comments on commit b8266f7

Please sign in to comment.