Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

jamcoupe/karma-tsc-preprocessor

Repository files navigation

karma-tsc-preprocessor

code quality coverage tests dev deps peer deps version

Karma Preprocessor that compiles your TypeScript files.

Installation

Add karma-tsc-preprocessor as a devDependency in your package.json.

{
  "devDependencies": {
    "karma-tsc-preprocessor": "1.0.0"
  }
}

Or just issue the following command:

npm install karma-tsc-preprocessor --save-dev

Configuration

Default tsconfig.json

Using an existing tsconfig.json file:

module.exports = function(config) {
  config.set({
    bastPath: ".",
    preprocessors: {
      '**/*.ts': ['tsc']
    },
    plugins: [
      "karma-tsc-preprocessor",
    ],
  });
};

You do not need to pass the tsc options if you want to use your existing tsconfig.json file that is relative to the basePath property


Non standard tsconfig file

Using an existing tsconfig file with a non standard file name, for example tsconfig.tests.json:

module.exports = function(config) {
  config.set({
    bastPath: ".",
    preprocessors: {
      '**/*.ts': ['tsc']
    },
    tsc: {
      configFile: 'tsconfig.tests.json'
    },
    plugins: [
      "karma-tsc-preprocessor",
    ],
  });
};

Inline compiler options

Using a compilerOptions object:

module.exports = function(config) {
  config.set({
    preprocessors: {
      '**/*.ts': ['tsc']
    },
    tsc: {
      compilerOptions: {
        module: "commonjs",
        target: "es5",
        sourceMap: true,
      }
    },
    plugins: [
      "karma-tsc-preprocessor",
    ],
  });
};

Usage

Plugin behaviour

  • configFile property takes precedence over compilerOptions.
  • Setting sourceMap to true emulates the inlineSourceMap behaviour.

Examples

See integration folder for example projects.

Version support

typescript is a peer dependency so consumers can use any supported version.

  • TypeScript version >= 2.0.0 are supported.
  • Node.js version >= 8.16.0 are supported.

For more information on Karma see the homepage.

About

Karma Preprocessor that compiles your TypeScript files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •