jamcoupe / karma-tsc-preprocessor

Karma Preprocessor that compiles your TypeScript files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:MIT License


Languages

Language:JavaScript 92.8%Language:TypeScript 7.2%