1.1.34 • Published 8 years ago

karma-references v1.1.34

Weekly downloads
5
License
MIT
Repository
github
Last release
8 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

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