Просмотр исходного кода

Upgrade jQuery to v3 (#18984)

GitOrigin-RevId: 13a5460a82d2150caf6bd2d855f7e07c196d43f0
Alf Eaton 2 лет назад
Родитель
Сommit
a39ce05a09

+ 25 - 39
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",

+ 0 - 1
services/web/frontend/js/bootstrap-3.ts

@@ -1,4 +1,3 @@
-import 'jquery'
 import 'bootstrap'
 import './features/contact-form'
 import './features/bookmarkable-tab'

+ 3 - 3
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",

+ 6 - 12
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: [