From 3b3136cd158cce7d9c8b38041f5cda6154417444 Mon Sep 17 00:00:00 2001 From: "krzysztof.krzeszewski" Date: Wed, 29 Mar 2023 15:49:48 +0200 Subject: [PATCH 1/2] feat(direct-lodash-imports): converted lodash library dependency into used methods dependencies --- package.json | 10 ++++- src/misc/arrayHelpers.ts | 3 +- src/misc/translate-from-firestore.ts | 3 +- src/providers/database/FireClient.ts | 3 +- yarn.lock | 63 +++++++++++++++++++++++----- 5 files changed, 67 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index fb697fa..dbeffe0 100644 --- a/package.json +++ b/package.json @@ -10,14 +10,20 @@ "react-router-dom": "5.x || 6.x" }, "dependencies": { - "lodash": "4.x", + "lodash.get": "4.x", + "lodash.has": "4.x", + "lodash.set": "4.x", + "lodash.isempty": "4.x", "path-browserify": "^1.0.0", "rxjs": "^6.5.x" }, "devDependencies": { "@firebase/rules-unit-testing": "^2.0.2", "@types/jest": "^24.0.13", - "@types/lodash": "^4.14.150", + "@types/lodash.get": "^4.4.7", + "@types/lodash.has": "^4.5.7", + "@types/lodash.set": "^4.3.7", + "@types/lodash.isempty": "^4.4.7", "@types/node": "^10.9.4", "@types/react": "^18.0.9", "@types/react-router-dom": "^5.3.3", diff --git a/src/misc/arrayHelpers.ts b/src/misc/arrayHelpers.ts index fe646a2..b721606 100644 --- a/src/misc/arrayHelpers.ts +++ b/src/misc/arrayHelpers.ts @@ -1,4 +1,5 @@ -import { get, isEmpty } from 'lodash'; +import get from 'lodash.get'; +import isEmpty from 'lodash.isEmpty'; import { getFieldReferences, SearchObj } from './objectFlatten'; export function sortArray( diff --git a/src/misc/translate-from-firestore.ts b/src/misc/translate-from-firestore.ts index 40a450d..e6e048d 100644 --- a/src/misc/translate-from-firestore.ts +++ b/src/misc/translate-from-firestore.ts @@ -1,5 +1,6 @@ import { getDownloadURL, ref } from 'firebase/storage'; -import { has, set } from 'lodash'; +import has from 'lodash.has'; +import set from 'lodash.set'; import { IFirebaseWrapper } from 'providers/database'; import { FireStoreDocumentRef } from './firebase-models'; import { REF_INDENTIFIER } from './internal.models'; diff --git a/src/providers/database/FireClient.ts b/src/providers/database/FireClient.ts index 4589ef7..0b42c7a 100644 --- a/src/providers/database/FireClient.ts +++ b/src/providers/database/FireClient.ts @@ -1,5 +1,6 @@ import { doc } from 'firebase/firestore'; -import { get, set } from 'lodash'; +import get from 'lodash.get'; +import set from 'lodash.set'; import { AddCreatedByFields, AddUpdatedByFields, diff --git a/yarn.lock b/yarn.lock index 5a93e57..28a336e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1834,10 +1834,38 @@ resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.2.tgz#fd2cd2edbaa7eaac7e7f3c1748b52a19143846c9" integrity sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA== -"@types/lodash@^4.14.150": - version "4.14.191" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== +"@types/lodash.get@^4.14.150": + version "4.4.7" + resolved "https://registry.yarnpkg.com/@types/lodash.get/-/lodash.get-4.4.7.tgz#1ea63d8b94709f6bc9e231f252b31440abe312cf" + integrity sha512-af34Mj+KdDeuzsJBxc/XeTtOx0SZHZNLd+hdrn+PcKGQs0EG2TJTzQAOTCZTgDJCArahlCzLWSy8c2w59JRz7Q== + dependencies: + "@types/lodash" "*" + +"@types/lodash.has@^4.14.150": + version "4.5.7" + resolved "https://registry.yarnpkg.com/@types/lodash.has/-/lodash.has-4.5.7.tgz#9e1c3da3ee67f68fadc3d168ffdf8e11a3f3ccd3" + integrity sha512-nfbAzRbsZBdzSAkL9iiLy4SQk89uuFcXBFwZ7pf6oZhBgPvNys8BY5Twp/w8XvZKGt1o6cAa85wX4QhqO3uQ7A== + dependencies: + "@types/lodash" "*" + +"@types/lodash.isempty@^4.14.150": + version "4.4.7" + resolved "https://registry.yarnpkg.com/@types/lodash.isempty/-/lodash.isempty-4.4.7.tgz#b1015d1adba560daf560ad04f294848939e75317" + integrity sha512-YOzlpoIn9jrfHzjIukKnu9Le3tmi+0PhUdOt2rMpJW/4J6jX7s0HeBatXdh9QckLga8qt4EKBxVIEqtEq6pzLg== + dependencies: + "@types/lodash" "*" + +"@types/lodash.set@^4.14.150": + version "4.3.7" + resolved "https://registry.yarnpkg.com/@types/lodash.set/-/lodash.set-4.3.7.tgz#784fccea3fbef4d0949d1897a780f592da700942" + integrity sha512-bS5Wkg/nrT82YUfkNYPSccFrNZRL+irl7Yt4iM6OTSQ0VZJED2oUIVm15NkNtUAQ8SRhCe+axqERUV6MJgkeEg== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": + version "4.14.192" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.192.tgz#5790406361a2852d332d41635d927f1600811285" + integrity sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A== "@types/long@^4.0.0", "@types/long@^4.0.1": version "4.0.2" @@ -7455,6 +7483,21 @@ lodash.flatten@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== +lodash.get@4.x: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.has@4.x: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" + integrity sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g== + +lodash.isempty@4.x: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + integrity sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg== + lodash.isobject@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5" @@ -7477,6 +7520,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.set@4.x: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== + lodash.snakecase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" @@ -7497,7 +7545,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@4.x, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@~4.17.5: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@~4.17.5: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9037,11 +9085,6 @@ prettier-plugin-organize-imports@^3.2.2: resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.2.tgz#91993365e017daa5d0d28d8183179834224d8dd1" integrity sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA== -prettier-plugin-organize-imports@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.2.tgz#91993365e017daa5d0d28d8183179834224d8dd1" - integrity sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA== - prettier@^2.8.3: version "2.8.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" From 28773bf102644083dd284085a379d4973ebc5cda Mon Sep 17 00:00:00 2001 From: "krzysztof.krzeszewski" Date: Wed, 29 Mar 2023 15:54:45 +0200 Subject: [PATCH 2/2] fix(direct-lodash-imports): updated import casing to work in all environments --- src/misc/arrayHelpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/misc/arrayHelpers.ts b/src/misc/arrayHelpers.ts index b721606..6ea8127 100644 --- a/src/misc/arrayHelpers.ts +++ b/src/misc/arrayHelpers.ts @@ -1,5 +1,5 @@ import get from 'lodash.get'; -import isEmpty from 'lodash.isEmpty'; +import isEmpty from 'lodash.isempty'; import { getFieldReferences, SearchObj } from './objectFlatten'; export function sortArray(