index.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. },
  12. stats: 'none',
  13. plugins: [
  14. new webpack.EnvironmentPlugin({
  15. CYPRESS: true,
  16. }),
  17. ],
  18. })
  19. delete webpackConfig.devServer.client
  20. webpackConfig.entry = {}
  21. const addWorker = (name, importPath) => {
  22. webpackConfig.entry[name] = require.resolve(importPath)
  23. }
  24. // add entrypoint under '/' for latex-linter worker
  25. addWorker(
  26. 'latex-linter-worker',
  27. '../../modules/source-editor/frontend/js/languages/latex/linter/latex-linter.worker.js'
  28. )
  29. // add entrypoints under '/' for pdfjs workers
  30. const pdfjsVersions = ['pdfjs-dist210', 'pdfjs-dist213']
  31. for (const name of pdfjsVersions) {
  32. addWorker(name, `${name}/legacy/build/pdf.worker.js`)
  33. }
  34. on('dev-server:start', options => {
  35. return startDevServer({ options, webpackConfig })
  36. })
  37. }
  38. }