From bee00db34f61fbb0c82169d6ea2603e905785a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 25 Mar 2024 04:11:20 +0100 Subject: [PATCH 1/2] Use a node package to install jquery-fileupload Although the gem is called jquery-fileupload-rails, the node package is called blueimp-file-upload. Note we're using the same version as provided by the gem. The jquery-fileupload gem provided a `basic.js` file (which we were requiring), which had the following content: ``` //= require jquery-fileupload/vendor/jquery.ui.widget //= require jquery-fileupload/jquery.iframe-transport //= require jquery-fileupload/jquery.fileupload `` This file isn't available in the Node.js package, so we're adapting its contents in our application.js file. Since we're already requiring jQuery UI widget, we're omitting that line. --- Gemfile | 1 - Gemfile.lock | 5 ----- app/assets/javascripts/application.js | 3 ++- package-lock.json | 6 ++++++ package.json | 1 + 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index 857c7e7b3..7c338a74b 100644 --- a/Gemfile +++ b/Gemfile @@ -32,7 +32,6 @@ gem "groupdate", "~> 6.4.0" gem "image_processing", "~> 1.12.2" gem "initialjs-rails", "~> 0.2.0.9" gem "invisible_captcha", "~> 2.3.0" -gem "jquery-fileupload-rails" gem "kaminari", "~> 1.2.2" gem "mini_magick", "~> 4.12.0" gem "omniauth", "~> 2.1.2" diff --git a/Gemfile.lock b/Gemfile.lock index 54e7cdaa4..5cb737e2c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -282,10 +282,6 @@ GEM railties (>= 3.1, < 7.0) invisible_captcha (2.3.0) rails (>= 5.2) - jquery-fileupload-rails (1.0.0) - actionpack (>= 3.1) - railties (>= 3.1) - sassc json (2.7.1) jwt (2.7.1) kaminari (1.2.2) @@ -728,7 +724,6 @@ DEPENDENCIES image_processing (~> 1.12.2) initialjs-rails (~> 0.2.0.9) invisible_captcha (~> 2.3.0) - jquery-fileupload-rails kaminari (~> 1.2.2) knapsack_pro (~> 7.0.1) launchy (~> 2.5.2) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 0d39d6e64..c6d884ea0 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -50,7 +50,8 @@ //= require jquery-ui/ui/i18n/datepicker-en-GB //= require jquery-ui/ui/widgets/autocomplete //= require jquery-ui/ui/widgets/sortable -//= require jquery-fileupload/basic +//= require blueimp-file-upload/js/jquery.iframe-transport +//= require blueimp-file-upload/js/jquery.fileupload //= require foundation-sites //= require turbolinks //= require turbolinks_anchors diff --git a/package-lock.json b/package-lock.json index efcc48fb3..b6384e5e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,6 +6,7 @@ "": { "name": "consuldemocracy", "dependencies": { + "blueimp-file-upload": "9.12.5", "foundation-sites": "^6.6.2", "jquery": "^3.7.1", "jquery-ui": "^1.13.2", @@ -21,6 +22,11 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/blueimp-file-upload": { + "version": "9.12.5", + "resolved": "https://registry.npmjs.org/blueimp-file-upload/-/blueimp-file-upload-9.12.5.tgz", + "integrity": "sha512-hWHp6GDoNVBV6zmU5voMqFBGAFS7KZ6I1rZhRqIPsj+2XruxPHz7M24Hvl3lcEQizY4mZo0VedIqMT7UEWT5Dg==" + }, "node_modules/entities": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", diff --git a/package.json b/package.json index c1e4c233a..79fef2d2a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "consuldemocracy", "dependencies": { + "blueimp-file-upload": "9.12.5", "foundation-sites": "^6.6.2", "jquery": "^3.7.1", "jquery-ui": "^1.13.2", From ea26f395890f4ecde874cf152dc6d94ae9681f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 25 Mar 2024 04:17:02 +0100 Subject: [PATCH 2/2] Bump blueimp-file-upload from 9.12.5 to 9.34.0 This is the last version in the 9.x series and was released in February 2019. We'll first try out this version before upgrading to version 10.32.0 (the latest version) because it's been a long time since we upgraded this gem and so we're doing the upgrade in two steps. --- package-lock.json | 34 ++++++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6384e5e4..c5f2c2017 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "consuldemocracy", "dependencies": { - "blueimp-file-upload": "9.12.5", + "blueimp-file-upload": "^9.34.0", "foundation-sites": "^6.6.2", "jquery": "^3.7.1", "jquery-ui": "^1.13.2", @@ -22,10 +22,36 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/blueimp-canvas-to-blob": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.5.0.tgz", + "integrity": "sha512-1Aq2Yn6SUsOERT4Ng7GUWRy6oRvqeNU2Iwhcq5ZH7aoejFkLEKjRx/XcpepfU7IMmj3sONSmiLmSgzj9umGUPw==", + "optional": true + }, "node_modules/blueimp-file-upload": { - "version": "9.12.5", - "resolved": "https://registry.npmjs.org/blueimp-file-upload/-/blueimp-file-upload-9.12.5.tgz", - "integrity": "sha512-hWHp6GDoNVBV6zmU5voMqFBGAFS7KZ6I1rZhRqIPsj+2XruxPHz7M24Hvl3lcEQizY4mZo0VedIqMT7UEWT5Dg==" + "version": "9.34.0", + "resolved": "https://registry.npmjs.org/blueimp-file-upload/-/blueimp-file-upload-9.34.0.tgz", + "integrity": "sha512-dXacFmyv6p0n+l5+u1ssYhSpCJdYabl7BZTw5WvB6ygY2ksTB3SdD6huafryEO5DH+XuspHDL6+IJ3m14Va+FQ==", + "optionalDependencies": { + "blueimp-canvas-to-blob": "3.5.0", + "blueimp-load-image": "2.12.2", + "blueimp-tmpl": "3.6.0" + } + }, + "node_modules/blueimp-load-image": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-2.12.2.tgz", + "integrity": "sha512-o6YeeBo0e6g3/T7mPZtED/y/66VdhMxYVEqE5Owl+9Ew0MpLFgFh6humePBAh0JVRfCtK7CHQ7K84S4GIfaZtg==", + "optional": true + }, + "node_modules/blueimp-tmpl": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.6.0.tgz", + "integrity": "sha512-FPbl2VMophcudvT2Li+y10RtKT4l7wBto1NZycXoVQb1JVlo8QbjDgEqL9Ph41/rUl4dTOv3mqWPoxqCHA1b7A==", + "optional": true, + "bin": { + "tmpl.js": "js/compile.js" + } }, "node_modules/entities": { "version": "2.1.0", diff --git a/package.json b/package.json index 79fef2d2a..6399969ed 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "consuldemocracy", "dependencies": { - "blueimp-file-upload": "9.12.5", + "blueimp-file-upload": "^9.34.0", "foundation-sites": "^6.6.2", "jquery": "^3.7.1", "jquery-ui": "^1.13.2",