@kmkf-fe-packages/kmkf-work-order-service-component 2.10.19 → 2.10.20
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/dist/esm/FlowTemplateDetailV2/components/CurrentNode/index.js +3 -2
- package/dist/esm/FlowTemplateDetailV2/components/FormRender/index.js +2 -2
- package/dist/esm/FlowTemplateDetailV2/components/Item/index.js +3 -2
- package/dist/esm/FlowTemplateDetailV2/components/OrderRemark/index.d.ts +1 -0
- package/dist/esm/FlowTemplateDetailV2/components/OrderRemark/index.js +16 -5
- package/dist/esm/FlowTemplateDetailV2/components/RenderDetail/index.d.ts +1 -0
- package/dist/esm/FlowTemplateDetailV2/components/RenderDetail/index.js +6 -3
- package/dist/esm/FlowTemplateDetailV2/index.js +7 -3
- package/package.json +5 -5
|
@@ -424,7 +424,7 @@ var CurrentNode = function CurrentNode(props, ref) {
|
|
|
424
424
|
}();
|
|
425
425
|
var isArtificialNode = tag === 'artificial';
|
|
426
426
|
var isAutoNode = tag === 'auto';
|
|
427
|
-
var isShowAutoNodeDetail = isAutoNode && ['ORDER_MEMO_MANY_RULES', 'AFTER_SALE_AUTO_RETURN_GOODS_AGREE_REJECT', 'AFTER_SALE_AUTO_REFUND_REJECT', 'LOGISTICS_INTERCEPT_MULTI_RULE', 'MESSAGE_NOTIFY_EVENT', 'DING_TALK_ROBOT_NOTIFY', 'HTTP_INVOKE', 'ORDER_MEMO', 'LBDJ_ONE_PRICE_ORDER', 'JST_OBTAIN_REISSUE_LOGISTICS', 'JST_REISSUE_NEW', 'JST_RETURN_EXCHANGE', 'JST_INBOUND_STATUS_SYNC', 'KM_WAREHOUSING_STATUS_EVENT', 'DAXIDI_INBOUND_STATUS_SYNC'].includes(eventType);
|
|
427
|
+
var isShowAutoNodeDetail = isAutoNode && ['ORDER_MEMO_MANY_RULES', 'AFTER_SALE_AUTO_RETURN_GOODS_AGREE_REJECT', 'AFTER_SALE_AUTO_REFUND_REJECT', 'LOGISTICS_INTERCEPT_MULTI_RULE', 'MESSAGE_NOTIFY_EVENT', 'DING_TALK_ROBOT_NOTIFY', 'HTTP_INVOKE', 'ORDER_MEMO', 'LBDJ_ONE_PRICE_ORDER', 'JST_OBTAIN_REISSUE_LOGISTICS', 'JST_REISSUE_NEW', 'JST_RETURN_EXCHANGE', 'JST_INBOUND_STATUS_SYNC', 'KM_WAREHOUSING_STATUS_EVENT', 'DAXIDI_INBOUND_STATUS_SYNC', 'MESSAGE_CHANNEL_SEND'].includes(eventType);
|
|
428
428
|
var showEdit = isArtificialNode && isCurrentNodeHandler && !readonly && (currentNodeDetail === null || currentNodeDetail === void 0 ? void 0 : (_currentNodeDetail$wo12 = currentNodeDetail.workOrder) === null || _currentNodeDetail$wo12 === void 0 ? void 0 : _currentNodeDetail$wo12.flowStatus) === FlowStatus.COMPLETED;
|
|
429
429
|
// TODO: 决策节点给后端修复数据加了一个入口
|
|
430
430
|
// @ts-ignore
|
|
@@ -495,7 +495,8 @@ var CurrentNode = function CurrentNode(props, ref) {
|
|
|
495
495
|
workOrderTemplateInfo: currentNodeDetail === null || currentNodeDetail === void 0 ? void 0 : currentNodeDetail.workOrderTemplateInfo,
|
|
496
496
|
transData: transData,
|
|
497
497
|
platform: plat.platform,
|
|
498
|
-
onOpenWangWang: onOpenWangWang
|
|
498
|
+
onOpenWangWang: onOpenWangWang,
|
|
499
|
+
shopList: shopList
|
|
499
500
|
}) : /*#__PURE__*/React.createElement(FormRender, {
|
|
500
501
|
ref: formRenderRef,
|
|
501
502
|
isShowShopList: NodeType.START_NODE === (currentNodeDetail === null || currentNodeDetail === void 0 ? void 0 : (_currentNodeDetail$no24 = currentNodeDetail.nodeInfo) === null || _currentNodeDetail$no24 === void 0 ? void 0 : _currentNodeDetail$no24.nodeType) && [PlatForm.PC, PlatForm.WEB].includes(plat.platform),
|
|
@@ -33,7 +33,7 @@ import { calcWorkOrderList, orderBack, getReplaceWarnValues, COMPONENT_MAP_NAME,
|
|
|
33
33
|
INNER_REPLACE_COMPONENT, reversalFormValues, wdtReturnBillNoBackValues, afterSaleOrderBackValues, bsSystemOrderBackValues, kmSystemOrderBackValues, bsE3SystemOrderBackValues, wlnSystemOrderBackValues, gySystemOrderBackValues, jstSystemOrderBackValues, jySystemOrderBackValues, jkySystemOrderBackValues, dxdSystemOrderBackValues, getMappingConfigByTemplateDetail, wdtSystemOrderBackValues, setLogisticsInfo, getMappingTargetValue, FIXED_FIELD_CAN_MODIFY_SHOP } from "../../../common/utils/tools";
|
|
34
34
|
import { replaceCheck, orderDetail, queryLabelByTradeId, queryMemberLevel } from "../../../model/servers/api";
|
|
35
35
|
import { factory } from '@kmkf-fe-packages/services-components';
|
|
36
|
-
import { getExpression, formatDisplayConfig, isNull, LabelData, setSessionStorage, afterSaleOrderBack, DxdSuppliersData } from '@kmkf-fe-packages/kmkf-utils';
|
|
36
|
+
import { getExpression, formatDisplayConfig, isNull, LabelData, setSessionStorage, afterSaleOrderBack, DxdSuppliersData, isYouzanShop } from '@kmkf-fe-packages/kmkf-utils';
|
|
37
37
|
import ShopName from "../ShopName";
|
|
38
38
|
import { PlatForm } from "../../../model/flowTemplateDetail/types";
|
|
39
39
|
import { groupByPreNode, getCurrentNodeModifiedShowHideRule } from "./common";
|
|
@@ -397,7 +397,7 @@ var FormRender = function FormRender(props, ref) {
|
|
|
397
397
|
var shop = (shopList || []).find(function (item) {
|
|
398
398
|
return item.shopId === shopId;
|
|
399
399
|
});
|
|
400
|
-
if (shop && !shop.notJoin && ['TAOBAO', 'JD', 'PDD', 'YLBB', 'KS', 'FXG', 'SPH', 'WXXD', 'XHS'].includes(shop.shopSourceStr)) {
|
|
400
|
+
if (shop && !shop.notJoin && (isYouzanShop(shop) || ['TAOBAO', 'JD', 'PDD', 'YLBB', 'KS', 'FXG', 'SPH', 'WXXD', 'XHS'].includes(shop.shopSourceStr))) {
|
|
401
401
|
orderDetail({
|
|
402
402
|
shopId: shopId,
|
|
403
403
|
//店铺id
|
|
@@ -275,7 +275,7 @@ var NodeItem = function NodeItem(props) {
|
|
|
275
275
|
isAllStaff: data === null || data === void 0 ? void 0 : (_data$data11 = data.data) === null || _data$data11 === void 0 ? void 0 : (_data$data11$nodeInfo = _data$data11.nodeInfo) === null || _data$data11$nodeInfo === void 0 ? void 0 : (_data$data11$nodeInfo2 = _data$data11$nodeInfo.assistants) === null || _data$data11$nodeInfo2 === void 0 ? void 0 : _data$data11$nodeInfo2.isAllStaff
|
|
276
276
|
});
|
|
277
277
|
}, [data, plat.userKey, assistantMap]);
|
|
278
|
-
var isShowAutoNodeDetail = isAutoNode && ['ORDER_MEMO_MANY_RULES', 'AFTER_SALE_AUTO_RETURN_GOODS_AGREE_REJECT', 'AFTER_SALE_AUTO_REFUND_REJECT', 'LOGISTICS_INTERCEPT_MULTI_RULE', 'MESSAGE_NOTIFY_EVENT', 'DING_TALK_ROBOT_NOTIFY', 'HTTP_INVOKE', 'ORDER_MEMO', 'WDT_STORE_STATUS', 'BS_E3_RETAIL_RETURN_IN_STOCK_SYNC', 'RETAIL_RETURN_IN_STOCK_SYNC', 'PLATFORM_LOGISTICS_INTERCEPT', 'LBDJ_ONE_PRICE_ORDER', 'JST_ORDER_REMARK', 'KM_WAREHOUSING_STATUS_EVENT', 'DAXIDI_INBOUND_STATUS_SYNC', 'JST_OBTAIN_REISSUE_LOGISTICS', 'JST_REISSUE_NEW', 'JST_RETURN_EXCHANGE', 'JST_INBOUND_STATUS_SYNC'].includes(eventNodeType);
|
|
278
|
+
var isShowAutoNodeDetail = isAutoNode && ['ORDER_MEMO_MANY_RULES', 'AFTER_SALE_AUTO_RETURN_GOODS_AGREE_REJECT', 'AFTER_SALE_AUTO_REFUND_REJECT', 'LOGISTICS_INTERCEPT_MULTI_RULE', 'MESSAGE_NOTIFY_EVENT', 'DING_TALK_ROBOT_NOTIFY', 'HTTP_INVOKE', 'ORDER_MEMO', 'WDT_STORE_STATUS', 'BS_E3_RETAIL_RETURN_IN_STOCK_SYNC', 'RETAIL_RETURN_IN_STOCK_SYNC', 'PLATFORM_LOGISTICS_INTERCEPT', 'LBDJ_ONE_PRICE_ORDER', 'JST_ORDER_REMARK', 'KM_WAREHOUSING_STATUS_EVENT', 'DAXIDI_INBOUND_STATUS_SYNC', 'JST_OBTAIN_REISSUE_LOGISTICS', 'JST_REISSUE_NEW', 'JST_RETURN_EXCHANGE', 'JST_INBOUND_STATUS_SYNC', 'MESSAGE_CHANNEL_SEND'].includes(eventNodeType);
|
|
279
279
|
// 人工节点+打开状态+当前工单提交人是当前完成人+状态是待处理
|
|
280
280
|
var showEdit = isArtificialNode && open && isCurrentNodeHandler && !readonly && [FlowStatus.PROCESSING, FlowStatus.COMPLETED].includes(flowStatus);
|
|
281
281
|
|
|
@@ -347,7 +347,8 @@ var NodeItem = function NodeItem(props) {
|
|
|
347
347
|
workOrderTemplateInfo: data === null || data === void 0 ? void 0 : (_data$data21 = data.data) === null || _data$data21 === void 0 ? void 0 : _data$data21.workOrderTemplateInfo,
|
|
348
348
|
transData: transData,
|
|
349
349
|
platform: plat.platform,
|
|
350
|
-
onOpenWangWang: onOpenWangWang
|
|
350
|
+
onOpenWangWang: onOpenWangWang,
|
|
351
|
+
shopList: shopList
|
|
351
352
|
})), isShowAutoNodeDetail && /*#__PURE__*/React.createElement(AutoTaskDetail, {
|
|
352
353
|
flowEventData: data === null || data === void 0 ? void 0 : (_data$data22 = data.data) === null || _data$data22 === void 0 ? void 0 : _data$data22.flowEventData,
|
|
353
354
|
shopList: shopList
|
|
@@ -13,6 +13,8 @@ import { debounce } from 'lodash';
|
|
|
13
13
|
import { Button, Modal, Form, Input, Radio, message, Space, Checkbox, Popconfirm } from 'antd';
|
|
14
14
|
import { DownOutlined, UpOutlined } from '@ant-design/icons';
|
|
15
15
|
import moment from 'moment';
|
|
16
|
+
import { YouzanStar } from '@kmkf-fe-packages/basic-components';
|
|
17
|
+
import { isYouzanShop, normalizeYouzanStar } from '@kmkf-fe-packages/kmkf-utils';
|
|
16
18
|
var TextArea = Input.TextArea;
|
|
17
19
|
import { updatePlatformMemo, getSellerRemark } from "../../../model/servers/api";
|
|
18
20
|
import styles from "./index.module.less";
|
|
@@ -35,11 +37,15 @@ var flagList = [trade0, trade1, trade2, trade3, trade4, trade5];
|
|
|
35
37
|
var OrderRemark = function OrderRemark(props) {
|
|
36
38
|
var shopUniqueKey = props.shopUniqueKey,
|
|
37
39
|
shopSourceStr = props.shopSourceStr,
|
|
40
|
+
shopSource = props.shopSource,
|
|
38
41
|
tid = props.tid,
|
|
39
42
|
shopId = props.shopId,
|
|
40
43
|
orderRemarkObj = props.orderRemarkObj,
|
|
41
44
|
plat = props.plat,
|
|
42
45
|
onJumpMemoPage = props.onJumpMemoPage;
|
|
46
|
+
var isYouzan = isYouzanShop({
|
|
47
|
+
shopSource: shopSource
|
|
48
|
+
});
|
|
43
49
|
var _useState = useState({
|
|
44
50
|
remark: '',
|
|
45
51
|
flag: null
|
|
@@ -127,7 +133,8 @@ var OrderRemark = function OrderRemark(props) {
|
|
|
127
133
|
setIsShowDetail(!isShowDetail);
|
|
128
134
|
};
|
|
129
135
|
var resetData = function resetData(remark, flag) {
|
|
130
|
-
var
|
|
136
|
+
var _normalizeYouzanStar;
|
|
137
|
+
var flagValue = isYouzan ? (_normalizeYouzanStar = normalizeYouzanStar(flag)) !== null && _normalizeYouzanStar !== void 0 ? _normalizeYouzanStar : null : flag || flag === 0 ? Number(flag) : null;
|
|
131
138
|
var remarkValue = remark || '';
|
|
132
139
|
setRemark(remarkValue);
|
|
133
140
|
setFlag(flagValue);
|
|
@@ -195,7 +202,11 @@ var OrderRemark = function OrderRemark(props) {
|
|
|
195
202
|
type: "link"
|
|
196
203
|
}, "\u5C55\u5F00 ", /*#__PURE__*/React.createElement(UpOutlined, null))), /*#__PURE__*/React.createElement("div", {
|
|
197
204
|
className: "".concat(styles['remark-detail-wrap'], " ").concat(!isShowDetailBtn || isShowDetail ? '' : styles.furled)
|
|
198
|
-
}, /*#__PURE__*/React.createElement("span", null, "\u5356\u5BB6\u5907\u6CE8\uFF1A"),
|
|
205
|
+
}, /*#__PURE__*/React.createElement("span", null, "\u5356\u5BB6\u5907\u6CE8\uFF1A"), isYouzan ? normalizeYouzanStar(flag) && /*#__PURE__*/React.createElement(YouzanStar, {
|
|
206
|
+
compact: true,
|
|
207
|
+
disabled: true,
|
|
208
|
+
value: flag || undefined
|
|
209
|
+
}) : (flag || flag === 0) && flagList[Number(flag)] && /*#__PURE__*/React.createElement("img", {
|
|
199
210
|
src: flagList[Number(flag)]
|
|
200
211
|
}), /*#__PURE__*/React.createElement("span", {
|
|
201
212
|
className: styles['remark-detail']
|
|
@@ -205,7 +216,7 @@ var OrderRemark = function OrderRemark(props) {
|
|
|
205
216
|
onClick: showOrderRemarkModel
|
|
206
217
|
}, "\u7F16\u8F91\u5907\u6CE8"))) : /*#__PURE__*/React.createElement("div", {
|
|
207
218
|
className: styles['empty-wrap']
|
|
208
|
-
}, /*#__PURE__*/React.createElement("img", {
|
|
219
|
+
}, !isYouzan && /*#__PURE__*/React.createElement("img", {
|
|
209
220
|
src: flagList[0]
|
|
210
221
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
211
222
|
type: "link",
|
|
@@ -224,10 +235,10 @@ var OrderRemark = function OrderRemark(props) {
|
|
|
224
235
|
}, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form, {
|
|
225
236
|
form: form
|
|
226
237
|
}, /*#__PURE__*/React.createElement(Form.Item, {
|
|
227
|
-
label:
|
|
238
|
+
label: isYouzan ? '星标' : '标记',
|
|
228
239
|
name: "flag",
|
|
229
240
|
initialValue: flag || flag === 0 ? Number(flag) : null
|
|
230
|
-
}, /*#__PURE__*/React.createElement(Radio.Group, null, flagList === null || flagList === void 0 ? void 0 : flagList.map(function (item, index) {
|
|
241
|
+
}, isYouzan ? /*#__PURE__*/React.createElement(YouzanStar, null) : /*#__PURE__*/React.createElement(Radio.Group, null, flagList === null || flagList === void 0 ? void 0 : flagList.map(function (item, index) {
|
|
231
242
|
if (shopSourceStr === 'PDD' && index === 0) return;
|
|
232
243
|
// 1688仅支持红、黄、绿、蓝四种旗帜。
|
|
233
244
|
if (shopSourceStr === 'YLBB' && [0, 5].includes(index)) return;
|
|
@@ -13,7 +13,8 @@ var RenderDetail = function RenderDetail(props) {
|
|
|
13
13
|
var workOrderTemplateInfo = props.workOrderTemplateInfo,
|
|
14
14
|
transData = props.transData,
|
|
15
15
|
platform = props.platform,
|
|
16
|
-
onOpenWangWang = props.onOpenWangWang
|
|
16
|
+
onOpenWangWang = props.onOpenWangWang,
|
|
17
|
+
shopList = props.shopList;
|
|
17
18
|
var _workOrderTemplateInf = workOrderTemplateInfo.preNodeComponentDtoList,
|
|
18
19
|
preNodeComponentDtoList = _workOrderTemplateInf === void 0 ? [] : _workOrderTemplateInf,
|
|
19
20
|
_workOrderTemplateInf2 = workOrderTemplateInfo.componentDtoList,
|
|
@@ -40,7 +41,8 @@ var RenderDetail = function RenderDetail(props) {
|
|
|
40
41
|
componentConfig: t.componentConfig,
|
|
41
42
|
type: t.workOrderComponentType,
|
|
42
43
|
effects: {
|
|
43
|
-
env: platform
|
|
44
|
+
env: platform,
|
|
45
|
+
shopList: shopList
|
|
44
46
|
}
|
|
45
47
|
});
|
|
46
48
|
// 淘宝端的买家昵称是需要亮灯展示的
|
|
@@ -60,7 +62,8 @@ var RenderDetail = function RenderDetail(props) {
|
|
|
60
62
|
componentConfig: t.componentConfig,
|
|
61
63
|
type: t.workOrderComponentType,
|
|
62
64
|
effects: {
|
|
63
|
-
env: platform
|
|
65
|
+
env: platform,
|
|
66
|
+
shopList: shopList
|
|
64
67
|
}
|
|
65
68
|
});
|
|
66
69
|
// 淘宝端的买家昵称是需要亮灯展示的
|
|
@@ -55,7 +55,7 @@ import { Provide, Context } from "./context";
|
|
|
55
55
|
import { WORK_ORDER_STATUS_AI_BUILD } from "../common/constant";
|
|
56
56
|
import { useSelector } from "./context/useSelector";
|
|
57
57
|
import { pollOperationResult } from "./pollOperationResult";
|
|
58
|
-
import { pushGyLog } from '@kmkf-fe-packages/kmkf-utils';
|
|
58
|
+
import { isYouzanShop, pushGyLog } from '@kmkf-fe-packages/kmkf-utils';
|
|
59
59
|
import { PlatForm } from "../WorkOrder/types";
|
|
60
60
|
import Layout from "./components/Layout";
|
|
61
61
|
import JumpCustomerIcon from "./components/XiaozhiConversation";
|
|
@@ -164,6 +164,7 @@ var FlowTemplateDetail = function FlowTemplateDetail(props) {
|
|
|
164
164
|
var isShowRemark = false;
|
|
165
165
|
var shopUniqueKey = '';
|
|
166
166
|
var shopSourceStr = '';
|
|
167
|
+
var shopSource = '';
|
|
167
168
|
var shop;
|
|
168
169
|
var shopId = '';
|
|
169
170
|
var formShopId = Form.useWatch('shopId', form) || flowShopId;
|
|
@@ -181,8 +182,9 @@ var FlowTemplateDetail = function FlowTemplateDetail(props) {
|
|
|
181
182
|
}
|
|
182
183
|
if (shop) {
|
|
183
184
|
shopUniqueKey = shop.accessToken || '';
|
|
184
|
-
isShowRemark = !shop.notJoin && !!shop.shopSourceStr &&
|
|
185
|
+
isShowRemark = !shop.notJoin && !readonly && (isYouzanShop(shop) || !!shop.shopSourceStr && ['TAOBAO', 'JD', 'PDD', 'YLBB', 'KS', 'FXG', 'SPH', 'WXXD', 'XHS'].includes(shop.shopSourceStr));
|
|
185
186
|
shopSourceStr = shop.shopSourceStr;
|
|
187
|
+
shopSource = shop.shopSource;
|
|
186
188
|
}
|
|
187
189
|
var shopItem = useMemo(function () {
|
|
188
190
|
return shopList.find(function (t) {
|
|
@@ -1267,7 +1269,8 @@ var FlowTemplateDetail = function FlowTemplateDetail(props) {
|
|
|
1267
1269
|
workOrderTemplateInfo: currentNodeDetail === null || currentNodeDetail === void 0 ? void 0 : currentNodeDetail.workOrderTemplateInfo,
|
|
1268
1270
|
transData: transDataall,
|
|
1269
1271
|
platform: plat.platform,
|
|
1270
|
-
onOpenWangWang: onOpenWangWang
|
|
1272
|
+
onOpenWangWang: onOpenWangWang,
|
|
1273
|
+
shopList: shopList
|
|
1271
1274
|
}));
|
|
1272
1275
|
};
|
|
1273
1276
|
var reFreshPanel = function reFreshPanel() {
|
|
@@ -1534,6 +1537,7 @@ var FlowTemplateDetail = function FlowTemplateDetail(props) {
|
|
|
1534
1537
|
}, /*#__PURE__*/React.createElement(OrderRemark, {
|
|
1535
1538
|
shopUniqueKey: shopUniqueKey,
|
|
1536
1539
|
shopSourceStr: shopSourceStr,
|
|
1540
|
+
shopSource: shopSource,
|
|
1537
1541
|
shopId: shopId || formShopId,
|
|
1538
1542
|
tid: tid,
|
|
1539
1543
|
form: form,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kmkf-fe-packages/kmkf-work-order-service-component",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.20",
|
|
4
4
|
"module": "dist/esm/index.js",
|
|
5
5
|
"typings": "dist/esm/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@ant-design/icons": "^4.7.0",
|
|
35
|
-
"@kmkf-fe-packages/basic-components": "2.10.
|
|
36
|
-
"@kmkf-fe-packages/kmkf-utils": "2.10.
|
|
37
|
-
"@kmkf-fe-packages/services-components": "2.10.
|
|
35
|
+
"@kmkf-fe-packages/basic-components": "2.10.20",
|
|
36
|
+
"@kmkf-fe-packages/kmkf-utils": "2.10.20",
|
|
37
|
+
"@kmkf-fe-packages/services-components": "2.10.20",
|
|
38
38
|
"@reduxjs/toolkit": "^1.8.5",
|
|
39
39
|
"ahooks": "^3.7.4",
|
|
40
40
|
"copy-to-clipboard": "^3.3.3",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"publishConfig": {
|
|
76
76
|
"access": "public"
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "35e842426da4373ec5caafc58e77a9f54be77bc0",
|
|
79
79
|
"gitHooks": {
|
|
80
80
|
"pre-commit": "lint-staged"
|
|
81
81
|
}
|