1.1.34 • Published 8 years ago
karma-references v1.1.34
karma-references
utility for collecting script references and updating karma config
example usecase:
- .ts files are compiled into .gen.js files (so that they can be easily distingueshed from legacy .js files)
- .spec.ts files reference generated typings (to avoid repeated compilation of referenced files)(
/// <reference path="../some/relative/path/module.gen.d.ts">
) - these are transformed into .js references
- forceTransform makes the collecting process fail if referenced file does not exist
- references are synchronized using external file because karma.conf.js cannot handle async
- and also to separate collection process from karma execution, allowing repeated test execution over collected references
// collect.js
const log = require("karma-references/lib/log");
const logger = new log.MemoryLogger(log.LogLevel.debug);
const jsref = require("karma-references/lib/jsref");
jsref
.collectReferences({
folders: ["../../WebSite/js", "./specs"],
filesInclude: ["*.spec.js"],
outputExclude: ["*.ts", "*node_modules*"],
referenceTransforms: [jsref.parseTransform("([.]gen[.]d)?[.]ts$;.js")],
forceTransform: true,
log: logger
})
.then(result => {
console.log(result.files);
const content = JSON.stringify(result.files, null, "\t");
const fs = require("fs");
fs.writeFileSync("references.json", content);
})
.catch(err => {
console.error(`error: ${err}`);
console.error(logger.lines);
process.exit(1);
})
;
// karma.conf.js
function getReferences() {
const fs = require("fs");
return JSON.parse(fs.readFileSync("references.json", "utf8"));
}
const preprocessors = ["coverage"];
config.set({
frameworks: ["jasmine"],
files: getReferences(),
preprocessors: {
"../../WebSite/**/!(*.spec).js": preprocessors,
"../../WebSite/**/!(*.spec).gen.js": preprocessors
}
});
1.1.34
8 years ago
1.1.33
8 years ago
1.1.32
8 years ago
1.1.31
8 years ago
1.1.30
8 years ago
1.1.29
8 years ago
1.1.28
8 years ago
1.1.27
8 years ago
1.1.25
8 years ago
1.1.24
9 years ago
1.1.23
9 years ago
1.1.22
9 years ago
1.1.21
9 years ago
1.1.20
9 years ago
1.1.19
9 years ago
1.1.18
9 years ago
1.1.17
9 years ago
1.1.16
9 years ago
1.1.15
9 years ago
1.1.14
9 years ago
1.1.13
9 years ago
1.1.12
9 years ago
1.1.11
9 years ago
1.1.10
9 years ago
1.1.9
9 years ago
1.1.8
9 years ago
1.1.7
9 years ago
1.1.6
9 years ago
1.1.5
9 years ago
1.1.4
9 years ago
1.1.3
9 years ago
1.1.2
9 years ago
1.1.1
9 years ago
1.1.0
9 years ago
1.0.1
10 years ago
1.0.0
10 years ago