webpack.config.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Use sourcemaps if in watch or debug mode;
  2. var devtool = 'eval';
  3. if (process.argv.indexOf('--watch') !== -1) {
  4. devtool = 'cheap-module-eval-sourcemap';
  5. }
  6. module.exports = {
  7. resolve: {
  8. extensions: ['.ts', '.tsx', '.js']
  9. },
  10. bail: true,
  11. devtool: devtool,
  12. mode: 'development',
  13. module: {
  14. rules: [
  15. {
  16. test: /\.tsx?$/,
  17. use: [
  18. { loader: 'ts-loader', options: { context: process.cwd() + '/src' } }
  19. ]
  20. },
  21. {
  22. test: /\.js$/,
  23. use: ['source-map-loader'],
  24. enforce: 'pre',
  25. // eslint-disable-next-line no-undef
  26. exclude: /node_modules/
  27. },
  28. { test: /\.css$/, use: ['style-loader', 'css-loader'] },
  29. { test: /\.csv$/, use: 'raw-loader' },
  30. { test: /\.ipynb$/, use: 'json-loader' },
  31. { test: /\.html$/, use: 'file-loader' },
  32. { test: /\.md$/, use: 'raw-loader' },
  33. { test: /\.(jpg|png|gif)$/, use: 'file-loader' },
  34. { test: /\.js.map$/, use: 'file-loader' },
  35. {
  36. test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
  37. use: 'url-loader?limit=10000&mimetype=application/font-woff'
  38. },
  39. {
  40. test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
  41. use: 'url-loader?limit=10000&mimetype=application/font-woff'
  42. },
  43. {
  44. test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
  45. use: 'url-loader?limit=10000&mimetype=application/octet-stream'
  46. },
  47. { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, use: 'file-loader' },
  48. {
  49. test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
  50. use: 'url-loader?limit=10000&mimetype=image/svg+xml'
  51. }
  52. ]
  53. }
  54. };