From 0c220fe81b9d9ccda6cbe7ab8e5c136975d920fd Mon Sep 17 00:00:00 2001 From: Christian Westgaard Date: Mon, 9 Oct 2023 09:07:07 +0200 Subject: [PATCH] Make jquery-ui a peerdependency --- package-lock.json | 23 ++++++++++++++++++- package.json | 3 ++- .../assets/admin/common/js/dom/Element.ts | 2 +- .../support/BaseInputTypeNotManagingAdd.ts | 2 +- .../combobox/BaseSelectedOptionsView.ts | 2 +- webpack.config.js | 15 +++++++----- 6 files changed, 36 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index c2811d5a4..3ae3723ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,6 @@ "dompurify": "^3.0.6", "fine-uploader": "^5.16.2", "jquery-simulate": "^1.0.2", - "jquery-ui": "^1.13.2", "mousetrap": "^1.6.5", "q": "^1.5.1", "slickgrid": "^4.0.1", @@ -43,6 +42,7 @@ "error-logger-webpack-plugin": "^1.1.1", "eslint": "^8.50.0", "glob": "^10.3.10", + "jquery-ui": "^1.13.2", "less": "^4.2.0", "less-loader": "^11.1.3", "mini-css-extract-plugin": "^2.7.6", @@ -63,6 +63,7 @@ }, "peerDependencies": { "jquery": "^3.7.1", + "jquery-ui-dist": "^1.13.2", "postcss": "^8.2.2" } }, @@ -3977,6 +3978,16 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.2.tgz", "integrity": "sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==", + "dev": true, + "dependencies": { + "jquery": ">=1.8.0 <4.0.0" + } + }, + "node_modules/jquery-ui-dist": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/jquery-ui-dist/-/jquery-ui-dist-1.13.2.tgz", + "integrity": "sha512-oVDRd1NLtTbBwpRKAYdIRgpWVDzeBhfy7Gu0RmY6JEaZtmBq6kDn1pm5SgDiAotrnDS+RoTRXO6xvcNTxA9tOA==", + "peer": true, "dependencies": { "jquery": ">=1.8.0 <4.0.0" } @@ -10065,6 +10076,16 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.2.tgz", "integrity": "sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==", + "dev": true, + "requires": { + "jquery": ">=1.8.0 <4.0.0" + } + }, + "jquery-ui-dist": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/jquery-ui-dist/-/jquery-ui-dist-1.13.2.tgz", + "integrity": "sha512-oVDRd1NLtTbBwpRKAYdIRgpWVDzeBhfy7Gu0RmY6JEaZtmBq6kDn1pm5SgDiAotrnDS+RoTRXO6xvcNTxA9tOA==", + "peer": true, "requires": { "jquery": ">=1.8.0 <4.0.0" } diff --git a/package.json b/package.json index 642a62010..23c29507d 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "dompurify": "^3.0.6", "fine-uploader": "^5.16.2", "jquery-simulate": "^1.0.2", - "jquery-ui": "^1.13.2", "mousetrap": "^1.6.5", "q": "^1.5.1", "slickgrid": "^4.0.1", @@ -34,6 +33,7 @@ }, "peerDependencies": { "jquery": "^3.7.1", + "jquery-ui-dist": "^1.13.2", "postcss": "^8.2.2" }, "devDependencies": { @@ -58,6 +58,7 @@ "error-logger-webpack-plugin": "^1.1.1", "eslint": "^8.50.0", "glob": "^10.3.10", + "jquery-ui": "^1.13.2", "less": "^4.2.0", "less-loader": "^11.1.3", "mini-css-extract-plugin": "^2.7.6", diff --git a/src/main/resources/assets/admin/common/js/dom/Element.ts b/src/main/resources/assets/admin/common/js/dom/Element.ts index 622b5e313..d3545539c 100644 --- a/src/main/resources/assets/admin/common/js/dom/Element.ts +++ b/src/main/resources/assets/admin/common/js/dom/Element.ts @@ -1,5 +1,5 @@ import * as Q from 'q'; -import 'jquery-ui/ui/tabbable'; +// import 'jquery-ui/ui/tabbable'; // jquery-ui is a peerDependency import {StyleHelper} from '../StyleHelper'; import {StringHelper} from '../util/StringHelper'; import {ObjectHelper} from '../ObjectHelper'; diff --git a/src/main/resources/assets/admin/common/js/form/inputtype/support/BaseInputTypeNotManagingAdd.ts b/src/main/resources/assets/admin/common/js/form/inputtype/support/BaseInputTypeNotManagingAdd.ts index 2643b16db..c249c4e4b 100644 --- a/src/main/resources/assets/admin/common/js/form/inputtype/support/BaseInputTypeNotManagingAdd.ts +++ b/src/main/resources/assets/admin/common/js/form/inputtype/support/BaseInputTypeNotManagingAdd.ts @@ -1,4 +1,4 @@ -import 'jquery-ui/ui/widgets/sortable'; // jquery-ui is a peerDependency +// import 'jquery-ui/ui/widgets/sortable'; // jquery-ui is a peerDependency import * as Q from 'q'; import {Property} from '../../../data/Property'; import {PropertyArray} from '../../../data/PropertyArray'; diff --git a/src/main/resources/assets/admin/common/js/ui/selector/combobox/BaseSelectedOptionsView.ts b/src/main/resources/assets/admin/common/js/ui/selector/combobox/BaseSelectedOptionsView.ts index 01f881c57..0bccb676b 100644 --- a/src/main/resources/assets/admin/common/js/ui/selector/combobox/BaseSelectedOptionsView.ts +++ b/src/main/resources/assets/admin/common/js/ui/selector/combobox/BaseSelectedOptionsView.ts @@ -1,4 +1,4 @@ -import 'jquery-ui/ui/widgets/sortable'; +// import 'jquery-ui/ui/widgets/sortable'; // jquery-ui is a peerDependency import {DivEl} from '../../../dom/DivEl'; import {Element} from '../../../dom/Element'; import {Option} from '../Option'; diff --git a/webpack.config.js b/webpack.config.js index c6eeabb8a..a4456e31c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,7 +1,7 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const CircularDependencyPlugin = require('circular-dependency-plugin'); const TerserPlugin = require('terser-webpack-plugin'); -const ProvidePlugin = require('webpack/lib/ProvidePlugin'); +// const ProvidePlugin = require('webpack/lib/ProvidePlugin'); const path = require('path'); const fs = require('fs'); @@ -18,6 +18,9 @@ module.exports = { 'styles/lib': './styles/main.less', 'styles/lib.lite': './styles/main.lite.less', }, + externals: { + jquery: 'jQuery', + }, output: { path: path.join(__dirname, '/build/resources/main/assets/admin/common'), filename: './[name].js', @@ -70,11 +73,11 @@ module.exports = { ] }, plugins: [ - new ProvidePlugin({ - $: 'jquery', - jQuery: 'jquery', - 'window.jQuery': 'jquery' - }), + // new ProvidePlugin({ + // $: 'jquery', + // jQuery: 'jquery', + // 'window.jQuery': 'jquery' + // }), new MiniCssExtractPlugin({ filename: '[name].css', chunkFilename: './styles/[id].css'