1.1.34 • Published 9 years ago

karma-references v1.1.34

Weekly downloads
5
License
MIT
Repository
github
Last release
9 years ago

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