1.1.34 • Published 9 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
9 years ago
1.1.33
9 years ago
1.1.32
9 years ago
1.1.31
9 years ago
1.1.30
9 years ago
1.1.29
9 years ago
1.1.28
9 years ago
1.1.27
9 years ago
1.1.25
9 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
10 years ago
1.1.6
10 years ago
1.1.5
10 years ago
1.1.4
10 years ago
1.1.3
10 years ago
1.1.2
10 years ago
1.1.1
10 years ago
1.1.0
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago