diff --git a/services/web/app/src/Features/Project/ProjectController.js b/services/web/app/src/Features/Project/ProjectController.js index c5dd884a28..9f8ed0dfc6 100644 --- a/services/web/app/src/Features/Project/ProjectController.js +++ b/services/web/app/src/Features/Project/ProjectController.js @@ -23,7 +23,6 @@ const ProjectUpdateHandler = require('./ProjectUpdateHandler') const ProjectGetter = require('./ProjectGetter') const PrivilegeLevels = require('../Authorization/PrivilegeLevels') const AuthenticationController = require('../Authentication/AuthenticationController') -const PackageVersions = require('../../infrastructure/PackageVersions') const Sources = require('../Authorization/Sources') const TokenAccessHandler = require('../TokenAccess/TokenAccessHandler') const CollaboratorsGetter = require('../Collaborators/CollaboratorsGetter') @@ -1043,11 +1042,7 @@ var defaultSettingsForAnonymousUser = userId => ({ var THEME_LIST = [] function generateThemeList() { const files = fs.readdirSync( - Path.join( - __dirname, - '/../../../../frontend/js/vendor/', - PackageVersions.lib('ace') - ) + Path.join(__dirname, '/../../../../node_modules/ace-builds/src-noconflict') ) const result = [] for (let file of files) { diff --git a/services/web/app/src/infrastructure/PackageVersions.js b/services/web/app/src/infrastructure/PackageVersions.js index c99a9f746d..029f181924 100644 --- a/services/web/app/src/infrastructure/PackageVersions.js +++ b/services/web/app/src/infrastructure/PackageVersions.js @@ -5,8 +5,10 @@ * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ +const ACE_VERSION = require('ace-builds/version') const version = { - ace: '1.4.12', // Upgrade instructions: https://github.com/overleaf/write_latex/wiki/Upgrading-Ace + // Upgrade instructions: https://github.com/overleaf/write_latex/wiki/Upgrading-Ace + ace: ACE_VERSION, fineuploader: '5.15.4' } diff --git a/services/web/package-lock.json b/services/web/package-lock.json index 26941630ed..23beca429c 100644 --- a/services/web/package-lock.json +++ b/services/web/package-lock.json @@ -9140,6 +9140,10 @@ } } }, + "ace-builds": { + "version": "https://github.com/overleaf/ace-builds/archive/v1.4.12-69aace50e6796d42116f8f96e19d2468d8a88af9.tar.gz", + "integrity": "sha512-jHzJycBpJVzEuSiMZj8hotpzuH49uMOIcJtrdTkx2UVKGJDYpJZOrN922k+IPAiWqnfpMzUO0lmXFSBDGGguQA==" + }, "acorn": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", diff --git a/services/web/package.json b/services/web/package.json index 333add4749..e897439d63 100644 --- a/services/web/package.json +++ b/services/web/package.json @@ -47,6 +47,7 @@ "@pollyjs/core": "^4.2.1", "@pollyjs/persister-fs": "^4.2.1", "@sentry/browser": "^5.12.0", + "ace-builds": "https://github.com/overleaf/ace-builds/archive/v1.4.12-69aace50e6796d42116f8f96e19d2468d8a88af9.tar.gz", "algoliasearch": "^3.35.1", "angular": "~1.8.0", "angular-sanitize": "~1.8.0", diff --git a/services/web/webpack.config.js b/services/web/webpack.config.js index 947dbdaae6..26fa36e97b 100644 --- a/services/web/webpack.config.js +++ b/services/web/webpack.config.js @@ -201,10 +201,7 @@ module.exports = { // Shortcut to vendored dependencies in frontend/js/vendor/libs libs: path.join(__dirname, 'frontend/js/vendor/libs'), // Enables ace/ace shortcut - ace: path.join( - __dirname, - `frontend/js/vendor/${PackageVersions.lib('ace')}` - ), + ace: 'ace-builds/src-noconflict', // fineupload vendored dependency (which we're aliasing to fineuploadER // for some reason) fineuploader: path.join( @@ -263,7 +260,7 @@ module.exports = { to: 'js/libs/sigma-master' }, { - from: `frontend/js/vendor/ace-${PackageVersions.version.ace}/`, + from: 'node_modules/ace-builds/src-noconflict', to: `js/ace-${PackageVersions.version.ace}/` }, // Copy CMap files from pdfjs-dist package to build output. These are used