diff --git a/package-lock.json b/package-lock.json index 6fb747b62d..c8238732f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15841,9 +15841,9 @@ } }, "node_modules/backbone": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", - "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.0.tgz", + "integrity": "sha512-13PUjmsgw/49EowNcQvfG4gmczz1ximTMhUktj0Jfrjth0MVaTxehpU+qYYX4MxnuIuhmvBLC6/ayxuAGnOhbA==", "dev": true, "dependencies": { "underscore": ">=1.8.3" @@ -19296,14 +19296,12 @@ } }, "node_modules/daterangepicker": { - "name": "bootstrap-daterangepicker", "version": "2.1.27", - "resolved": "git+ssh://git@github.com/overleaf/daterangepicker.git#e496d2d44ca53e208c930e4cb4bcf29bcefa4550", - "integrity": "sha512-vlNvjq6s1I+TIL4BoZkNoZer0liC4Kw/sA6iC3XAX5bHnxzpwV5M0ymHjGEoN5In0uPhO9UMBoMNGCzUriL89A==", + "resolved": "https://registry.npmjs.org/daterangepicker/-/daterangepicker-2.1.27.tgz", + "integrity": "sha512-D12idm34JQYLbhQn9oaZQGuSoLC7C4RQypx4yThqiPO+56ejrWMKN+89/KWf1RwYENwUdWOSSqzF5ZF2EkiE5g==", "dev": true, - "license": "MIT", "dependencies": { - "jquery": "^2.2.0", + "jquery": ">=1.10", "moment": "^2.9.0" } }, @@ -26616,10 +26614,9 @@ } }, "node_modules/jquery": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", - "integrity": "sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==", - "dev": true + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" }, "node_modules/js-beautify": { "version": "1.14.7", @@ -43132,11 +43129,6 @@ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true }, - "services/latexqc/node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" - }, "services/latexqc/node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", @@ -44362,7 +44354,7 @@ "babel-loader": "^9.1.2", "babel-plugin-macros": "^3.1.0", "babel-plugin-module-resolver": "^5.0.0", - "backbone": "^1.3.3", + "backbone": "^1.6.0", "bootstrap": "^3.4.1", "bootstrap-5": "npm:bootstrap@^5.3.3", "c8": "^7.2.0", @@ -44381,7 +44373,7 @@ "cypress": "13.6.6", "cypress-plugin-tab": "^1.0.5", "d3": "^3.5.16", - "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550", + "daterangepicker": "2.1.27", "diff": "^5.1.0", "dompurify": "^3.1.5", "downshift": "^6.1.0", @@ -44400,7 +44392,7 @@ "handlebars-loader": "^1.7.3", "html-webpack-plugin": "^5.5.3", "i18next-scanner": "^4.4.0", - "jquery": "^2.2.4", + "jquery": "^3.7.1", "jsdom": "^19.0.0", "jsdom-global": "^3.0.2", "less": "^3.13.1", @@ -52703,7 +52695,7 @@ "babel-loader": "^9.1.2", "babel-plugin-macros": "^3.1.0", "babel-plugin-module-resolver": "^5.0.0", - "backbone": "^1.3.3", + "backbone": "^1.6.0", "base-x": "^4.0.0", "basic-auth": "^2.0.1", "bcrypt": "^5.0.0", @@ -52741,7 +52733,7 @@ "cypress-plugin-tab": "^1.0.5", "d3": "^3.5.16", "dateformat": "1.0.4-1.2.3", - "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550", + "daterangepicker": "2.1.27", "diff": "^5.1.0", "dompurify": "^3.1.5", "downshift": "^6.1.0", @@ -52777,7 +52769,7 @@ "i18next-scanner": "^4.4.0", "joi": "^17.12.0", "jose": "^4.3.8", - "jquery": "^2.2.4", + "jquery": "^3.7.1", "jsdom": "^19.0.0", "jsdom-global": "^3.0.2", "json2csv": "^4.3.3", @@ -59545,9 +59537,9 @@ } }, "backbone": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", - "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.0.tgz", + "integrity": "sha512-13PUjmsgw/49EowNcQvfG4gmczz1ximTMhUktj0Jfrjth0MVaTxehpU+qYYX4MxnuIuhmvBLC6/ayxuAGnOhbA==", "dev": true, "requires": { "underscore": ">=1.8.3" @@ -62151,12 +62143,12 @@ "integrity": "sha1-TBKxAb3buIgMI1babkVEWaXri3U=" }, "daterangepicker": { - "version": "git+ssh://git@github.com/overleaf/daterangepicker.git#e496d2d44ca53e208c930e4cb4bcf29bcefa4550", - "integrity": "sha512-vlNvjq6s1I+TIL4BoZkNoZer0liC4Kw/sA6iC3XAX5bHnxzpwV5M0ymHjGEoN5In0uPhO9UMBoMNGCzUriL89A==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/daterangepicker/-/daterangepicker-2.1.27.tgz", + "integrity": "sha512-D12idm34JQYLbhQn9oaZQGuSoLC7C4RQypx4yThqiPO+56ejrWMKN+89/KWf1RwYENwUdWOSSqzF5ZF2EkiE5g==", "dev": true, - "from": "daterangepicker@overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550", "requires": { - "jquery": "^2.2.0", + "jquery": ">=1.10", "moment": "^2.9.0" } }, @@ -67697,10 +67689,9 @@ "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==" }, "jquery": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", - "integrity": "sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==", - "dev": true + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" }, "js-beautify": { "version": "1.14.7", @@ -68837,11 +68828,6 @@ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true }, - "jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" - }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", diff --git a/services/web/frontend/js/bootstrap-3.ts b/services/web/frontend/js/bootstrap-3.ts index cb8b332436..61d2b98421 100644 --- a/services/web/frontend/js/bootstrap-3.ts +++ b/services/web/frontend/js/bootstrap-3.ts @@ -1,4 +1,3 @@ -import 'jquery' import 'bootstrap' import './features/contact-form' import './features/bookmarkable-tab' diff --git a/services/web/package.json b/services/web/package.json index 0e734162cc..1abd2d4ae6 100644 --- a/services/web/package.json +++ b/services/web/package.json @@ -268,7 +268,7 @@ "babel-loader": "^9.1.2", "babel-plugin-macros": "^3.1.0", "babel-plugin-module-resolver": "^5.0.0", - "backbone": "^1.3.3", + "backbone": "^1.6.0", "bootstrap": "^3.4.1", "bootstrap-5": "npm:bootstrap@^5.3.3", "c8": "^7.2.0", @@ -287,7 +287,7 @@ "cypress": "13.6.6", "cypress-plugin-tab": "^1.0.5", "d3": "^3.5.16", - "daterangepicker": "overleaf/daterangepicker#e496d2d44ca53e208c930e4cb4bcf29bcefa4550", + "daterangepicker": "2.1.27", "diff": "^5.1.0", "dompurify": "^3.1.5", "downshift": "^6.1.0", @@ -306,7 +306,7 @@ "handlebars-loader": "^1.7.3", "html-webpack-plugin": "^5.5.3", "i18next-scanner": "^4.4.0", - "jquery": "^2.2.4", + "jquery": "^3.7.1", "jsdom": "^19.0.0", "jsdom-global": "^3.0.2", "less": "^3.13.1", diff --git a/services/web/webpack.config.js b/services/web/webpack.config.js index c1c95a902c..7cadbf5b9a 100644 --- a/services/web/webpack.config.js +++ b/services/web/webpack.config.js @@ -259,18 +259,6 @@ module.exports = { }, ], }, - { - // Expose jQuery and $ global variables - test: require.resolve('jquery'), - use: [ - { - loader: 'expose-loader', - options: { - exposes: ['$', 'jQuery'], - }, - }, - ], - }, ], }, resolve: { @@ -313,6 +301,12 @@ module.exports = { contextRegExp: /moment$/, }), + // Set window.$ and window.jQuery + new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + }), + // Copy the required files for loading MathJax from MathJax NPM package new CopyPlugin({ patterns: [