Prechádzať zdrojové kódy

chore: 修改文本限制字数

chenlei 2 rokov pred
rodič
commit
a1d4c22870

+ 1 - 1
package.json

@@ -6,7 +6,7 @@
   "dependencies": {
     "@ant-design/icons": "^5.1.4",
     "@babel/core": "^7.16.0",
-    "@dage/web-components": "^1.0.2",
+    "@dage/web-components": "^1.0.4",
     "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
     "@svgr/webpack": "^5.5.0",
     "@testing-library/jest-dom": "^5.16.5",

+ 11 - 2
src/App.tsx

@@ -1,7 +1,7 @@
 import React from "react";
 import { Route, Routes } from "react-router-dom";
 import { ConfigProvider } from "antd";
-import zhCN from "antd/locale/zh_CN";
+import zhCN from "antd/lib/locale/zh_CN";
 import { MemoSpinLoding } from "./components";
 import theme from "./theme.scss";
 import "./App.scss";
@@ -9,11 +9,20 @@ import "./App.scss";
 const Login = React.lazy(() => import("./pages/Login"));
 const Layout = React.lazy(() => import("./pages/Layout"));
 
+const Zhlocale: typeof zhCN = zhCN;
+if (Zhlocale.DatePicker?.lang) {
+  Zhlocale.DatePicker.lang = {
+    ...Zhlocale.DatePicker.lang,
+    monthFormat: "M月",
+    shortWeekDays: ["日", "一", "二", "三", "四", "五", "六"],
+  };
+}
+
 function App() {
   return (
     <div className="App">
       <ConfigProvider
-        locale={zhCN}
+        locale={Zhlocale}
         theme={{ token: { colorPrimary: theme.primaryColor } }}
       >
         <React.Suspense fallback={<MemoSpinLoding />}>

+ 5 - 5
src/pages/History/create-or-edit/index.tsx

@@ -50,7 +50,7 @@ export default function HistoryCreateOrEdit() {
   const handleSubmit = useCallback(async () => {
     if (!(await formRef.current?.validateFields())) return;
 
-    const { fileIds, ...rest } = formRef.current?.getFieldsValue();
+    const { fileIds = [], ...rest } = formRef.current?.getFieldsValue();
 
     if (params.id) {
       rest.id = params.id;
@@ -111,10 +111,10 @@ export default function HistoryCreateOrEdit() {
                   />
                 </Form.Item>
                 <Form.Item label="企业" name="companyName">
-                  <Input
+                  <Input.TextArea
                     className="w450"
                     placeholder="请输入内容"
-                    maxLength={30}
+                    maxLength={200}
                     showCount
                     readOnly={readonly.current}
                   />
@@ -123,7 +123,7 @@ export default function HistoryCreateOrEdit() {
                   <Input.TextArea
                     className="w450"
                     placeholder="请输入内容"
-                    maxLength={200}
+                    maxLength={2000}
                     rows={8}
                     showCount
                     readOnly={readonly.current}
@@ -133,7 +133,7 @@ export default function HistoryCreateOrEdit() {
                   <Input.TextArea
                     className="w450"
                     placeholder="请输入内容"
-                    maxLength={200}
+                    maxLength={2000}
                     rows={8}
                     showCount
                     readOnly={readonly.current}

+ 1 - 1
src/pages/IndustrialMeta/create-or-edit/index.tsx

@@ -65,7 +65,7 @@ export default function HistoryCreateOrEdit() {
           <Input.TextArea
             className="w450"
             placeholder="请输入内容"
-            maxLength={200}
+            maxLength={2000}
             rows={12}
             showCount
             readOnly={readonly.current}

+ 21 - 21
src/pages/Layout/constants.tsx

@@ -11,80 +11,80 @@ import { RouteType } from "./types";
 
 export const DEFAULT_MENU: RouteType[] = [
   {
-    key: "/weapon",
-    label: "国之重器",
-    icon: <GlobalOutlined />,
-    component: React.lazy(() => import("../Weapon")),
+    key: "/overview",
+    label: "概况总览",
+    icon: <PieChartOutlined />,
+    component: React.lazy(() => import("../Overview")),
     child: [
       {
         key: "/create",
         hide: true,
         label: "新增",
-        component: React.lazy(() => import("../Weapon/create-or-edit")),
+        component: React.lazy(() => import("../Overview/create-or-edit")),
       },
       {
         key: "/view/:id",
         hide: true,
         label: "查看",
-        component: React.lazy(() => import("../Weapon/create-or-edit")),
+        component: React.lazy(() => import("../Overview/create-or-edit")),
       },
       {
         key: "/edit/:id",
         hide: true,
         label: "编辑",
-        component: React.lazy(() => import("../Weapon/create-or-edit")),
+        component: React.lazy(() => import("../Overview/create-or-edit")),
       },
     ],
   },
   {
-    key: "/overview",
-    label: "概况总览",
-    icon: <PieChartOutlined />,
-    component: React.lazy(() => import("../Overview")),
+    key: "/history",
+    label: "历史回顾",
+    icon: <DeploymentUnitOutlined />,
+    component: React.lazy(() => import("../History")),
     child: [
       {
         key: "/create",
         hide: true,
         label: "新增",
-        component: React.lazy(() => import("../Overview/create-or-edit")),
+        component: React.lazy(() => import("../History/create-or-edit")),
       },
       {
         key: "/view/:id",
         hide: true,
         label: "查看",
-        component: React.lazy(() => import("../Overview/create-or-edit")),
+        component: React.lazy(() => import("../History/create-or-edit")),
       },
       {
         key: "/edit/:id",
         hide: true,
         label: "编辑",
-        component: React.lazy(() => import("../Overview/create-or-edit")),
+        component: React.lazy(() => import("../History/create-or-edit")),
       },
     ],
   },
   {
-    key: "/history",
-    label: "历史回顾",
-    icon: <DeploymentUnitOutlined />,
-    component: React.lazy(() => import("../History")),
+    key: "/weapon",
+    label: "国之重器",
+    icon: <GlobalOutlined />,
+    component: React.lazy(() => import("../Weapon")),
     child: [
       {
         key: "/create",
         hide: true,
         label: "新增",
-        component: React.lazy(() => import("../History/create-or-edit")),
+        component: React.lazy(() => import("../Weapon/create-or-edit")),
       },
       {
         key: "/view/:id",
         hide: true,
         label: "查看",
-        component: React.lazy(() => import("../History/create-or-edit")),
+        component: React.lazy(() => import("../Weapon/create-or-edit")),
       },
       {
         key: "/edit/:id",
         hide: true,
         label: "编辑",
-        component: React.lazy(() => import("../History/create-or-edit")),
+        component: React.lazy(() => import("../Weapon/create-or-edit")),
       },
     ],
   },

+ 1 - 1
src/pages/Login/index.tsx

@@ -28,7 +28,7 @@ export default function Login() {
 
       // 用户信息存到本地
       setTokenInfo(data);
-      navigate("/weapon", {
+      navigate("/overview", {
         replace: true,
       });
     } finally {

+ 16 - 13
src/pages/Overview/create-or-edit/index.tsx

@@ -4,7 +4,7 @@ import { RangePickerProps } from "antd/es/date-picker";
 import {
   DageMap,
   DageUpload,
-  DageMapEvent,
+  DageMapLngLatChangeEvent,
   DageMapMethods,
   DageUploadProvider,
   DageUploadConsumer,
@@ -66,7 +66,11 @@ export default function OverviewCreateOrEdit() {
   const handleSubmit = useCallback(async () => {
     if (!(await formRef.current?.validateFields())) return;
 
-    const { createDay, fileIds, ...rest } = formRef.current?.getFieldsValue();
+    const {
+      createDay,
+      fileIds = [],
+      ...rest
+    } = formRef.current?.getFieldsValue();
 
     if (params.id) {
       rest.id = params.id;
@@ -86,11 +90,12 @@ export default function OverviewCreateOrEdit() {
     handleCancel();
   }, [handleCancel, params.id, position, address]);
 
-  const handleMapChange = useCallback((data: DageMapEvent) => {
-    if (data.lng && data.lat) {
-      setPosition([data.lng, data.lat]);
-    }
-    setAddress(data.address || "");
+  const handleAddressChange = useCallback((val: string) => {
+    setAddress(val);
+  }, []);
+
+  const handleLngLatChange = useCallback((data: DageMapLngLatChangeEvent) => {
+    setPosition([data.lng, data.lat]);
   }, []);
 
   useEffect(() => {
@@ -128,7 +133,7 @@ export default function OverviewCreateOrEdit() {
                       readOnly={readonly.current}
                       className="w450"
                       placeholder="请输入内容"
-                      maxLength={200}
+                      maxLength={2000}
                       showCount
                     />
                   </Form.Item>
@@ -136,10 +141,7 @@ export default function OverviewCreateOrEdit() {
                     <DageUpload
                       disabled={readonly.current}
                       tips="支持png、jpg和jpeg格式;最多9张,最大5M"
-                      action={
-                        process.env.REACT_APP_BACKEND_URL +
-                        "/api/cms/history/upload"
-                      }
+                      action="/api/cms/history/upload"
                     />
                   </Form.Item>
                   <Form.Item label="企业类型" name="type">
@@ -176,7 +178,8 @@ export default function OverviewCreateOrEdit() {
                       address={address}
                       city={310000}
                       inputTipsApi="/api/cms/goods/mapSearch/"
-                      onChange={handleMapChange}
+                      onLngLatChange={handleLngLatChange}
+                      onAddressChange={handleAddressChange}
                     />
                   </Form.Item>
                 </Form>

+ 2 - 0
src/pages/Overview/index.tsx

@@ -58,6 +58,8 @@ export default function Overview() {
       },
       {
         title: "简介",
+        width: 400,
+        ellipsis: true,
         render: (item: OverviewParams) =>
           item.description ? item.description : "(空)",
       },

+ 5 - 4
src/pages/Weapon/create-or-edit/index.tsx

@@ -82,7 +82,7 @@ export default function HistoryCreateOrEdit() {
     await weaponApi.add({
       ...rest,
       thumb: thumb
-        .map((i: any) => (!!i.response ? i.response.data.filePath : i.uid))
+        .map((i: any) => (!!i.response ? i.response.filePath : i.uid))
         .join(),
       fileIds: fileList
         .map((i) => (!!i.response ? i.response.id : i.uid))
@@ -120,7 +120,7 @@ export default function HistoryCreateOrEdit() {
                   <Input
                     className="w450"
                     placeholder="请输入内容"
-                    maxLength={20}
+                    maxLength={50}
                     showCount
                     readOnly={readonly.current}
                   />
@@ -180,7 +180,7 @@ export default function HistoryCreateOrEdit() {
                   <Input
                     className="w450"
                     placeholder="请输入内容"
-                    maxLength={30}
+                    maxLength={100}
                     showCount
                     readOnly={readonly.current}
                   />
@@ -198,7 +198,7 @@ export default function HistoryCreateOrEdit() {
                   <Input.TextArea
                     className="w450"
                     placeholder="请输入内容"
-                    maxLength={200}
+                    maxLength={2000}
                     rows={8}
                     showCount
                     readOnly={readonly.current}
@@ -236,6 +236,7 @@ export default function HistoryCreateOrEdit() {
                 >
                   <DageFileCheckbox
                     ref={dageFileCheckboxRef}
+                    hasMobileModel
                     disabled={readonly.current}
                     action="/api/cms/goods/upload"
                     onFileChange={handleFileChange}

+ 62 - 15
yarn.lock

@@ -1570,12 +1570,15 @@
   resolved "http://localhost:4873/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz#53fa5fe9c34faee89469e48f91d51a3766108bc8"
   integrity sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==
 
-"@dage/web-components@^1.0.2":
-  version "1.0.2"
-  resolved "http://192.168.0.32:4873/@dage/web-components/-/web-components-1.0.2.tgz#777592c9e17762eb51db430387172ffc0ae6eec3"
-  integrity sha512-E/8bHR3zdYIHZgfYeWSGFHvASc9iAmMBMUKeVbmt32M0PQ9e/nwGu9vaKlDlMJj3/bNhEFaam3VgO6gFaouMwQ==
+"@dage/web-components@^1.0.4":
+  version "1.1.2"
+  resolved "http://192.168.0.32:4873/@dage/web-components/-/web-components-1.1.2.tgz#544efbbfe9d1bfc0e8b2a03fd297164585eca62e"
+  integrity sha512-sWuGJQcnfSImLtdxBgjV7IYCIWh15ixwXC72tYApVj3XrbaHfwqA7r1e8dfb619WWeeZ0+YhsQnIlBh6cbejtQ==
   dependencies:
     "@amap/amap-react" "^0.1.5"
+    classnames "^2.3.2"
+    js-base64 "^3.7.5"
+    query-string "^8.1.0"
     styled-components "^6.0.5"
 
 "@emotion/hash@^0.8.0":
@@ -3563,7 +3566,7 @@ browser-process-hrtime@^1.0.0:
   resolved "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
   integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
 
-browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5, browserslist@^4.21.9:
+browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5:
   version "4.21.9"
   resolved "http://192.168.0.32:4873/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635"
   integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==
@@ -3573,6 +3576,16 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4
     node-releases "^2.0.12"
     update-browserslist-db "^1.0.11"
 
+browserslist@^4.21.9:
+  version "4.21.10"
+  resolved "http://192.168.0.32:4873/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0"
+  integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==
+  dependencies:
+    caniuse-lite "^1.0.30001517"
+    electron-to-chromium "^1.4.477"
+    node-releases "^2.0.13"
+    update-browserslist-db "^1.0.11"
+
 bser@2.1.1:
   version "2.1.1"
   resolved "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
@@ -3657,9 +3670,14 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464:
   integrity sha512-NaWPJawcoedlghN4P7bDNeADD7K+rZaY6V8ZcME7PkEZo/nfOg+lnrUgRWiKbNxcQ4/toFKSxnS4WdbyPZnKkw==
 
 caniuse-lite@^1.0.30001503:
-  version "1.0.30001517"
-  resolved "http://192.168.0.32:4873/caniuse-lite/-/caniuse-lite-1.0.30001517.tgz#90fabae294215c3495807eb24fc809e11dc2f0a8"
-  integrity sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==
+  version "1.0.30001518"
+  resolved "http://192.168.0.32:4873/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz#b3ca93904cb4699c01218246c4d77a71dbe97150"
+  integrity sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==
+
+caniuse-lite@^1.0.30001517:
+  version "1.0.30001519"
+  resolved "http://192.168.0.32:4873/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz#3e7b8b8a7077e78b0eb054d69e6edf5c7df35601"
+  integrity sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==
 
 case-sensitive-paths-webpack-plugin@^2.4.0:
   version "2.4.0"
@@ -4252,6 +4270,11 @@ decimal.js@^10.2.1:
   resolved "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
   integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
 
+decode-uri-component@^0.4.1:
+  version "0.4.1"
+  resolved "http://192.168.0.32:4873/decode-uri-component/-/decode-uri-component-0.4.1.tgz#2ac4859663c704be22bf7db760a1494a49ab2cc5"
+  integrity sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==
+
 dedent@^0.7.0:
   version "0.7.0"
   resolved "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
@@ -4518,9 +4541,14 @@ ejs@^3.1.6:
     jake "^10.8.5"
 
 electron-to-chromium@^1.4.431:
-  version "1.4.475"
-  resolved "http://192.168.0.32:4873/electron-to-chromium/-/electron-to-chromium-1.4.475.tgz#2fee0e2a70cc1538b94f7f90aabcc436e4dcc827"
-  integrity sha512-mTye5u5P98kSJO2n7zYALhpJDmoSQejIGya0iR01GpoRady8eK3bw7YHHnjA1Rfi4ZSLdpuzlAC7Zw+1Zu7Z6A==
+  version "1.4.480"
+  resolved "http://192.168.0.32:4873/electron-to-chromium/-/electron-to-chromium-1.4.480.tgz#40e32849ca50bc23ce29c1516c5adb3fddac919d"
+  integrity sha512-IXTgg+bITkQv/FLP9FjX6f9KFCs5hQWeh5uNSKxB9mqYj/JXhHDbu+ekS43LVvbkL3eW6/oZy4+r9Om6lan1Uw==
+
+electron-to-chromium@^1.4.477:
+  version "1.4.482"
+  resolved "http://192.168.0.32:4873/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz#77c5ed37b93d4dda860e27538e0e2a01d6a19e02"
+  integrity sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==
 
 emittery@^0.10.2:
   version "0.10.2"
@@ -5136,6 +5164,11 @@ fill-range@^7.0.1:
   dependencies:
     to-regex-range "^5.0.1"
 
+filter-obj@^5.1.0:
+  version "5.1.0"
+  resolved "http://192.168.0.32:4873/filter-obj/-/filter-obj-5.1.0.tgz#5bd89676000a713d7db2e197f660274428e524ed"
+  integrity sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==
+
 finalhandler@1.2.0:
   version "1.2.0"
   resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
@@ -7152,7 +7185,7 @@ node-int64@^0.4.0:
   resolved "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
   integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
 
-node-releases@^2.0.12:
+node-releases@^2.0.12, node-releases@^2.0.13:
   version "2.0.13"
   resolved "http://192.168.0.32:4873/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
   integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
@@ -8185,6 +8218,15 @@ qs@6.11.0:
   dependencies:
     side-channel "^1.0.4"
 
+query-string@^8.1.0:
+  version "8.1.0"
+  resolved "http://192.168.0.32:4873/query-string/-/query-string-8.1.0.tgz#e7f95367737219544cd360a11a4f4ca03836e115"
+  integrity sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==
+  dependencies:
+    decode-uri-component "^0.4.1"
+    filter-obj "^5.1.0"
+    split-on-first "^3.0.0"
+
 querystringify@^2.1.1:
   version "2.2.0"
   resolved "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
@@ -9319,6 +9361,11 @@ spdy@^4.0.2:
     select-hose "^2.0.0"
     spdy-transport "^3.0.0"
 
+split-on-first@^3.0.0:
+  version "3.0.0"
+  resolved "http://192.168.0.32:4873/split-on-first/-/split-on-first-3.0.0.tgz#f04959c9ea8101b9b0bbf35a61b9ebea784a23e7"
+  integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==
+
 sprintf-js@~1.0.2:
   version "1.0.3"
   resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -9509,9 +9556,9 @@ style-loader@^3.3.1:
   integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==
 
 styled-components@^6.0.5:
-  version "6.0.5"
-  resolved "http://192.168.0.32:4873/styled-components/-/styled-components-6.0.5.tgz#a2588432507a57d946bfb6feb2ebd13fce447bd9"
-  integrity sha512-308zi5o7LrA9cVaP4nPD0TaUpOjGPePkAUFb/OGB0xRI3I9ozpW5UyASvRVi9wJcYASG+Y3mLDLDUZC7nqzimw==
+  version "6.0.6"
+  resolved "http://192.168.0.32:4873/styled-components/-/styled-components-6.0.6.tgz#cfead4b7d8cab393e0c73f6e3d5d34c8961d1387"
+  integrity sha512-gkToLizJyiaRLGlPzfzvBY4DoC/fAKnRulstNXv/zXyvqKVaIQNHFbufjM1sspwqd77azcpnWuoZBL4O+oqxVw==
   dependencies:
     "@babel/cli" "^7.21.0"
     "@babel/core" "^7.21.0"