const path = require('path'); const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); module.exports = { target: 'web', entry: { app: './public/app/index.ts', }, output: { path: path.resolve(__dirname, '../../public/build'), filename: '[name].[hash].js', // Keep publicPath relative for host.com/grafana/ deployments publicPath: "public/build/", }, resolve: { extensions: ['.ts', '.tsx', '.es6', '.js', '.json', '.svg'], alias: { }, modules: [ path.resolve('public'), path.resolve('node_modules') ], }, stats: { children: false, warningsFilter: /export .* was not found in/ }, node: { fs: 'empty', }, module: { rules: [ { test: require.resolve('jquery'), use: [ { loader: 'expose-loader', query: 'jQuery' }, { loader: 'expose-loader', query: '$' } ] }, { test: /\.html$/, exclude: /(index|error)\-template\.html/, use: [ { loader: 'ngtemplate-loader?relativeTo=' + (path.resolve(__dirname, '../../public')) + '&prefix=public' }, { loader: 'html-loader', options: { attrs: [], minimize: true, removeComments: false, collapseWhitespace: false } } ] } ] }, plugins: [ new ForkTsCheckerWebpackPlugin({ checkSyntacticErrors: true, }), ] };