@yilianjituan/yilian_dgerm 0.0.1-alpha.29 → 0.0.1-alpha.30

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/README.md CHANGED
@@ -118,8 +118,8 @@ MIT
118
118
  # 2024.10.30 更新日志
119
119
  1、SelectMax 参数调试:传入http
120
120
  2、DropDownSelect 参数调试:传入http
121
- 3
122
- 4
121
+ 3、组件适配:PageTemplate 差异适配
122
+ 4、添加执行命令 build-copy 支持本地打包调试
123
123
  5、
124
124
  6、
125
125
  7、
@@ -1,5 +1,5 @@
1
1
  import { IPageTemPropsData } from './index.interface';
2
2
  import './index.scss';
3
3
  import React from 'react';
4
- declare const PageTemplate: (props: IPageTemPropsData) => React.JSX.Element;
5
- export default PageTemplate;
4
+ declare const _default: React.ForwardRefExoticComponent<Omit<IPageTemPropsData, "ref"> & React.RefAttributes<unknown>>;
5
+ export default _default;
@@ -6,15 +6,15 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
6
6
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
7
7
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
8
8
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
9
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
9
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
15
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
17
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
15
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
18
18
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
19
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
20
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -24,7 +24,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
24
  /**
25
25
  * @列表页pageTemplate
26
26
  */
27
- import { useEffect, useLayoutEffect, useRef, useState } from 'react';
27
+ import { forwardRef, useEffect, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';
28
28
  import { Button, Form, Table, Input, DatePicker, message } from 'antd';
29
29
  import { ExportOutlined, ReloadOutlined, SearchOutlined } from '@ant-design/icons';
30
30
  import SelectMax from "../SelectMax";
@@ -37,7 +37,7 @@ import { DropDownSelect } from "../..";
37
37
  import dayjs from 'dayjs';
38
38
  var FormItem = Form.Item;
39
39
  var RangePicker = DatePicker.RangePicker;
40
- var PageTemplate = function PageTemplate(props) {
40
+ var PageTemplate = function PageTemplate(props, ref) {
41
41
  var _Form$useForm = Form.useForm(),
42
42
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
43
43
  form = _Form$useForm2[0];
@@ -92,6 +92,19 @@ var PageTemplate = function PageTemplate(props) {
92
92
  additionalExport = _useState16[0],
93
93
  setAdditionalExport = _useState16[1]; // 额外的按钮
94
94
 
95
+ useImperativeHandle(ref, function () {
96
+ return {
97
+ onSearch: function onSearch(param) {
98
+ var _ref = param || {},
99
+ pageNo = _ref.pageNo;
100
+ _onSearch(pageNo || 1);
101
+ },
102
+ filters: _objectSpread({
103
+ pageNo: current,
104
+ pageSize: pageSizeRef.current
105
+ }, form.getFieldsValue(true))
106
+ };
107
+ });
95
108
  useLayoutEffect(function () {
96
109
  props.connect && props.connect({
97
110
  onSearch: function onSearch() {
@@ -157,7 +170,7 @@ var PageTemplate = function PageTemplate(props) {
157
170
  var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
158
171
  // 当前页码、每页条数暴露给beforeRequest的参数中
159
172
  var options = {
160
- pageNo: current,
173
+ pageNum: current,
161
174
  pageSize: pageSizeRef.current
162
175
  };
163
176
  paramsRef.current = beforeRequest(_objectSpread(_objectSpread({}, values), options));
@@ -178,8 +191,8 @@ var PageTemplate = function PageTemplate(props) {
178
191
  var _url$method = url.method,
179
192
  method = _url$method === void 0 ? 'get' : _url$method;
180
193
  http[method](url.url, _objectSpread({}, params)).then( /*#__PURE__*/function () {
181
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data) {
182
- var result, _ref2, totalElements, content;
194
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data) {
195
+ var result, _ref3, totalElements, content;
183
196
  return _regeneratorRuntime().wrap(function _callee$(_context) {
184
197
  while (1) switch (_context.prev = _context.next) {
185
198
  case 0:
@@ -187,7 +200,7 @@ var PageTemplate = function PageTemplate(props) {
187
200
  return afterRequest(data.result || {});
188
201
  case 2:
189
202
  result = _context.sent;
190
- _ref2 = result || {}, totalElements = _ref2.totalElements, content = _ref2.content;
203
+ _ref3 = result || {}, totalElements = _ref3.totalElements, content = _ref3.content;
191
204
  setDataSource(content || []);
192
205
  setTotal(totalElements || '');
193
206
  setCurrent(current);
@@ -198,7 +211,7 @@ var PageTemplate = function PageTemplate(props) {
198
211
  }, _callee);
199
212
  }));
200
213
  return function (_x) {
201
- return _ref.apply(this, arguments);
214
+ return _ref2.apply(this, arguments);
202
215
  };
203
216
  }());
204
217
  }
@@ -238,9 +251,9 @@ var PageTemplate = function PageTemplate(props) {
238
251
  label = item.label;
239
252
  switch (component) {
240
253
  case 'RangePicker':
241
- var _ref3 = componentOptions || {},
242
- showTime = _ref3.showTime,
243
- rest = _objectWithoutProperties(_ref3, _excluded);
254
+ var _ref4 = componentOptions || {},
255
+ showTime = _ref4.showTime,
256
+ rest = _objectWithoutProperties(_ref4, _excluded);
244
257
  var initShowTime = {
245
258
  hideDisabledOptions: true,
246
259
  defaultValue: [dayjs("00:00:00", "HH:mm:ss"), dayjs("23:59:59", "HH:mm:ss")]
@@ -287,11 +300,10 @@ var PageTemplate = function PageTemplate(props) {
287
300
  _item$options = item.options,
288
301
  options = _item$options === void 0 ? {} : _item$options,
289
302
  labelCol = item.labelCol;
290
- var _span = (label === null || label === void 0 ? void 0 : label.length) >= 6 ? 10 : (label === null || label === void 0 ? void 0 : label.length) > 4 ? 8 : (label === null || label === void 0 ? void 0 : label.length) > 2 ? 6 : 4;
303
+
304
+ // const _span = label?.length >= 6 ? 10 : (label?.length > 4 ? 8 : (label?.length > 2 ? 6 : 4));
305
+
291
306
  return /*#__PURE__*/React.createElement(FormItem, _extends({
292
- labelCol: labelCol ? labelCol : labelColBool ? {
293
- span: _span
294
- } : {},
295
307
  key: key,
296
308
  name: key,
297
309
  label: label
@@ -351,6 +363,8 @@ var PageTemplate = function PageTemplate(props) {
351
363
  // 新增:科室按钮背景色处理
352
364
  React.createElement(FormItem, {
353
365
  className: getPlatFormTheme()
366
+ }, /*#__PURE__*/React.createElement("div", {
367
+ className: "filter-btn"
354
368
  }, isSearchPermission && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
355
369
  type: "primary",
356
370
  htmlType: "submit"
@@ -362,7 +376,7 @@ var PageTemplate = function PageTemplate(props) {
362
376
  onClick: function onClick() {
363
377
  return exportList();
364
378
  }
365
- }, /*#__PURE__*/React.createElement(ExportOutlined, null), "\u5BFC\u51FA") : null, additionalExport && additionalExport) : null, eleAfterSearchBtn), extraFilter && /*#__PURE__*/React.createElement("div", {
379
+ }, /*#__PURE__*/React.createElement(ExportOutlined, null), "\u5BFC\u51FA") : null, additionalExport && additionalExport)) : null, eleAfterSearchBtn), extraFilter && /*#__PURE__*/React.createElement("div", {
366
380
  className: "filter-box"
367
381
  }, renderFormItem(extraFilter, false))));
368
382
  };
@@ -409,4 +423,4 @@ var PageTemplate = function PageTemplate(props) {
409
423
  columns: columns
410
424
  }))), isSpinLoading && /*#__PURE__*/React.createElement(ExportExcels, exportProps));
411
425
  };
412
- export default PageTemplate;
426
+ export default /*#__PURE__*/forwardRef(PageTemplate);
@@ -53,6 +53,14 @@
53
53
  margin-bottom: 5px;
54
54
  }
55
55
  }
56
+
57
+ .filter-btn {
58
+ display: flex;
59
+ flex-direction: row;
60
+ min-width: 0;
61
+ min-height: 0;
62
+ align-items: center;
63
+ }
56
64
  }
57
65
 
58
66
  .ant-table-thead>tr>th,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yilianjituan/yilian_dgerm",
3
- "version": "0.0.1-alpha.29",
3
+ "version": "0.0.1-alpha.30",
4
4
  "description": "A react library developed with dumi",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,7 +17,9 @@
17
17
  "lint": "npm run lint:es && npm run lint:css",
18
18
  "lint:css": "stylelint \"{src,test}/**/*.{css,less}\"",
19
19
  "lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
20
- "prepublishOnly": "father doctor && npm run build"
20
+ "prepublishOnly": "father doctor && npm run build",
21
+ "copy-dist": "node ./scripts/copyDist.js",
22
+ "build-copy": "npm run build && npm run copy-dist"
21
23
  },
22
24
  "authors": [],
23
25
  "license": "MIT",
@@ -64,12 +66,12 @@
64
66
  "antd": "^5.18.0",
65
67
  "axios": "^1.7.7",
66
68
  "dayjs": "^1.11.11",
69
+ "echarts": "^5.0.0",
67
70
  "jsdom": "20.0.0",
68
71
  "lodash": "^4.17.20",
69
72
  "qs": "^6.9.7",
70
73
  "react": ">=16.9.0",
71
- "react-dom": ">=16.9.0",
72
- "echarts": "^5.0.0"
74
+ "react-dom": ">=16.9.0"
73
75
  },
74
76
  "devDependencies": {
75
77
  "@commitlint/cli": "^17.1.2",
@@ -91,6 +93,7 @@
91
93
  "prettier-plugin-packagejson": "^2.2.18",
92
94
  "react-scripts": "5.0.1",
93
95
  "sass": "^1.75.0",
96
+ "fs-extra": "^11.2.0",
94
97
  "stylelint": "^14.9.1"
95
98
  },
96
99
  "resolutions": {