From 46f878c42fd999dd5bd28fe14a0c9df72edaf32b Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Mon, 17 Jun 2024 11:34:21 +0100 Subject: [PATCH] Upgrade jQuery to v3 (#18796) GitOrigin-RevId: c5d1e280784480911de8ec11af618f5eadc6a846 --- package-lock.json | 64 +++++++++++++--------------------- services/web/package.json | 6 ++-- services/web/webpack.config.js | 18 ++++------ 3 files changed, 34 insertions(+), 54 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8b398e8b1d..9dbaff96ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15873,9 +15873,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" @@ -19334,14 +19334,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" } }, @@ -26640,10 +26638,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", @@ -43368,11 +43365,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", @@ -44732,7 +44724,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", @@ -44752,7 +44744,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", "downshift": "^6.1.0", "es6-promise": "^4.2.8", @@ -44770,7 +44762,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", @@ -53188,7 +53180,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", @@ -53227,7 +53219,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", "downshift": "^6.1.0", "east": "^2.0.2", @@ -53262,7 +53254,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", @@ -60031,9 +60023,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" @@ -62643,12 +62635,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" } }, @@ -68178,10 +68170,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", @@ -69318,11 +69309,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/package.json b/services/web/package.json index 8fe65fd3ca..19d58faf88 100644 --- a/services/web/package.json +++ b/services/web/package.json @@ -265,7 +265,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", @@ -285,7 +285,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", "downshift": "^6.1.0", "es6-promise": "^4.2.8", @@ -303,7 +303,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 de50a0254c..74279a13c1 100644 --- a/services/web/webpack.config.js +++ b/services/web/webpack.config.js @@ -255,18 +255,6 @@ module.exports = { }, ], }, - { - // Expose jQuery and $ global variables - test: require.resolve('jquery'), - use: [ - { - loader: 'expose-loader', - options: { - exposes: ['$', 'jQuery'], - }, - }, - ], - }, ], }, resolve: { @@ -309,6 +297,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: [