index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. module.exports = (on, config) => {
  2. if (config.testingType === 'component') {
  3. const { startDevServer } = require('@cypress/webpack-dev-server')
  4. const { merge } = require('webpack-merge')
  5. const path = require('path')
  6. const webpack = require('webpack')
  7. const devConfig = require('../../webpack.config.dev')
  8. const webpackConfig = merge(devConfig, {
  9. devServer: {
  10. static: path.join(__dirname, '../../public'),
  11. port: 3200,
  12. },
  13. stats: 'none',
  14. plugins: [
  15. new webpack.EnvironmentPlugin({
  16. CYPRESS: true,
  17. }),
  18. ],
  19. })
  20. delete webpackConfig.devServer.client
  21. webpackConfig.entry = {}
  22. const addWorker = (name, importPath) => {
  23. webpackConfig.entry[name] = require.resolve(importPath)
  24. }
  25. // add entrypoint under '/' for latex-linter worker
  26. addWorker(
  27. 'latex-linter-worker',
  28. '../../modules/source-editor/frontend/js/languages/latex/linter/latex-linter.worker.js'
  29. )
  30. // add entrypoints under '/' for pdfjs workers
  31. const pdfjsVersions = ['pdfjs-dist210', 'pdfjs-dist213']
  32. for (const name of pdfjsVersions) {
  33. addWorker(name, `${name}/legacy/build/pdf.worker.js`)
  34. }
  35. on('dev-server:start', options => {
  36. return startDevServer({ options, webpackConfig })
  37. })
  38. }
  39. }