@microsoft/omnichannel-chat-widget 0.1.0-main.488d6f1 → 0.1.0-main.4eb4d1f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +35 -11
  2. package/lib/cjs/common/Constants.js +52 -6
  3. package/lib/cjs/common/telemetry/TelemetryConstants.js +58 -6
  4. package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
  5. package/lib/cjs/common/telemetry/TelemetryManager.js +17 -6
  6. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  7. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  8. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +33 -13
  9. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +6 -5
  10. package/lib/cjs/common/utils.js +76 -2
  11. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  12. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +20 -4
  13. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +6 -42
  14. package/lib/cjs/components/footerstateful/FooterStateful.js +1 -2
  15. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
  16. package/lib/cjs/components/headerstateful/HeaderStateful.js +3 -9
  17. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +23 -0
  18. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  19. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +70 -0
  20. package/lib/cjs/components/livechatwidget/common/createAdapter.js +9 -1
  21. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +31 -30
  22. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -17
  23. package/lib/cjs/components/livechatwidget/common/endChat.js +94 -11
  24. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +1 -1
  25. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +35 -6
  26. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +115 -22
  27. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +6 -17
  28. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +6 -9
  29. package/lib/cjs/components/livechatwidget/common/shareObservable.js +45 -0
  30. package/lib/cjs/components/livechatwidget/common/startChat.js +169 -50
  31. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +233 -78
  32. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  33. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +5 -10
  34. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -3
  35. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +80 -0
  36. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  37. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  38. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  39. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  40. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  41. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  42. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  43. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  44. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  45. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  46. package/lib/cjs/contexts/common/ConversationState.js +3 -2
  47. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +9 -7
  48. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +8 -3
  49. package/lib/cjs/contexts/createReducer.js +16 -10
  50. package/lib/cjs/controller/componentController.js +3 -3
  51. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  52. package/lib/esm/common/Constants.js +48 -5
  53. package/lib/esm/common/telemetry/TelemetryConstants.js +54 -5
  54. package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
  55. package/lib/esm/common/telemetry/TelemetryManager.js +15 -6
  56. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  57. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  58. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +36 -14
  59. package/lib/esm/common/telemetry/loggers/consoleLogger.js +6 -5
  60. package/lib/esm/common/utils.js +55 -1
  61. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  62. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +22 -7
  63. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +6 -37
  64. package/lib/esm/components/footerstateful/FooterStateful.js +1 -2
  65. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  66. package/lib/esm/components/headerstateful/HeaderStateful.js +3 -9
  67. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +14 -0
  68. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  69. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +59 -0
  70. package/lib/esm/components/livechatwidget/common/createAdapter.js +9 -2
  71. package/lib/esm/components/livechatwidget/common/createMarkdown.js +31 -30
  72. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -18
  73. package/lib/esm/components/livechatwidget/common/endChat.js +91 -13
  74. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +1 -1
  75. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +30 -7
  76. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +104 -22
  77. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +5 -14
  78. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +6 -9
  79. package/lib/esm/components/livechatwidget/common/shareObservable.js +38 -0
  80. package/lib/esm/components/livechatwidget/common/startChat.js +166 -52
  81. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +219 -78
  82. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  83. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +7 -11
  84. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +20 -4
  85. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +72 -0
  86. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  87. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  88. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  89. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  90. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  91. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  92. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  93. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  94. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  95. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  96. package/lib/esm/contexts/common/ConversationState.js +3 -2
  97. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +9 -7
  98. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +8 -3
  99. package/lib/esm/contexts/createReducer.js +16 -9
  100. package/lib/esm/controller/componentController.js +3 -3
  101. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  102. package/lib/types/common/Constants.d.ts +26 -2
  103. package/lib/types/common/interfaces/IContextDataStore.d.ts +2 -2
  104. package/lib/types/common/telemetry/TelemetryConstants.d.ts +42 -4
  105. package/lib/types/common/telemetry/TelemetryHelper.d.ts +3 -1
  106. package/lib/types/common/telemetry/definitions/Payload.d.ts +12 -9
  107. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +3 -3
  108. package/lib/types/common/utils.d.ts +7 -1
  109. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +4 -4
  110. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  111. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +1 -1
  112. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  113. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  114. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  115. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  116. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  117. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  118. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  119. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  120. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +1 -1
  121. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  122. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -1
  123. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  124. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  125. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  126. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  127. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  128. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +1 -2
  129. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.d.ts +1 -1
  130. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  131. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  132. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  133. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  134. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  135. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +2 -1
  136. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +10 -8
  137. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  138. package/package.json +9 -11
@@ -1,3 +1,4 @@
1
+ import { IBotMagicCodeConfig } from "./IBotMagicCodeConfig";
1
2
  import { ILiveChatWidgetLocalizedTexts } from "../../../contexts/common/ILiveChatWidgetLocalizedTexts";
2
3
  import { IRenderingMiddlewareProps } from "./IRenderingMiddlewareProps";
3
4
  import { IStyle } from "@fluentui/react";
@@ -13,4 +14,5 @@ export interface IWebChatContainerStatefulProps {
13
14
  storeMiddlewares?: any[];
14
15
  renderingMiddlewareProps?: IRenderingMiddlewareProps;
15
16
  localizedTexts?: ILiveChatWidgetLocalizedTexts;
17
+ botMagicCode?: IBotMagicCodeConfig;
16
18
  }
@@ -0,0 +1,3 @@
1
+ export declare class BotMagicCodeStore {
2
+ static botOAuthSignInId: string;
3
+ }
@@ -5,7 +5,6 @@
5
5
  * 1. Renders system messages differently, according to Microsoft LiveChatWidget styles
6
6
  * 2. Changes the font size of user messages
7
7
  * 3. Decodes certain html characters that came through from chat services
8
- * 4. Triggers end conversation sequence when the chat thread is deleted
9
8
  ******/
10
9
  import React from "react";
11
- export declare const createActivityMiddleware: (systemMessageStyleProps?: React.CSSProperties | undefined, userMessageStyleProps?: React.CSSProperties | undefined) => () => (next: any) => (...args: any) => any;
10
+ export declare const createActivityMiddleware: (systemMessageStyleProps?: React.CSSProperties, userMessageStyleProps?: React.CSSProperties) => () => (next: any) => (...args: any) => any;
@@ -5,4 +5,4 @@
5
5
  * 1. Renders the first two letters of the sender as the profile pic
6
6
  ******/
7
7
  import React from "react";
8
- export declare const createAvatarMiddleware: (avatarStyleProps?: React.CSSProperties | undefined, avatarTextStyleProps?: React.CSSProperties | undefined) => () => (next: any) => (args_0: any) => false | (() => JSX.Element);
8
+ export declare const createAvatarMiddleware: (avatarStyleProps?: React.CSSProperties, avatarTextStyleProps?: React.CSSProperties) => () => (next: any) => (args_0: any) => false | (() => JSX.Element);
@@ -0,0 +1,2 @@
1
+ import { IBotMagicCodeConfig } from "../../../interfaces/IBotMagicCodeConfig";
2
+ export declare const createCardActionMiddleware: (botMagicCodeConfig: IBotMagicCodeConfig | undefined) => () => (next: any) => (...args: any) => any;
@@ -0,0 +1,5 @@
1
+ import { IWebChatAction } from "../../../interfaces/IWebChatAction";
2
+ declare const createMessageTimeStampMiddleware: ({ dispatch }: {
3
+ dispatch: any;
4
+ }) => (next: any) => (action: IWebChatAction) => any;
5
+ export default createMessageTimeStampMiddleware;
@@ -0,0 +1 @@
1
+ export declare function createWebChatTelemetry(): (event: any) => void;
@@ -6,6 +6,7 @@ export declare enum ConversationState {
6
6
  ProactiveChat = 4,
7
7
  Active = 5,
8
8
  InActive = 6,
9
- Postchat = 7,
10
- Closed = 8
9
+ PostchatLoading = 7,
10
+ Postchat = 8,
11
+ Closed = 9
11
12
  }
@@ -15,13 +15,14 @@ export interface ILiveChatWidgetContext {
15
15
  telemetryInternalData: IInternalTelemetryData;
16
16
  globalDir: "rtl" | "ltr";
17
17
  liveChatContext: any;
18
+ customContext: any;
19
+ widgetSize: any;
18
20
  };
19
21
  appStates: {
20
22
  conversationState: ConversationState;
21
23
  isMinimized: boolean;
22
24
  previousElementOnFocusBeforeModalOpen: HTMLElement | null;
23
25
  outsideOperatingHours: boolean;
24
- shouldShowPostChat: boolean;
25
26
  preChatResponseEmail: string;
26
27
  isAudioMuted: boolean | null;
27
28
  newMessage: boolean;
@@ -8,13 +8,13 @@ export declare enum LiveChatWidgetActionType {
8
8
  SET_PREVIOUS_FOCUSED_ELEMENT = 6,
9
9
  SET_OUTSIDE_OPERATING_HOURS = 7,
10
10
  SET_PRE_CHAT_SURVEY_RESPONSE = 8,
11
- SET_SHOW_CONFIRMATION = 9,
12
- SET_SHOW_EMAIL_TRANSCRIPT_PANE = 10,
13
- SET_PRECHAT_RESPONSE_EMAIL = 11,
14
- SET_AUDIO_NOTIFICATION = 12,
15
- SET_E2VV_ENABLED = 13,
16
- SET_POST_CHAT_CONTEXT = 14,
17
- SET_SHOULD_SHOW_POST_CHAT = 15,
11
+ SET_CUSTOM_CONTEXT = 9,
12
+ SET_SHOW_CONFIRMATION = 10,
13
+ SET_SHOW_EMAIL_TRANSCRIPT_PANE = 11,
14
+ SET_PRECHAT_RESPONSE_EMAIL = 12,
15
+ SET_AUDIO_NOTIFICATION = 13,
16
+ SET_E2VV_ENABLED = 14,
17
+ SET_POST_CHAT_CONTEXT = 15,
18
18
  SHOW_CALLING_CONTAINER = 16,
19
19
  SET_INCOMING_CALL = 17,
20
20
  DISABLE_VIDEO_CALL = 18,
@@ -29,5 +29,7 @@ export declare enum LiveChatWidgetActionType {
29
29
  SET_FOCUS_CHAT_BUTTON = 27,
30
30
  SET_CONVERSATION_ENDED_BY_AGENT = 28,
31
31
  SET_WIDGET_STATE = 29,
32
- SET_LIVE_CHAT_CONTEXT = 30
32
+ SET_LIVE_CHAT_CONTEXT = 30,
33
+ SET_BOT_OAUTH_SIGNIN_ID = 31,
34
+ SET_WIDGET_SIZE = 32
33
35
  }
@@ -0,0 +1,2 @@
1
+ import { IActivity } from "botframework-directlinejs";
2
+ export declare const createOnNewAdapterActivityHandler: (chatId: string, userId: string) => (activity: IActivity) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-widget",
3
- "version": "0.1.0-main.488d6f1",
3
+ "version": "0.1.0-main.4eb4d1f",
4
4
  "description": "Microsoft Omnichannel Chat Widget",
5
5
  "main": "lib/cjs/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -16,7 +16,8 @@
16
16
  "import": "./lib/esm/index.js",
17
17
  "require": "./lib/cjs/index.js",
18
18
  "types": "./lib/types/index.d.ts"
19
- }
19
+ },
20
+ "./package.json": "./package.json"
20
21
  },
21
22
  "devDependencies": {
22
23
  "@babel/core": "^7.15.8",
@@ -71,13 +72,9 @@
71
72
  "webpack": "^4.44.2",
72
73
  "webpack-cli": "^4.9.2"
73
74
  },
74
- "peerDependencies": {
75
- "react": "^16.14.0",
76
- "react-dom": "^16.14.0"
77
- },
78
75
  "dependencies": {
79
76
  "@fluentui/react": "^8.49.1",
80
- "@microsoft/omnichannel-chat-components": "0.1.0-main.2eda736",
77
+ "@microsoft/omnichannel-chat-components": "0.1.0-main.7a911ca",
81
78
  "@microsoft/omnichannel-chat-sdk": "1.0.1-main.077d17c",
82
79
  "abort-controller-es5": "^2.0.1",
83
80
  "dompurify": "^2.3.4",
@@ -91,19 +88,20 @@
91
88
  "compose-storybook": "start-storybook -c stories/.storybook -p 9009",
92
89
  "build-composite-storybook": "build-storybook -c stories/.storybook -o storybook-build",
93
90
  "build-storybook": "build-storybook",
94
- "build": "yarn eslint . && yarn build:esm && yarn copy:esm && yarn build:cjs && yarn copy:cjs && tsc",
91
+ "build": "yarn lint && yarn build:esm && yarn build:cjs && tsc",
95
92
  "test:unit": "jest -c jest.config.unit.cjs --env=jsdom --runInBand --force-exit",
93
+ "test:e2e": "cd automation_tests && yarn test",
94
+ "test:e2e:build": "yarn build-sample && cd automation_tests && yarn test",
96
95
  "test:visual": "jest -c jest.config.visual.cjs",
97
96
  "test:all": "yarn test:unit && yarn test:visual",
98
97
  "build:esm": "babel ./src --config-file ./babel.esm.config.json --out-dir lib/esm --extensions .ts,.js,.tsx --ignore **/*.test.ts,**/*.stories.tsx,**/*.test.tsx",
99
98
  "build:cjs": "babel ./src --config-file ./babel.config.json --out-dir lib/cjs --extensions .ts,.js,.tsx --ignore **/*.test.ts,**/*.stories.tsx,**/*.test.tsx",
100
- "copy:cjs": "copyfiles -u 2 src/assets/audios/* lib/cjs/assets && copyfiles -u 2 src/assets/icons/* lib/cjs/assets",
101
- "copy:esm": "copyfiles -u 2 src/assets/audios/* lib/esm/assets && copyfiles -u 2 src/assets/icons/* lib/esm/assets",
102
99
  "verify": "yarn install && yarn build-storybook && yarn test:all && yarn build && yarn storybook",
103
100
  "testpack": "yarn build && yarn pack",
104
101
  "build-sample": "yarn build && webpack --config ./webpack.config.cjs",
105
102
  "build-sample:dev": "yarn build && webpack --config ./webpack.dev.config.cjs",
106
- "test:visual:build": "yarn build-storybook && yarn test:visual"
103
+ "test:visual:build": "yarn build-storybook && yarn test:visual",
104
+ "lint": "yarn eslint ."
107
105
  },
108
106
  "resolutions": {
109
107
  "**/url-parse": "1.5.9",