{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,+BAAiC;AAEjC,6CAA4C;AAC5C,iEAA+D;AAC/D,6CAA4C;AAC5C,uDAAsD;AACtD,iEAA+D;AAC/D,mDAAiD;AACjD,qDAAoD;AACpD,iDAAgD;AAEhD,gDAA+C;AAE/C,gDAA+C;AAC/C,kDAAiD;AAEjD,+CAA8C;AAC9C,qDAAoD;AACpD,6CAA4C;AAE5C,wDAAmE;AACnE,4CAA2C;AAG3C,IAAM,OAAO,GAAe;IACxB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC;IACvD,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,oCAAoC,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,6BAA6B,CAAC;IAC1D,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC;IAChE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,4BAA4B,CAAC;CAC5D,CAAC;AAEF,IAAM,oBAAoB,GAAyB,EAAE,CAAC;AAEtD,IAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;AACjD,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5D,IAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAExE,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACxE,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,aAAa,CAAC,CAAC;AAC7C,IAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC5D,IAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AAClE,IAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,aAAa,CAAC,CAAC;AAE/C,IAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACxF,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC/F,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACrD,IAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AAElE,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAEhF,IAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAClE,IAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;AACxG,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,aAAa,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;AAE9E,MAAM,CAAC,OAAO,GAAG;IACb,4BAA4B,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC;IAC3D,+BAA+B,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC;IACjE,2BAA2B,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;CACzD,CAAC","sourcesContent":["import * as log4js from \"log4js\";\n\nimport { Bundler } from \"./bundler/bundler\";\nimport { DependencyWalker } from \"./bundler/dependency-walker\";\nimport { Globals } from \"./bundler/globals\";\nimport { Resolver } from \"./bundler/resolve/resolver\";\nimport { SourceReader } from \"./bundler/resolve/source-reader\";\nimport { SourceMap } from \"./bundler/source-map\";\nimport { Transformer } from \"./bundler/transformer\";\nimport { Validator } from \"./bundler/validator\";\n\nimport { Compiler } from \"./compiler/compiler\";\n\nimport { Coverage } from \"./istanbul/coverage\";\nimport { Threshold } from \"./istanbul/threshold\";\n\nimport { Framework } from \"./karma/framework\";\nimport { Preprocessor } from \"./karma/preprocessor\";\nimport { Reporter } from \"./karma/reporter\";\n\nimport { Configuration, LoggerList } from \"./shared/configuration\";\nimport { Project } from \"./shared/project\";\nimport { SharedProcessedFiles } from \"./shared/shared-processed-files\";\n\nconst loggers: LoggerList = {\n    bundler: log4js.getLogger(\"bundler.karma-typescript\"),\n    compiler: log4js.getLogger(\"compiler.karma-typescript\"),\n    dependencyWalker: log4js.getLogger(\"dependency-walker.karma-typescript\"),\n    project: log4js.getLogger(\"project.karma-typescript\"),\n    resolver: log4js.getLogger(\"resolver.karma-typescript\"),\n    sourceMap: log4js.getLogger(\"source-map.karma-typescript\"),\n    sourceReader: log4js.getLogger(\"source-reader.karma-typescript\"),\n    threshold: log4js.getLogger(\"threshold.karma-typescript\")\n};\n\nconst sharedProcessedFiles: SharedProcessedFiles = {};\n\nconst configuration = new Configuration(loggers);\nconst project = new Project(configuration, loggers.project);\nconst dependencyWalker = new DependencyWalker(loggers.dependencyWalker);\n\nconst compiler = new Compiler(configuration, loggers.compiler, project);\nconst coverage = new Coverage(configuration);\nconst transformer = new Transformer(configuration, project);\nconst threshold = new Threshold(configuration, loggers.threshold);\nconst validator = new Validator(configuration);\n\nconst sourceReader = new SourceReader(configuration, loggers.sourceReader, transformer);\nconst resolver = new Resolver(configuration, dependencyWalker, loggers.resolver, sourceReader);\nconst globals = new Globals(configuration, resolver);\nconst sourceMap = new SourceMap(configuration, loggers.sourceMap);\n\nconst bundler = new Bundler(configuration, dependencyWalker, globals, loggers.bundler,\n                          project, resolver, sourceMap, transformer, validator);\n\nconst framework = new Framework(bundler, configuration, resolver);\nconst preprocessor = new Preprocessor(bundler, compiler, configuration, coverage, sharedProcessedFiles);\nconst reporter = new Reporter(configuration, sharedProcessedFiles, threshold);\n\nmodule.exports = {\n    \"framework:karma-typescript\": [\"factory\", framework.create],\n    \"preprocessor:karma-typescript\": [\"factory\", preprocessor.create],\n    \"reporter:karma-typescript\": [\"type\", reporter.create]\n};\n"]}