UNPKG

@kotify/neutrino-typescript

Version:

Neutrino middleware for typescript support

31 lines (28 loc) 919 B
const merge = require("deepmerge"); const babelMerge = require("babel-merge"); const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); module.exports = (options = {}) => (neutrino) => { neutrino.config.resolve.extensions.add(".tsx").add(".ts"); neutrino.config.module .rule("compile") .test(/\.(mjs|jsx|js|tsx|ts)$/) .use("babel") .tap((options) => babelMerge(options, { presets: [require.resolve("@babel/preset-typescript")], }) ); if (process.env.NODE_ENV === "development") { const forkTSChecker = merge( { enable: true, options: { typescript: { mode: "write-references" } } }, options.forkTSChecker || {} ); if (forkTSChecker.enable) { neutrino.config .plugin("fork-ts-checker") .use(ForkTsCheckerWebpackPlugin, [forkTSChecker.options]); } } };