webpack.cypress.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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.js'
  31. )
  32. // add entrypoints under '/' for pdfjs workers
  33. const pdfjsVersions = ['pdfjs-dist213', 'pdfjs-dist36']
  34. for (const name of pdfjsVersions) {
  35. addWorker(name, `${name}/legacy/build/pdf.worker.js`)
  36. }
  37. return webpackConfig
  38. }
  39. export const webpackConfig = buildConfig()