diff --git a/config/webpack.config.js b/config/webpack.config.js index 296f8a7a13181744396465439e204d6df3cc4f7d..fb92e4228dc424218f03378ee5f8ca8e5cbac0b7 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -41,6 +41,8 @@ const { WEBPACK_OUTPUT_PATH, WEBPACK_PUBLIC_PATH, SOURCEGRAPH_PUBLIC_PATH, + PDF_JS_WORKER_PUBLIC_PATH, + PDF_JS_CMAPS_PUBLIC_PATH, GITLAB_WEB_IDE_PUBLIC_PATH, copyFilesPatterns, } = require('./webpack.constants'); @@ -844,6 +846,8 @@ module.exports = { // This is used by Sourcegraph because these assets are loaded dnamically 'process.env.SOURCEGRAPH_PUBLIC_PATH': JSON.stringify(SOURCEGRAPH_PUBLIC_PATH), 'process.env.GITLAB_WEB_IDE_PUBLIC_PATH': JSON.stringify(GITLAB_WEB_IDE_PUBLIC_PATH), + 'process.env.PDF_JS_WORKER_PUBLIC_PATH': JSON.stringify(PDF_JS_WORKER_PUBLIC_PATH), + 'process.env.PDF_JS_CMAPS_PUBLIC_PATH': JSON.stringify(PDF_JS_CMAPS_PUBLIC_PATH), ...(IS_PRODUCTION ? {} : { LIVE_RELOAD: DEV_SERVER_LIVERELOAD }), }), diff --git a/config/webpack.constants.js b/config/webpack.constants.js index 7fef32d0704d19f988e1e5d2c4ff0187d3b3603d..39232232613f3b224311e245df429d22181b17e7 100644 --- a/config/webpack.constants.js +++ b/config/webpack.constants.js @@ -15,20 +15,31 @@ const GITLAB_WEB_IDE_PATH = path.join('gitlab-vscode', GITLAB_WEB_IDE_VERSION, ' const GITLAB_WEB_IDE_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, GITLAB_WEB_IDE_PATH); const GITLAB_WEB_IDE_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, GITLAB_WEB_IDE_PATH); +const PDF_JS_VERSION = require('pdfjs-dist/package.json').version; + +const PDF_JS_WORKER_FILE_PATH = '/legacy/build/pdf.worker.min.js'; +const PDF_JS_WORKER_PATH = path.join('pdfjs', PDF_JS_VERSION, PDF_JS_WORKER_FILE_PATH); +const PDF_JS_WORKER_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, PDF_JS_WORKER_PATH); +const PDF_JS_WORKER_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, PDF_JS_WORKER_PATH); +const PDF_JS_CMAPS_PATH = path.join('pdfjs', PDF_JS_VERSION, 'cmaps/'); +const PDF_JS_CMAPS_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, PDF_JS_CMAPS_PATH); +const PDF_JS_CMAPS_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, PDF_JS_CMAPS_PATH); + const IS_EE = require('./helpers/is_ee_env'); const IS_JH = require('./helpers/is_jh_env'); const SOURCEGRAPH_PACKAGE = '@sourcegraph/code-host-integration'; const GITLAB_WEB_IDE_PACKAGE = '@gitlab/web-ide'; +const PDFJS_PACKAGE = 'pdfjs-dist'; const copyFilesPatterns = [ { - from: path.join(ROOT_PATH, 'node_modules/pdfjs-dist/cmaps/'), - to: path.join(WEBPACK_OUTPUT_PATH, 'pdfjs/cmaps/'), + from: path.join(ROOT_PATH, 'node_modules', PDFJS_PACKAGE, 'cmaps'), + to: PDF_JS_CMAPS_OUTPUT_PATH, }, { - from: path.join(ROOT_PATH, 'node_modules/pdfjs-dist/legacy/build/pdf.worker.min.js'), - to: path.join(WEBPACK_OUTPUT_PATH, 'pdfjs/'), + from: path.join(ROOT_PATH, 'node_modules', PDFJS_PACKAGE, PDF_JS_WORKER_FILE_PATH), + to: PDF_JS_WORKER_OUTPUT_PATH, }, { from: path.join(ROOT_PATH, 'node_modules', SOURCEGRAPH_PACKAGE, '/'), @@ -49,6 +60,8 @@ module.exports = { ROOT_PATH, WEBPACK_OUTPUT_PATH, WEBPACK_PUBLIC_PATH, + PDF_JS_WORKER_PUBLIC_PATH, + PDF_JS_CMAPS_PUBLIC_PATH, SOURCEGRAPH_PUBLIC_PATH, GITLAB_WEB_IDE_PUBLIC_PATH, copyFilesPatterns, diff --git a/vite.config.js b/vite.config.js index 0e83545650fcaf5cf6ce6f710a545c06d7c15788..f93b45e1bc0eddcdcdd562813beee9ffb1624952 100644 --- a/vite.config.js +++ b/vite.config.js @@ -11,6 +11,8 @@ import { IS_JH, SOURCEGRAPH_PUBLIC_PATH, GITLAB_WEB_IDE_PUBLIC_PATH, + PDF_JS_WORKER_PUBLIC_PATH, + PDF_JS_CMAPS_PUBLIC_PATH, copyFilesPatterns, } from './config/webpack.constants'; /* eslint-disable import/extensions */ @@ -118,6 +120,8 @@ export default defineConfig({ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV), 'process.env.SOURCEGRAPH_PUBLIC_PATH': JSON.stringify(SOURCEGRAPH_PUBLIC_PATH), 'process.env.GITLAB_WEB_IDE_PUBLIC_PATH': JSON.stringify(GITLAB_WEB_IDE_PUBLIC_PATH), + 'process.env.PDF_JS_WORKER_PUBLIC_PATH': JSON.stringify(PDF_JS_WORKER_PUBLIC_PATH), + 'process.env.PDF_JS_CMAPS_PUBLIC_PATH': JSON.stringify(PDF_JS_CMAPS_PUBLIC_PATH), 'window.VUE_DEVTOOLS_CONFIG.openInEditorHost': JSON.stringify( viteGDKConfig.hmr ? `${process.env.VITE_HMR_HTTP_URL}/vite-dev/`