Skip to content


This package contains a plugin for using TypeScript with Razzle

Razzle now has support for typescript using babel. Unless you specifically need this plugin we recommend using the builtin support

Use with-typescript example instead.

Usage in Razzle Projects

yarn add razzle-plugin-typescript

Using the plugin with the default options

// razzle.config.js
module.exports = {
plugins: ['typescript'],

See full configuration in the typescript example project.

With custom options:

// razzle.config.js
module.exports = {
plugins: [
name: 'typescript',
options: {
useBabel: false,
tsLoader: {
transpileOnly: true,
experimentalWatchApi: true,
forkTsChecker: {
eslint: {
files: ['*.js', '*.jsx', '*.ts', '*.tsx'],


useBabel: boolean (defaults: false)

Set useBabel to true if you want to keep using babel for JS/TS interoperability, or if you want to apply any babel transforms to typescript files. (i.e.: babel-plugin-styled-components).

tsLoader: TSLoaderOptions (defaults: { transpileOnly: true, experimentalWatchApi: true })

Use this to override ts-loader options. Check all the options here: ts-loader options.

forkTsChecker: TSCheckerOptions (defaults: { async: 'compiler.options.mode === 'development'', typescript: true, eslint: undefined, issue: {}, formatter: 'codeframe', logger: { infrastructure: 'silent', issues: 'console', devServer: true } })

Use this to override fork-ts-checker-webpack-plugin options. Check all the options here: fork-ts-checker-webpack-plugin options.