overleaf/services/web/cypress/support/webpack.cypress.ts
Tim Down 7f37ba737c Move source editor out of module (#12457)
* Update Copybara options in preparation for open-sourcing the source editor

* Move files

* Update paths

* Remove source-editor module and checks for its existence

* Explicitly mention CM6 license in files that contain code adapted from CM6

GitOrigin-RevId: 89b7cc2b409db01ad103198ccbd1b126ab56349b
2023-04-13 08:40:56 +00:00

46 lines
1.2 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.js'
)
// add entrypoints under '/' for pdfjs workers
const pdfjsVersions = ['pdfjs-dist213', 'pdfjs-dist31']
for (const name of pdfjsVersions) {
addWorker(name, `${name}/legacy/build/pdf.worker.js`)
}
return webpackConfig
}
export const webpackConfig = buildConfig()