@subiz/widget-v4 4.1.178 → 4.1.184
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.
- package/assets/less/base.less +28 -0
- package/assets/less/chatbox.less +4 -0
- package/assets/less/message.less +0 -8
- package/assets/less/widget.less +197 -2
- package/assets/less/widget_header.less +2 -1
- package/chat.js +0 -1
- package/compiled_src/chatbox/ChatButton.js +183 -82
- package/compiled_src/chatbox/Widget.js +2 -1
- package/compiled_src/chatbox/main.js +44 -53
- package/compiled_src/store/store.js +40 -17
- package/package.json +5 -5
- package/src/chatbox/ChatButton.js +197 -77
- package/src/chatbox/Widget.js +4 -2
- package/src/chatbox/main.js +30 -52
- package/src/store/store.js +56 -18
- package/dist/127.js +0 -273
- package/dist/132.js +0 -2802
- package/dist/185.js +0 -1827
- package/dist/1991cfb4656.127.js +0 -1
- package/dist/1991cfb4656.132.js +0 -1
- package/dist/1991cfb4656.185.js +0 -1
- package/dist/1991cfb4656.27.js +0 -1
- package/dist/1991cfb4656.278.js +0 -1
- package/dist/1991cfb4656.339.js +0 -1
- package/dist/1991cfb4656.459.js +0 -1
- package/dist/1991cfb4656.490.js +0 -1
- package/dist/1991cfb4656.74.js +0 -1
- package/dist/1991cfb4656.997.js +0 -1
- package/dist/1991cfb4656.app.js +0 -1
- package/dist/1991cfb4656.chat.html +0 -1
- package/dist/1991cfb4656.chat.js +0 -1
- package/dist/1991cfb4656.form.html +0 -1
- package/dist/1991cfb4656.form.js +0 -1
- package/dist/1991cfb4656.index.html +0 -72
- package/dist/1991cfb4656.library.html +0 -72
- package/dist/1991cfb4656.library.js +0 -1
- package/dist/1991cfb4656.preview.html +0 -759
- package/dist/1991cfb4656.preview.js +0 -1
- package/dist/1991cfb4656.webview.js +0 -1
- package/dist/27.js +0 -107
- package/dist/278.js +0 -417
- package/dist/459.js +0 -107
- package/dist/490.js +0 -305
- package/dist/74.js +0 -372
- package/dist/997.js +0 -107
- package/dist/HASH +0 -1
- package/dist/assets/img/Facebook.64607ec.png +0 -0
- package/dist/assets/img/Zalo.6845707.png +0 -0
- package/dist/assets/img/award1a.1a58e10.png +0 -0
- package/dist/assets/img/award3a.3b74423.png +0 -0
- package/dist/assets/img/award4a.ed6ccd4.png +0 -0
- package/dist/assets/img/award5.39eb7ae.png +0 -0
- package/dist/assets/img/bubble_default.7d5e4ab.svg +0 -20
- package/dist/assets/img/caret.998eb8f.svg +0 -1
- package/dist/assets/img/convos_empty.2353007.svg +0 -72
- package/dist/assets/img/default.06e6ee0.jpg +0 -0
- package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
- package/dist/assets/img/done_gray.d7e8203.svg +0 -4
- package/dist/assets/img/done_green.b817fd4.svg +0 -4
- package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
- package/dist/assets/img/empty.29bed2d.svg +0 -23
- package/dist/assets/img/empty_1.0b98af0.svg +0 -11
- package/dist/assets/img/examplte_logo.f86535f.svg +0 -1
- package/dist/assets/img/external-link.90577cc.svg +0 -1
- package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
- package/dist/assets/img/ghn.070f8e3.svg +0 -17
- package/dist/assets/img/ghtk.326eac1.svg +0 -18
- package/dist/assets/img/image_default.be0698b.png +0 -0
- package/dist/assets/img/info.ebce7ea.svg +0 -1
- package/dist/assets/img/loader.37000a7.svg +0 -1
- package/dist/assets/img/loading_static.a27f0ac.svg +0 -10
- package/dist/assets/img/main-service1.d536cc2.png +0 -0
- package/dist/assets/img/main-service2.9b99549.png +0 -0
- package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
- package/dist/assets/img/package.8d37d0f.svg +0 -5
- package/dist/assets/img/package_fade.763c001.svg +0 -1
- package/dist/assets/img/rating--average.1ea492c.svg +0 -12
- package/dist/assets/img/rating--great.e3d712e.svg +0 -16
- package/dist/assets/img/rating--poor.2938a25.svg +0 -12
- package/dist/assets/img/search.f9705ff.svg +0 -1
- package/dist/assets/img/send.6db52a9.svg +0 -3
- package/dist/assets/img/shop.f7dc7d8.svg +0 -1
- package/dist/assets/img/shop_faded.df7845a.svg +0 -1
- package/dist/assets/img/stars_v2.79cf728.png +0 -0
- package/dist/assets/img/subiz-mono.8fbc067.svg +0 -3
- package/dist/assets/img/x.26fdfa3.svg +0 -5
- package/dist/malicious-app.js +0 -17
- package/dist/screenshoot.html +0 -7
- package/dist/screenshoot.js +0 -11988
|
@@ -250,8 +250,9 @@ class Widget extends _common.Com {
|
|
|
250
250
|
let $body = null;
|
|
251
251
|
if (this.props.view === 'list') $body = this.renderConvoList();else if (showform) $body = this.renderForm(form, submitLabel, formName);else $body = this.renderChat();
|
|
252
252
|
let position = _index.default.get(accountSetting, 'desktop_button.position') || 'right';
|
|
253
|
-
if (this.props.store.isMobile()) position = _index.default.get(accountSetting, 'mobile_button.position', position);
|
|
253
|
+
if (this.props.store.isMobile() || this.props.store.isEmbededChatMode()) position = _index.default.get(accountSetting, 'mobile_button.position', position);
|
|
254
254
|
let cls = 'widget-container widget-container--' + position;
|
|
255
|
+
if (this.props.store.isEmbededChatMode()) cls += ' embed-chat';
|
|
255
256
|
if (!this.props.store.isMobile() && _index.default.get(accountSetting, 'window_mode') === 'full') cls += ' widget-container--full';
|
|
256
257
|
if (!this.props.isShow) cls += ' widget-container--hide';
|
|
257
258
|
let hideheader = _index.default.get(accountSetting, 'header.hidden', false);
|
|
@@ -40,10 +40,7 @@ class Main extends _common.Com {
|
|
|
40
40
|
this.$cssStyleDiv.id = 'subiz-style-for-' + this.props.plugin.id;
|
|
41
41
|
}
|
|
42
42
|
this.setState({
|
|
43
|
-
cssReady: false
|
|
44
|
-
isShowWidget: false,
|
|
45
|
-
widgetView: '',
|
|
46
|
-
widgetConvoId: ''
|
|
43
|
+
cssReady: false
|
|
47
44
|
});
|
|
48
45
|
this.checkExpand();
|
|
49
46
|
this.props.store.onResetCSS(this, () => this.refreshCSS());
|
|
@@ -59,15 +56,6 @@ class Main extends _common.Com {
|
|
|
59
56
|
this.setState({
|
|
60
57
|
cssReady: true
|
|
61
58
|
});
|
|
62
|
-
if (this.props.store.matchIsOpen() && this.props.store.matchLastview().view) {
|
|
63
|
-
if (this.props.store.isMobile()) return;
|
|
64
|
-
this.showWidget(Object.assign({}, this.props.store.matchLastview().opts, {
|
|
65
|
-
view: this.props.store.matchLastview().view
|
|
66
|
-
}));
|
|
67
|
-
} else {
|
|
68
|
-
restoreViewport();
|
|
69
|
-
if (!this.state.isShowWidget) this.hideWidget();
|
|
70
|
-
}
|
|
71
59
|
}
|
|
72
60
|
render() {
|
|
73
61
|
if (!this.state.cssReady) {
|
|
@@ -83,22 +71,27 @@ class Main extends _common.Com {
|
|
|
83
71
|
return null;
|
|
84
72
|
}
|
|
85
73
|
if (typeof sbz_info != 'undefined') sbz_info.render_chatbox_main = _index.default.Date.now();
|
|
74
|
+
let lastview = this.props.store.matchLastview() || {};
|
|
75
|
+
let isShowWidget = lastview.screen === 'widget';
|
|
76
|
+
let widgetView = lastview.view;
|
|
77
|
+
let widgetConvoId = _index.default.get(lastview, 'opts.cid');
|
|
86
78
|
return (0, _preact.h)("div", {
|
|
87
|
-
class: this.props.store.isMobile() ? 'mobile' : 'desktop'
|
|
79
|
+
class: this.props.store.isMobile() || this.props.store.isEmbededChatMode() ? 'mobile' : 'desktop'
|
|
88
80
|
}, (0, _preact.h)(_ChatButton.default, {
|
|
89
81
|
plugin: this.props.plugin,
|
|
90
82
|
store: this.props.store,
|
|
91
83
|
key: "chat_button",
|
|
92
84
|
ref: this.refButton,
|
|
93
|
-
isShow: !
|
|
85
|
+
isShow: !isShowWidget,
|
|
94
86
|
onClick: e => this.showWidget(e),
|
|
87
|
+
onSelectQuickReply: msg => this.onSelectQuickReply(msg),
|
|
95
88
|
t: this.props.t
|
|
96
89
|
}), (0, _preact.h)(_Widget.default, {
|
|
97
90
|
plugin: this.props.plugin,
|
|
98
91
|
store: this.props.store,
|
|
99
|
-
view:
|
|
100
|
-
cid:
|
|
101
|
-
isShow:
|
|
92
|
+
view: widgetView,
|
|
93
|
+
cid: widgetConvoId,
|
|
94
|
+
isShow: isShowWidget,
|
|
102
95
|
onClose: a => this.onWidgetClose(a),
|
|
103
96
|
onGo: a => this.showWidget(a),
|
|
104
97
|
t: this.props.t,
|
|
@@ -114,7 +107,8 @@ class Main extends _common.Com {
|
|
|
114
107
|
if (!$widget) return;
|
|
115
108
|
if ($widget.wasFormInputed) return;
|
|
116
109
|
if (ev.type !== 'message_sent') return;
|
|
117
|
-
|
|
110
|
+
let isShowWidget = _index.default.get(this.props.store.matchLastview(), 'screen') === 'widget';
|
|
111
|
+
if (!isShowWidget) return;
|
|
118
112
|
let byType = _index.default.get(ev, 'by.type');
|
|
119
113
|
let byid = _index.default.get(ev, 'by.id') || '';
|
|
120
114
|
if (!byid.startsWith('bb') || byType !== 'agent') return;
|
|
@@ -128,49 +122,48 @@ class Main extends _common.Com {
|
|
|
128
122
|
checkExpand() {
|
|
129
123
|
if (this.props.store.isMobile()) return;
|
|
130
124
|
if (this.props.plugin._no_auto_expand) return;
|
|
131
|
-
|
|
125
|
+
return;
|
|
132
126
|
let convoM = this.props.store.matchConvo('*');
|
|
133
127
|
let redconvo = _index.default.find(convoM, convo => !_index.default.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
134
128
|
if (!redconvo || !redconvo.id) return;
|
|
135
|
-
|
|
129
|
+
let isShowWidget = _index.default.get(this.props.store.matchLastview(), 'screen') === 'widget';
|
|
130
|
+
if (!isShowWidget) this.showWidget({
|
|
136
131
|
view: 'chat',
|
|
137
132
|
cid: redconvo.id
|
|
138
133
|
});
|
|
139
134
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
135
|
+
onSelectQuickReply(message) {
|
|
136
|
+
this.showWidget({
|
|
137
|
+
view: 'chat',
|
|
138
|
+
cid: message.conversation_id
|
|
139
|
+
});
|
|
140
|
+
this.forceUpdate(() => {
|
|
141
|
+
this.refWidget.current && this.refWidget.current.sendMessage(message);
|
|
142
|
+
});
|
|
146
143
|
}
|
|
147
144
|
async showWidget(p) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
p.
|
|
153
|
-
|
|
154
|
-
|
|
145
|
+
let cid = p.cid;
|
|
146
|
+
let newView = {
|
|
147
|
+
screen: 'widget',
|
|
148
|
+
minimized: 0,
|
|
149
|
+
view: p.view,
|
|
150
|
+
previewEvent: {},
|
|
151
|
+
opts: {
|
|
152
|
+
cid
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
155
|
if (!p.view && !p.cid) {
|
|
156
156
|
let convoM = this.props.store.matchConvo('*');
|
|
157
157
|
let redconvo = _index.default.find(convoM, convo => !_index.default.isConvoSeen(convo, this.props.store.matchUser().id));
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
cid = _index.default.get(redconvo, 'id', _index.default.get(convoM, '0.id'));
|
|
159
|
+
newView.view = 'chat';
|
|
160
|
+
newView.opts = {
|
|
161
|
+
cid
|
|
162
|
+
};
|
|
160
163
|
}
|
|
161
164
|
if (this.props.store.isMobile()) modifyViewport();
|
|
162
|
-
this.
|
|
163
|
-
widgetConvoId: p.cid,
|
|
164
|
-
widgetView: p.view
|
|
165
|
-
});
|
|
166
|
-
this.props.store.setIsOpen(true);
|
|
165
|
+
this.props.store.updateLastview(newView);
|
|
167
166
|
this.forceUpdate();
|
|
168
|
-
this.setState({
|
|
169
|
-
isShowWidget: true
|
|
170
|
-
});
|
|
171
|
-
this.props.store.setLastview(p.view, {
|
|
172
|
-
cid: p.cid
|
|
173
|
-
});
|
|
174
167
|
}
|
|
175
168
|
applyMessage(text) {
|
|
176
169
|
this.refWidget.current && this.refWidget.current.applyMessage(text);
|
|
@@ -186,15 +179,13 @@ class Main extends _common.Com {
|
|
|
186
179
|
}
|
|
187
180
|
hideWidget() {
|
|
188
181
|
restoreViewport();
|
|
189
|
-
this.props.store.
|
|
190
|
-
|
|
191
|
-
|
|
182
|
+
this.props.store.updateLastview({
|
|
183
|
+
screen: 'button',
|
|
184
|
+
previewEvent: {}
|
|
192
185
|
});
|
|
186
|
+
this.forceUpdate();
|
|
193
187
|
}
|
|
194
188
|
onWidgetClose() {
|
|
195
|
-
this.refButton.current && this.refButton.current.ClearPreview();
|
|
196
|
-
this.refButton.current && this.refButton.current.ClosePreview();
|
|
197
|
-
this.props.store.setHasManuallyClosed();
|
|
198
189
|
this.hideWidget();
|
|
199
190
|
this.props.store.emitCloseWidgetEvent();
|
|
200
191
|
}
|
|
@@ -50,6 +50,24 @@ class Store {
|
|
|
50
50
|
return unreadcount;
|
|
51
51
|
});
|
|
52
52
|
_defineProperty(this, "matchPlugin", () => {
|
|
53
|
+
if (this.is_embed_chat_mode) {
|
|
54
|
+
let pluginM = this.cache.match('plugin');
|
|
55
|
+
if (_index.default.size(this.forcePlugins) > 0) pluginM = this.forcePlugins;
|
|
56
|
+
let chatboxs = _index.default.filter(pluginM, (plugin, id) => plugin && plugin.type === 'chatbox');
|
|
57
|
+
if (_index.default.size(chatboxs) === 0) {
|
|
58
|
+
console.error('no chatbox found.');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
let chatbox = _index.default.find(chatboxs, chatbox => !!chatbox);
|
|
62
|
+
if (!chatbox) {
|
|
63
|
+
chatbox = chatboxs[0];
|
|
64
|
+
}
|
|
65
|
+
chatbox = _index.default.cloneDeep(chatbox);
|
|
66
|
+
chatbox.triggers = undefined;
|
|
67
|
+
return {
|
|
68
|
+
[chatbox.id]: chatbox
|
|
69
|
+
};
|
|
70
|
+
}
|
|
53
71
|
if (_index.default.size(this.forcePlugins) > 0) return _index.default.cloneDeep(this.forcePlugins);
|
|
54
72
|
return _index.default.cloneDeep(this.cache.match('plugin')) || {};
|
|
55
73
|
});
|
|
@@ -137,12 +155,21 @@ class Store {
|
|
|
137
155
|
_defineProperty(this, "matchLastview", () => {
|
|
138
156
|
let lastView = this.kv.match('lastview') || {};
|
|
139
157
|
let user = this.cache.match('user') || {};
|
|
140
|
-
if (!user.id) return {
|
|
141
|
-
|
|
158
|
+
if (!user.id) return {
|
|
159
|
+
screen: 'preview'
|
|
160
|
+
};
|
|
161
|
+
if (lastView.user_id != user.id) return {
|
|
162
|
+
screen: 'preview'
|
|
163
|
+
};
|
|
164
|
+
if (!lastView.screen) {
|
|
165
|
+
lastView.screen = 'preview';
|
|
166
|
+
if (lastView.view === 'list' || lastView.view === 'chat') {
|
|
167
|
+
lastView.screen = 'widget';
|
|
168
|
+
}
|
|
169
|
+
}
|
|
142
170
|
return lastView;
|
|
143
171
|
});
|
|
144
172
|
_defineProperty(this, "matchIsOpen", () => !!this.kv.match('isopen'));
|
|
145
|
-
_defineProperty(this, "matchHasManuallyClosed", () => !!this.kv.match('hasManuallyClosed'));
|
|
146
173
|
_defineProperty(this, "matchClosePreviewAt", () => this.kv.match('close_preview_at') || 0);
|
|
147
174
|
_defineProperty(this, "checkFormToken", (accid, token) => this.api.checkFormToken(accid, token));
|
|
148
175
|
_defineProperty(this, "submitForm2", (accid, token, data) => this.api.submitForm2(accid, token, data));
|
|
@@ -176,24 +203,20 @@ class Store {
|
|
|
176
203
|
_defineProperty(this, "onConnection", (o, cb) => this.pubsub.on2(o, 'connection', cb));
|
|
177
204
|
_defineProperty(this, "onResetCSS", (o, cb) => this.pubsub.on2(o, 'resetCSS', cb));
|
|
178
205
|
_defineProperty(this, "onHighlight", (o, cb) => this.pubsub.on2(o, 'highlight', cb));
|
|
179
|
-
_defineProperty(this, "setHasManuallyClosed", () => this.kv.put('hasManuallyClosed', true));
|
|
180
|
-
_defineProperty(this, "setIsOpen", isopen => {
|
|
181
|
-
let lastisopen = this.kv.match('isopen');
|
|
182
|
-
this.kv.put('isopen', isopen);
|
|
183
|
-
if (!lastisopen && isopen) {
|
|
184
|
-
sendEventToThirdParty('SUBIZ Chat', 'Opened', 'Subiz Windows');
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
206
|
_defineProperty(this, "closePreview", () => this.kv.put('close_preview_at', new _index.default.Date().getTime()));
|
|
188
|
-
_defineProperty(this, "
|
|
207
|
+
_defineProperty(this, "updateLastview", obj => {
|
|
189
208
|
let user = this.cache.match('user') || {};
|
|
190
209
|
if (!user.id) return;
|
|
191
|
-
this.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
210
|
+
let lastview = this.matchLastview() || {};
|
|
211
|
+
let newview = {
|
|
212
|
+
...lastview,
|
|
213
|
+
...obj,
|
|
214
|
+
user_id: user.id
|
|
215
|
+
};
|
|
216
|
+
this.kv.put('lastview', newview);
|
|
217
|
+
this.pubsub.publish('lastview', newview, lastview);
|
|
196
218
|
});
|
|
219
|
+
_defineProperty(this, "onLastview", (o, cb) => this.pubsub.on2(o, 'lastview', cb));
|
|
197
220
|
_defineProperty(this, "timeDiff", 0);
|
|
198
221
|
this.connectionStatus = 'active';
|
|
199
222
|
this.CONNECTION_CHECK_INTERVAL = 3000;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subiz/widget-v4",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.184",
|
|
4
4
|
"main": "./compiled_src/lib.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "npx webpack serve --config webpack.dev.js",
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"@subiz/flow": "^1.1.0",
|
|
14
14
|
"@subiz/wsclient": "^4.0.34",
|
|
15
15
|
"cookie_js": "1.4.2",
|
|
16
|
-
"core-js": "^3.
|
|
16
|
+
"core-js": "^3.46.0",
|
|
17
17
|
"css-loader": "5.2.7",
|
|
18
18
|
"file-loader": "^6.2.0",
|
|
19
|
-
"less": "^4.4.
|
|
19
|
+
"less": "^4.4.2",
|
|
20
20
|
"less-loader": "^12.3.0",
|
|
21
21
|
"preact": "10.19.3"
|
|
22
22
|
},
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"babel-loader": "^10.0.0",
|
|
30
30
|
"babel-plugin-syntax-jsx": "^6.18.0",
|
|
31
31
|
"html-webpack-plugin": "^5.6.4",
|
|
32
|
-
"puppeteer": "^24.
|
|
33
|
-
"webpack": "^5.
|
|
32
|
+
"puppeteer": "^24.24.0",
|
|
33
|
+
"webpack": "^5.102.1",
|
|
34
34
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
35
35
|
"webpack-cli": "^6.0.1",
|
|
36
36
|
"webpack-dev-server": "^5.2.2"
|