webpack.cypress.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { merge } from 'webpack-merge'
  2. import path from 'path'
  3. import webpack from 'webpack'
  4. import HtmlWebpackPlugin from 'html-webpack-plugin'
  5. import devConfig from '../../webpack.config.dev'
  6. const buildConfig = () => {
  7. const webpackConfig = merge(devConfig, {
  8. devServer: {
  9. static: path.join(__dirname, '../../public'),
  10. port: 3200,
  11. },
  12. stats: 'none',
  13. plugins: [
  14. new webpack.EnvironmentPlugin({
  15. CYPRESS: true,
  16. }),
  17. new HtmlWebpackPlugin({
  18. template: path.resolve('./component-index.html'),
  19. }),
  20. ],
  21. } as any)
  22. delete webpackConfig.devServer.client
  23. webpackConfig.entry = {}
  24. const addWorker = (name: string, importPath: string) => {
  25. webpackConfig.entry[name] = require.resolve(importPath)
  26. }
  27. // add entrypoint under '/' for latex-linter worker
  28. addWorker(
  29. 'latex-linter-worker',
  30. '../../frontend/js/features/source-editor/languages/latex/linter/latex-linter.worker'
  31. )
  32. // add entrypoints under '/' for pdfjs workers
  33. addWorker('pdfjs-dist213', 'pdfjs-dist213/legacy/build/pdf.worker.js')
  34. addWorker('pdfjs-dist401', 'pdfjs-dist401/legacy/build/pdf.worker.mjs')
  35. return webpackConfig
  36. }
  37. export const webpackConfig = buildConfig()