From 9ad6e04cf4cd2df57ced6133e955ed75f0ccbb3c Mon Sep 17 00:00:00 2001 From: Charles Stover Date: Sat, 20 Jun 2020 19:05:07 -0700 Subject: [PATCH 1/2] Adds lodash as an explicit dependency. Using Yarn2, I get the following (valid) error: ``` Module not found: @aws-amplify/analytics tried to access lodash, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. ``` You can see imports from `lodash` in both of these files: * https://github.com/aws-amplify/amplify-js/blob/e85640a4e18fa1d55411038fee58919ad73121fa/packages/analytics/src/Providers/AmazonPersonalizeHelper/SessionInfoManager.ts * https://github.com/aws-amplify/amplify-js/blob/e85640a4e18fa1d55411038fee58919ad73121fa/packages/analytics/src/Providers/AmazonPersonalizeProvider.ts --- packages/analytics/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 000c4de45c9..d0fbb75a79c 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -44,6 +44,7 @@ "@aws-sdk/client-personalize-events": "1.0.0-gamma.2", "@aws-sdk/client-pinpoint": "1.0.0-gamma.2", "@aws-sdk/util-utf8-browser": "1.0.0-gamma.1", + "lodash": "^4.17.15", "uuid": "^3.2.1" }, "jest": { From 55a382ac7ff6b90be0a7542850c6595e81f4d995 Mon Sep 17 00:00:00 2001 From: Alex Hinson Date: Thu, 20 Aug 2020 12:49:39 -0700 Subject: [PATCH 2/2] update lodash imports --- packages/analytics/package.json | 2 +- .../AmazonPersonalizeHelper/SessionInfoManager.ts | 7 ++++--- .../analytics/src/Providers/AmazonPersonalizeProvider.ts | 4 +++- packages/analytics/tsconfig.json | 3 ++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/analytics/package.json b/packages/analytics/package.json index d10a05c0537..52ef3f21a68 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -44,7 +44,7 @@ "@aws-sdk/client-personalize-events": "1.0.0-gamma.4", "@aws-sdk/client-pinpoint": "1.0.0-gamma.4", "@aws-sdk/util-utf8-browser": "1.0.0-gamma.3", - "lodash": "^4.17.15", + "lodash": "^4.17.20", "uuid": "^3.2.1" }, "jest": { diff --git a/packages/analytics/src/Providers/AmazonPersonalizeHelper/SessionInfoManager.ts b/packages/analytics/src/Providers/AmazonPersonalizeHelper/SessionInfoManager.ts index b4f1649a0a2..c761d098ed4 100644 --- a/packages/analytics/src/Providers/AmazonPersonalizeHelper/SessionInfoManager.ts +++ b/packages/analytics/src/Providers/AmazonPersonalizeHelper/SessionInfoManager.ts @@ -10,10 +10,11 @@ * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ -import { RequestParams, SessionInfo } from './DataType'; -import { isEmpty, isEqual } from 'lodash'; +import { SessionInfo } from './DataType'; +import isEmpty from 'lodash/isEmpty'; +import isEqual from 'lodash/isEqual'; import { v1 as uuid } from 'uuid'; -import { StorageHelper, ConsoleLogger as Logger, JS } from '@aws-amplify/core'; +import { ConsoleLogger as Logger, JS } from '@aws-amplify/core'; import Cache from '@aws-amplify/cache'; diff --git a/packages/analytics/src/Providers/AmazonPersonalizeProvider.ts b/packages/analytics/src/Providers/AmazonPersonalizeProvider.ts index d4eca40a9a9..b5756c9c58a 100644 --- a/packages/analytics/src/Providers/AmazonPersonalizeProvider.ts +++ b/packages/analytics/src/Providers/AmazonPersonalizeProvider.ts @@ -29,7 +29,9 @@ import { SessionInfoManager, MediaAutoTrack, } from './AmazonPersonalizeHelper'; -import { isEmpty, isEqual, get } from 'lodash'; +import get from 'lodash/get'; +import isEmpty from 'lodash/isEmpty'; +import isEqual from 'lodash/isEqual'; import { AnalyticsProvider } from '../types'; const logger = new Logger('AmazonPersonalizeProvider'); diff --git a/packages/analytics/tsconfig.json b/packages/analytics/tsconfig.json index ea0e0eafd7c..492956ced69 100755 --- a/packages/analytics/tsconfig.json +++ b/packages/analytics/tsconfig.json @@ -23,7 +23,8 @@ "../../node_modules/@types" ], // temporary fix - "types": ["node", "lodash"] + "types": ["node", "lodash"], + "esModuleInterop": true }, "include": [ "src/**/*"