@kmkf-fe-packages/kmkf-work-order-service-component 2.0.79-beta.7 → 2.0.79-beta.9
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/Item/index.d.ts +1 -0
- package/dist/esm/FlowTemplateDetailV2/components/Item/index.js +14 -30
- package/dist/esm/FlowTemplateDetailV2/index.js +2 -1
- package/dist/esm/FlowTemplateDetailV2/store/reducers.js +2 -1
- package/dist/esm/FlowTemplateDetailV2/store/selector.d.ts +1 -0
- package/dist/esm/model/flowTemplateDetail/types.d.ts +3 -0
- package/package.json +2 -2
|
@@ -40,7 +40,7 @@ var formProps = {
|
|
|
40
40
|
layout: 'vertical'
|
|
41
41
|
};
|
|
42
42
|
var CurrentNode = function CurrentNode(props, ref) {
|
|
43
|
-
var _currentNodeDetail$no, _currentNodeDetail$no2, _currentNodeDetail$no3, _currentNodeDetail$no4, _currentNodeDetail$no16, _currentNodeDetail$wo12, _localStorage, _currentNodeDetail$wo13, _currentNodeDetail$wo14, _currentNodeDetail$wo15, _currentNodeDetail$wo16, _currentNodeDetail$wo17, _currentNodeDetail$wo18, _currentNodeDetail$wo19, _currentNodeDetail$wo20, _currentNodeDetail$wo21, _currentNodeDetail$no19, _currentNodeDetail$no20, _currentNodeDetail$no21, _currentNodeDetail$wo22;
|
|
43
|
+
var _currentNodeDetail$no, _currentNodeDetail$no2, _currentNodeDetail$no3, _currentNodeDetail$no4, _currentNodeDetail$no16, _currentNodeDetail$fl, _currentNodeDetail$wo12, _localStorage, _currentNodeDetail$wo13, _currentNodeDetail$wo14, _currentNodeDetail$wo15, _currentNodeDetail$wo16, _currentNodeDetail$wo17, _currentNodeDetail$wo18, _currentNodeDetail$wo19, _currentNodeDetail$wo20, _currentNodeDetail$wo21, _currentNodeDetail$no19, _currentNodeDetail$no20, _currentNodeDetail$no21, _currentNodeDetail$wo22;
|
|
44
44
|
var formRenderRef = useRef(null);
|
|
45
45
|
useImperativeHandle(ref, function () {
|
|
46
46
|
return {
|
|
@@ -277,6 +277,7 @@ var CurrentNode = function CurrentNode(props, ref) {
|
|
|
277
277
|
}();
|
|
278
278
|
var isArtificialNode = tag === 'artificial';
|
|
279
279
|
var isAutoNode = tag === 'auto';
|
|
280
|
+
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'].includes(currentNodeDetail === null || currentNodeDetail === void 0 ? void 0 : (_currentNodeDetail$fl = currentNodeDetail.flowEventData) === null || _currentNodeDetail$fl === void 0 ? void 0 : _currentNodeDetail$fl.eventType);
|
|
280
281
|
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;
|
|
281
282
|
// TODO: 决策节点给后端修复数据加了一个入口
|
|
282
283
|
// @ts-ignore
|
|
@@ -331,7 +332,7 @@ var CurrentNode = function CurrentNode(props, ref) {
|
|
|
331
332
|
flowAllShowHideRules: allShowHideRules,
|
|
332
333
|
firstOrderBackfill: flowStatus !== FlowStatus.COMPLETED,
|
|
333
334
|
autoSubmit: autoSubmit
|
|
334
|
-
})),
|
|
335
|
+
})), isShowAutoNodeDetail && /*#__PURE__*/React.createElement(AutoTaskDetail, {
|
|
335
336
|
flowEventData: currentNodeDetail === null || currentNodeDetail === void 0 ? void 0 : currentNodeDetail.flowEventData
|
|
336
337
|
})));
|
|
337
338
|
};
|
|
@@ -34,7 +34,7 @@ import { useSelector } from "../../context/useSelector";
|
|
|
34
34
|
import { Context } from "../../context";
|
|
35
35
|
import { AutoTaskDetail } from "../AutoTaskDetail";
|
|
36
36
|
var NodeItem = function NodeItem(props) {
|
|
37
|
-
var _data$
|
|
37
|
+
var _data$data10, _data$data11, _data$data11$workOrde, _data$data12, _data$data12$workOrde, _data$data13, _data$data13$nodeInfo, _data$data14, _data$data15, _data$data15$nodeInfo, _data$data16, _data$data17, _data$data18, _data$data18$workOrde, _data$data19, _data$data20;
|
|
38
38
|
var tag = props.tag,
|
|
39
39
|
nodeId = props.nodeId,
|
|
40
40
|
nodeName = props.nodeName,
|
|
@@ -53,7 +53,8 @@ var NodeItem = function NodeItem(props) {
|
|
|
53
53
|
visibleType = _props$visibleType === void 0 ? '' : _props$visibleType,
|
|
54
54
|
nodeIsAuto = props.nodeIsAuto,
|
|
55
55
|
flowTemplateKey = props.flowTemplateKey,
|
|
56
|
-
onJumpPage = props.onJumpPage
|
|
56
|
+
onJumpPage = props.onJumpPage,
|
|
57
|
+
eventNodeType = props.eventNodeType;
|
|
57
58
|
var _useContext = useContext(Context),
|
|
58
59
|
dispatch = _useContext.dispatch;
|
|
59
60
|
var plat = useSelector(selectPlatInfo);
|
|
@@ -239,7 +240,7 @@ var NodeItem = function NodeItem(props) {
|
|
|
239
240
|
isAllStaff: data === null || data === void 0 ? void 0 : (_data$data9 = data.data) === null || _data$data9 === void 0 ? void 0 : (_data$data9$nodeInfo = _data$data9.nodeInfo) === null || _data$data9$nodeInfo === void 0 ? void 0 : (_data$data9$nodeInfo$ = _data$data9$nodeInfo.assistants) === null || _data$data9$nodeInfo$ === void 0 ? void 0 : _data$data9$nodeInfo$.isAllStaff
|
|
240
241
|
});
|
|
241
242
|
}, [data, plat.userKey, assistantMap]);
|
|
242
|
-
|
|
243
|
+
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'].includes(eventNodeType);
|
|
243
244
|
// 人工节点+打开状态+当前工单提交人是当前完成人+状态是待处理
|
|
244
245
|
var showEdit = isArtificialNode && open && isCurrentNodeHandler && !readonly && [FlowStatus.PROCESSING, FlowStatus.COMPLETED].includes(flowStatus);
|
|
245
246
|
|
|
@@ -257,31 +258,14 @@ var NodeItem = function NodeItem(props) {
|
|
|
257
258
|
// }
|
|
258
259
|
// };
|
|
259
260
|
|
|
260
|
-
var
|
|
261
|
-
var _data$data10, _data$data10$flowEven, _data$data10$flowEven2, _data$data10$flowEven3, _data$data10$flowEven4;
|
|
262
|
-
return data === null || data === void 0 ? void 0 : (_data$data10 = data.data) === null || _data$data10 === void 0 ? void 0 : (_data$data10$flowEven = _data$data10.flowEventData) === null || _data$data10$flowEven === void 0 ? void 0 : (_data$data10$flowEven2 = _data$data10$flowEven.eventData) === null || _data$data10$flowEven2 === void 0 ? void 0 : (_data$data10$flowEven3 = _data$data10$flowEven2.businessStatus) === null || _data$data10$flowEven3 === void 0 ? void 0 : (_data$data10$flowEven4 = _data$data10$flowEven3[0]) === null || _data$data10$flowEven4 === void 0 ? void 0 : _data$data10$flowEven4.remark;
|
|
263
|
-
};
|
|
264
|
-
var renderSuccess = function renderSuccess() {
|
|
265
|
-
var _data$data11, _data$data11$flowEven, _data$data11$flowEven2, _data$data11$flowEven3, _data$data11$flowEven4;
|
|
266
|
-
return /*#__PURE__*/React.createElement("div", null, data === null || data === void 0 ? void 0 : (_data$data11 = data.data) === null || _data$data11 === void 0 ? void 0 : (_data$data11$flowEven = _data$data11.flowEventData) === null || _data$data11$flowEven === void 0 ? void 0 : (_data$data11$flowEven2 = _data$data11$flowEven.eventData) === null || _data$data11$flowEven2 === void 0 ? void 0 : (_data$data11$flowEven3 = _data$data11$flowEven2.otherBusinessData) === null || _data$data11$flowEven3 === void 0 ? void 0 : (_data$data11$flowEven4 = _data$data11$flowEven3.ruleDomainList) === null || _data$data11$flowEven4 === void 0 ? void 0 : _data$data11$flowEven4.map(function (item) {
|
|
267
|
-
var _item$passConditionLi;
|
|
268
|
-
return /*#__PURE__*/React.createElement("div", null, item.ruleName && /*#__PURE__*/React.createElement("p", null, "\u547D\u4E2D\u89C4\u5219\u540D\u79F0: ", item.ruleName), /*#__PURE__*/React.createElement("p", null, (_item$passConditionLi = item.passConditionList) === null || _item$passConditionLi === void 0 ? void 0 : _item$passConditionLi.map(function (item) {
|
|
269
|
-
return /*#__PURE__*/React.createElement("p", null, item);
|
|
270
|
-
})));
|
|
271
|
-
}));
|
|
272
|
-
};
|
|
273
|
-
var renderAutoNodeDetail = function renderAutoNodeDetail() {
|
|
274
|
-
var _data$data12, _data$data12$flowEven, _data$data12$flowEven2, _data$data12$flowEven3, _data$data12$flowEven4, _data$data13, _data$data13$flowEven, _data$data13$flowEven2, _data$data13$flowEven3, _data$data13$flowEven4, _data$data14, _data$data14$flowEven, _data$data14$flowEven2, _data$data14$flowEven3, _data$data14$flowEven4;
|
|
275
|
-
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", null, (data === null || data === void 0 ? void 0 : (_data$data12 = data.data) === null || _data$data12 === void 0 ? void 0 : (_data$data12$flowEven = _data$data12.flowEventData) === null || _data$data12$flowEven === void 0 ? void 0 : (_data$data12$flowEven2 = _data$data12$flowEven.eventData) === null || _data$data12$flowEven2 === void 0 ? void 0 : (_data$data12$flowEven3 = _data$data12$flowEven2.businessStatus) === null || _data$data12$flowEven3 === void 0 ? void 0 : (_data$data12$flowEven4 = _data$data12$flowEven3[0]) === null || _data$data12$flowEven4 === void 0 ? void 0 : _data$data12$flowEven4.businessStatusDesc) && "\u6267\u884C\u72B6\u6001: ".concat(data === null || data === void 0 ? void 0 : (_data$data13 = data.data) === null || _data$data13 === void 0 ? void 0 : (_data$data13$flowEven = _data$data13.flowEventData) === null || _data$data13$flowEven === void 0 ? void 0 : (_data$data13$flowEven2 = _data$data13$flowEven.eventData) === null || _data$data13$flowEven2 === void 0 ? void 0 : (_data$data13$flowEven3 = _data$data13$flowEven2.businessStatus) === null || _data$data13$flowEven3 === void 0 ? void 0 : (_data$data13$flowEven4 = _data$data13$flowEven3[0]) === null || _data$data13$flowEven4 === void 0 ? void 0 : _data$data13$flowEven4.businessStatusDesc)), [1, 2].includes(data === null || data === void 0 ? void 0 : (_data$data14 = data.data) === null || _data$data14 === void 0 ? void 0 : (_data$data14$flowEven = _data$data14.flowEventData) === null || _data$data14$flowEven === void 0 ? void 0 : (_data$data14$flowEven2 = _data$data14$flowEven.eventData) === null || _data$data14$flowEven2 === void 0 ? void 0 : (_data$data14$flowEven3 = _data$data14$flowEven2.businessStatus) === null || _data$data14$flowEven3 === void 0 ? void 0 : (_data$data14$flowEven4 = _data$data14$flowEven3[0]) === null || _data$data14$flowEven4 === void 0 ? void 0 : _data$data14$flowEven4.businessStatus) ? renderSuccess() : renderFail());
|
|
276
|
-
};
|
|
277
|
-
var _calcWorkOrderList = calcWorkOrderList([(data === null || data === void 0 ? void 0 : (_data$data15 = data.data) === null || _data$data15 === void 0 ? void 0 : _data$data15.workOrder) || {}], [].concat(_toConsumableArray((data === null || data === void 0 ? void 0 : (_data$data16 = data.data) === null || _data$data16 === void 0 ? void 0 : (_data$data16$workOrde = _data$data16.workOrderTemplateInfo) === null || _data$data16$workOrde === void 0 ? void 0 : _data$data16$workOrde.preNodeComponentDtoList) || []), _toConsumableArray((data === null || data === void 0 ? void 0 : (_data$data17 = data.data) === null || _data$data17 === void 0 ? void 0 : (_data$data17$workOrde = _data$data17.workOrderTemplateInfo) === null || _data$data17$workOrde === void 0 ? void 0 : _data$data17$workOrde.componentDtoList) || []))),
|
|
261
|
+
var _calcWorkOrderList = calcWorkOrderList([(data === null || data === void 0 ? void 0 : (_data$data10 = data.data) === null || _data$data10 === void 0 ? void 0 : _data$data10.workOrder) || {}], [].concat(_toConsumableArray((data === null || data === void 0 ? void 0 : (_data$data11 = data.data) === null || _data$data11 === void 0 ? void 0 : (_data$data11$workOrde = _data$data11.workOrderTemplateInfo) === null || _data$data11$workOrde === void 0 ? void 0 : _data$data11$workOrde.preNodeComponentDtoList) || []), _toConsumableArray((data === null || data === void 0 ? void 0 : (_data$data12 = data.data) === null || _data$data12 === void 0 ? void 0 : (_data$data12$workOrde = _data$data12.workOrderTemplateInfo) === null || _data$data12$workOrde === void 0 ? void 0 : _data$data12$workOrde.componentDtoList) || []))),
|
|
278
262
|
_calcWorkOrderList2 = _slicedToArray(_calcWorkOrderList, 1),
|
|
279
263
|
transData = _calcWorkOrderList2[0];
|
|
280
264
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Header, {
|
|
281
265
|
tag: tag,
|
|
282
266
|
nodeName: nodeName,
|
|
283
267
|
editing: editing,
|
|
284
|
-
showLook: isArtificialNode ||
|
|
268
|
+
showLook: isArtificialNode || isShowAutoNodeDetail,
|
|
285
269
|
showEdit: showEdit,
|
|
286
270
|
opening: open,
|
|
287
271
|
handleLook: handleOpen,
|
|
@@ -302,18 +286,18 @@ var NodeItem = function NodeItem(props) {
|
|
|
302
286
|
display: open ? 'block' : 'none',
|
|
303
287
|
marginTop: '16px'
|
|
304
288
|
}
|
|
305
|
-
}, [NodeType.START_NODE, NodeType.EXECUTE_NODE].includes(data === null || data === void 0 ? void 0 : (_data$
|
|
306
|
-
isShowShopList: NodeType.START_NODE === (data === null || data === void 0 ? void 0 : (_data$
|
|
289
|
+
}, [NodeType.START_NODE, NodeType.EXECUTE_NODE].includes(data === null || data === void 0 ? void 0 : (_data$data13 = data.data) === null || _data$data13 === void 0 ? void 0 : (_data$data13$nodeInfo = _data$data13.nodeInfo) === null || _data$data13$nodeInfo === void 0 ? void 0 : _data$data13$nodeInfo.nodeType) && (data === null || data === void 0 ? void 0 : (_data$data14 = data.data) === null || _data$data14 === void 0 ? void 0 : _data$data14.workOrderTemplateInfo) && /*#__PURE__*/React.createElement("div", null, editing ? /*#__PURE__*/React.createElement(FormRender, {
|
|
290
|
+
isShowShopList: NodeType.START_NODE === (data === null || data === void 0 ? void 0 : (_data$data15 = data.data) === null || _data$data15 === void 0 ? void 0 : (_data$data15$nodeInfo = _data$data15.nodeInfo) === null || _data$data15$nodeInfo === void 0 ? void 0 : _data$data15$nodeInfo.nodeType) && [PlatForm.PC, PlatForm.WEB].includes(plat.platform),
|
|
307
291
|
plat: plat,
|
|
308
|
-
templateDetail: data === null || data === void 0 ? void 0 : (_data$
|
|
292
|
+
templateDetail: data === null || data === void 0 ? void 0 : (_data$data16 = data.data) === null || _data$data16 === void 0 ? void 0 : _data$data16.workOrderTemplateInfo,
|
|
309
293
|
shopList: shopList,
|
|
310
|
-
record: data === null || data === void 0 ? void 0 : (_data$
|
|
294
|
+
record: data === null || data === void 0 ? void 0 : (_data$data17 = data.data) === null || _data$data17 === void 0 ? void 0 : _data$data17.workOrder,
|
|
311
295
|
accountName: plat.accountName,
|
|
312
296
|
form: form,
|
|
313
297
|
onOpenWangWang: onOpenWangWang,
|
|
314
298
|
onJumpPage: onJumpPage,
|
|
315
299
|
look: !editing || flowStatus === FlowStatus.STOPPING,
|
|
316
|
-
shopId: data === null || data === void 0 ? void 0 : (_data$
|
|
300
|
+
shopId: data === null || data === void 0 ? void 0 : (_data$data18 = data.data) === null || _data$data18 === void 0 ? void 0 : (_data$data18$workOrde = _data$data18.workOrder) === null || _data$data18$workOrde === void 0 ? void 0 : _data$data18$workOrde.shopId,
|
|
317
301
|
formProps: {
|
|
318
302
|
className: 'customizeFormModalClassName',
|
|
319
303
|
layout: 'vertical'
|
|
@@ -323,12 +307,12 @@ var NodeItem = function NodeItem(props) {
|
|
|
323
307
|
firstOrderBackfill: false // TODO: 前面节点必然是已完成状态,已完成状态不再调用订单反填
|
|
324
308
|
// handleChangeTradeId={handleChangeTradeId}
|
|
325
309
|
}) : /*#__PURE__*/React.createElement(RenderDetail, {
|
|
326
|
-
workOrderTemplateInfo: data === null || data === void 0 ? void 0 : (_data$
|
|
310
|
+
workOrderTemplateInfo: data === null || data === void 0 ? void 0 : (_data$data19 = data.data) === null || _data$data19 === void 0 ? void 0 : _data$data19.workOrderTemplateInfo,
|
|
327
311
|
transData: transData,
|
|
328
312
|
platform: plat.platform,
|
|
329
313
|
onOpenWangWang: onOpenWangWang
|
|
330
|
-
})),
|
|
331
|
-
flowEventData: data === null || data === void 0 ? void 0 : (_data$
|
|
314
|
+
})), isShowAutoNodeDetail && /*#__PURE__*/React.createElement(AutoTaskDetail, {
|
|
315
|
+
flowEventData: data === null || data === void 0 ? void 0 : (_data$data20 = data.data) === null || _data$data20 === void 0 ? void 0 : _data$data20.flowEventData
|
|
332
316
|
})));
|
|
333
317
|
};
|
|
334
318
|
export default NodeItem;
|
|
@@ -1308,7 +1308,8 @@ var FlowTemplateDetail = function FlowTemplateDetail(props) {
|
|
|
1308
1308
|
nodeIsAuto: flowRecord.nodeIsAuto,
|
|
1309
1309
|
openCloseCallback: function openCloseCallback() {
|
|
1310
1310
|
setOpenCloseVisible('');
|
|
1311
|
-
}
|
|
1311
|
+
},
|
|
1312
|
+
eventNodeType: flowRecord.eventNodeType
|
|
1312
1313
|
}));
|
|
1313
1314
|
}), currentNodeDetail && /*#__PURE__*/React.createElement(Timeline.Item, null, /*#__PURE__*/React.createElement(CurrentNode, {
|
|
1314
1315
|
ref: currentNodeRef,
|
|
@@ -85,7 +85,8 @@ export var fetchPanelInfo = function fetchPanelInfo(params, options) {
|
|
|
85
85
|
tag: tag,
|
|
86
86
|
operator: item.operator || '',
|
|
87
87
|
nodeIsAuto: item.nodeIsAuto,
|
|
88
|
-
operateType: item.operateType
|
|
88
|
+
operateType: item.operateType,
|
|
89
|
+
eventNodeType: item.eventNodeType
|
|
89
90
|
};
|
|
90
91
|
}); // TODO: 针对已完结工单 会出现多一个最后节点问题;需要当前节点id和记录列表中最后一条比对,如果相同,则移除记录中最后一条;
|
|
91
92
|
if ((res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : (_res$data2$currentNod = _res$data2.currentNodeDetail) === null || _res$data2$currentNod === void 0 ? void 0 : (_res$data2$currentNod2 = _res$data2$currentNod.nodeInfo) === null || _res$data2$currentNod2 === void 0 ? void 0 : _res$data2$currentNod2.id) === ((_last = last(recordList)) === null || _last === void 0 ? void 0 : _last.nodeId)) {
|
|
@@ -5,6 +5,7 @@ export interface Line {
|
|
|
5
5
|
operator: string;
|
|
6
6
|
nodeIsAuto: boolean;
|
|
7
7
|
operateType: string;
|
|
8
|
+
eventNodeType: string;
|
|
8
9
|
}
|
|
9
10
|
export interface Assistant {
|
|
10
11
|
id: string;
|
|
@@ -798,6 +799,7 @@ export interface QyFlowPanelInfoResponse {
|
|
|
798
799
|
};
|
|
799
800
|
flowEventData?: {
|
|
800
801
|
eventStatus: 0 | 1 | 2 | 4;
|
|
802
|
+
eventType: string;
|
|
801
803
|
eventData?: {
|
|
802
804
|
businessStatus?: Array<{
|
|
803
805
|
businessKey: string;
|
|
@@ -1589,5 +1591,6 @@ export interface QueryNodeDetailResponse {
|
|
|
1589
1591
|
}>;
|
|
1590
1592
|
};
|
|
1591
1593
|
};
|
|
1594
|
+
eventType: string;
|
|
1592
1595
|
};
|
|
1593
1596
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kmkf-fe-packages/kmkf-work-order-service-component",
|
|
3
|
-
"version": "2.0.79-beta.
|
|
3
|
+
"version": "2.0.79-beta.9",
|
|
4
4
|
"module": "dist/esm/index.js",
|
|
5
5
|
"typings": "dist/esm/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "89bac1abd1905809aadf0ad580344ca2cc7407a4",
|
|
77
77
|
"gitHooks": {
|
|
78
78
|
"pre-commit": "lint-staged"
|
|
79
79
|
}
|