UNPKG

@kanopi/pack

Version:

Pre-packaged Webpack 5 configuration with extendable configuration to coordinate loaders and rules for common web stacks

29 lines (26 loc) 880 B
const BabelLoader = require('../loaders/babel'); const JavascriptRules = require('./javascript'); module.exports = (environment) => { const { scripts: { additionalTypescriptFileTypes, useJsxSyntax } } = environment; let typescriptOptions = { transpileOnly: true }; if (Array.isArray(additionalTypescriptFileTypes) && 0 < additionalTypescriptFileTypes.length) { typescriptOptions['appendTsSuffixTo'] = additionalTypescriptFileTypes } return JavascriptRules(environment).concat([ { test: useJsxSyntax ? /\.tsx?$/ : /\.ts$/, exclude: /node_modules/, use: BabelLoader(environment) .concat([ { loader: 'ts-loader', options: typescriptOptions } ]) } ]); }