overleaf/services/web/cypress/support/webpack.cypress.ts
Alf Eaton 17e8c70069 Use non-legacy build of PDF.js
GitOrigin-RevId: 473dc8657bac01fc4fc7b94565b10ff939e7fcdd
2024-10-14 11:01:04 +00:00

49 lines
1.3 KiB
TypeScript

import { merge } from 'webpack-merge'
import path from 'path'
import webpack from 'webpack'
import HtmlWebpackPlugin from 'html-webpack-plugin'
import devConfig from '../../webpack.config.dev'
const buildConfig = () => {
const webpackConfig = merge(devConfig, {
devServer: {
static: path.join(__dirname, '../../public'),
port: 3200,
},
stats: 'none',
plugins: [
new webpack.EnvironmentPlugin({
CYPRESS: true,
}),
new HtmlWebpackPlugin({
template: path.resolve('./component-index.html'),
}),
],
} as any)
delete webpackConfig.devServer.client
webpackConfig.entry = {}
const addWorker = (name: string, importPath: string) => {
webpackConfig.entry[name] = require.resolve(importPath)
}
// add entrypoint under '/' for latex-linter worker
addWorker(
'latex-linter-worker',
'../../frontend/js/features/source-editor/languages/latex/linter/latex-linter.worker'
)
// add entrypoint under '/' for hunspell worker
addWorker(
'hunspell-worker',
'../../frontend/js/features/source-editor/hunspell/hunspell.worker'
)
// add entrypoints under '/' for pdfjs workers
addWorker('pdfjs-dist', 'pdfjs-dist/build/pdf.worker.mjs')
return webpackConfig
}
export const webpackConfig = buildConfig()