From 805b3a074afa7e072e18e49f187617559c26f0a0 Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 15:49:53 +0800 Subject: [PATCH 1/9] docs: update --- apps/playground/package.json | 6 +- apps/playground/src/helpers/index.tsx | 109 +----- apps/playground/src/helpers/prototypes.ts | 129 +++++++ apps/playground/src/pages/index.tsx | 50 +-- yarn.lock | 441 +++++++++++++++++++++- 5 files changed, 574 insertions(+), 161 deletions(-) create mode 100644 apps/playground/src/helpers/prototypes.ts diff --git a/apps/playground/package.json b/apps/playground/package.json index 257f7642..5a99e6c3 100644 --- a/apps/playground/package.json +++ b/apps/playground/package.json @@ -12,13 +12,9 @@ }, "dependencies": { "@ant-design/icons": "^4.8.0", + "@music163/antd": "^0.2.4", "antd": "^4.24.2", "coral-system": "^1.0.5", "umi": "^4.0.89" - }, - "devDependencies": { - "@types/react": "^18.0.33", - "@types/react-dom": "^18.0.11", - "typescript": "^5.0.3" } } diff --git a/apps/playground/src/helpers/index.tsx b/apps/playground/src/helpers/index.tsx index 431b0d18..1eeaf5b5 100644 --- a/apps/playground/src/helpers/index.tsx +++ b/apps/playground/src/helpers/index.tsx @@ -3,7 +3,7 @@ import { Box, Group } from 'coral-system'; import { Avatar, Space, Switch } from 'antd'; import { BranchesOutlined, MenuOutlined, QuestionCircleOutlined } from '@ant-design/icons'; import { registerSetter } from '@music163/tango-designer'; -import type { ComponentPrototypeType, IVariableTreeNode } from '@music163/tango-helpers'; +import type { IVariableTreeNode } from '@music163/tango-helpers'; import { FooSetter } from '../components'; export * from './mock-files'; @@ -37,113 +37,6 @@ export const bootHelperVariables: IVariableTreeNode[] = [ }, ]; -// folder-name -// 物料列表定义 -const bizToggleButtonPrototype: ComponentPrototypeType = { - name: 'CtPcToggleButton', - exportType: 'defaultExport', - title: '示例业务组件', - icon: 'icon-tupian', - type: 'element', - docs: 'https://redstone.fn.netease.com/mt/fe-comp/w8bq8px7n5/toggle-button', - hasChildren: false, - props: [ - { - name: 'checked', - title: '是否选中', - setter: 'boolSetter', - defaultValue: false, - }, - { - name: 'children', - title: '文本', - setter: 'textSetter', - initValue: '按钮', - }, - ], - package: '@music/ct-pc-toggle-button', -}; - -const sampleBlockCode = ` -
- - Go Console - , - , - ]} - /> -
-`; - -const SnippetSuccessResult: ComponentPrototypeType = { - name: 'SnippetSuccessResult', - title: '成功结果', - icon: 'icon-tupian', - type: 'snippet', - package: '@music163/antd', - initChildren: sampleBlockCode, - relatedImports: ['Section', 'Result', 'Button'], -}; - -const Snippet2ColumnLayout: ComponentPrototypeType = { - name: 'Snippet2ColumnLayout', - title: '两列布局', - icon: 'icon-columns', - type: 'snippet', - package: '@music163/antd', - initChildren: ` - - - - - `, - relatedImports: ['Columns', 'Column'], -}; - -const Snippet3ColumnLayout: ComponentPrototypeType = { - name: 'Snippet3ColumnLayout', - title: '三列布局', - icon: 'icon-column3', - type: 'snippet', - package: '@music163/antd', - initChildren: ` - - - - - - `, - relatedImports: ['Columns', 'Column'], -}; - -const SnippetButtonGroup: ComponentPrototypeType = { - name: 'SnippetButtonGroup', - title: '按钮组', - icon: 'icon-anniuzu', - type: 'snippet', - package: '@music163/antd', - initChildren: ` - - - - - `, - relatedImports: ['Space', 'Button'], -}; - -export const extendPrototypes = { - CtPcToggleButton: bizToggleButtonPrototype, - SnippetSuccessResult, - Snippet2ColumnLayout, - Snippet3ColumnLayout, - SnippetButtonGroup, -}; - // 注册自定义 setter registerSetter({ name: 'fooSetter', diff --git a/apps/playground/src/helpers/prototypes.ts b/apps/playground/src/helpers/prototypes.ts new file mode 100644 index 00000000..9ffea30d --- /dev/null +++ b/apps/playground/src/helpers/prototypes.ts @@ -0,0 +1,129 @@ +import * as basePrototypes from '@music163/antd/prototypes'; +import type { ComponentPrototypeType, Dict } from '@music163/tango-helpers'; + +const sampleBlockCode = ` +
+ + Go Console + , + , + ]} + /> +
+`; + +const SnippetSuccessResult: ComponentPrototypeType = { + name: 'SnippetSuccessResult', + title: '成功结果', + icon: 'icon-tupian', + type: 'snippet', + package: '@music163/antd', + initChildren: sampleBlockCode, + relatedImports: ['Section', 'Result', 'Button'], +}; + +const Snippet2ColumnLayout: ComponentPrototypeType = { + name: 'Snippet2ColumnLayout', + title: '两列布局', + icon: 'icon-columns', + type: 'snippet', + package: '@music163/antd', + initChildren: ` + + + + + `, + relatedImports: ['Columns', 'Column'], +}; + +const Snippet3ColumnLayout: ComponentPrototypeType = { + name: 'Snippet3ColumnLayout', + title: '三列布局', + icon: 'icon-column3', + type: 'snippet', + package: '@music163/antd', + initChildren: ` + + + + + + `, + relatedImports: ['Columns', 'Column'], +}; + +const SnippetButtonGroup: ComponentPrototypeType = { + name: 'SnippetButtonGroup', + title: '按钮组', + icon: 'icon-anniuzu', + type: 'snippet', + package: '@music163/antd', + initChildren: ` + + + + + `, + relatedImports: ['Space', 'Button'], +}; + +// hack some prototypes +basePrototypes['Section'].siblingNames = [ + 'SnippetButtonGroup', + 'Section', + 'Section', + 'Section', + 'Section', + 'Section', + 'Section', + 'Section', +]; + +// iconfont: https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=2891794 +const prototypes: Dict = { + ...(basePrototypes as any), + SnippetSuccessResult, + Snippet2ColumnLayout, + Snippet3ColumnLayout, + SnippetButtonGroup, + Box: { + name: 'Box', + title: '盒子', + icon: 'icon-mianban', + type: 'container', + package: '@music163/antd', + hasChildren: true, + siblingNames: ['Box'], + }, + Columns: { + name: 'Columns', + type: 'container', + icon: 'icon-column-4', + package: '@music163/antd', + hasChildren: true, + childrenNames: ['Column'], + }, + Column: { + name: 'Column', + type: 'container', + icon: 'icon-juxing', + package: '@music163/antd', + hasChildren: true, + siblingNames: ['Column'], + }, + Text: { + name: 'Text', + type: 'element', + icon: 'icon-wenzi', + package: '@music163/antd', + initChildren: '文本内容', + }, +}; + +export default prototypes; diff --git a/apps/playground/src/pages/index.tsx b/apps/playground/src/pages/index.tsx index f86c7e45..db5db090 100644 --- a/apps/playground/src/pages/index.tsx +++ b/apps/playground/src/pages/index.tsx @@ -1,4 +1,3 @@ -import React, { useState } from 'react'; import { Box } from 'coral-system'; import { Button, Space } from 'antd'; import { @@ -15,13 +14,8 @@ import { themeLight, } from '@music163/tango-designer'; import { createEngine, Workspace } from '@music163/tango-core'; -import { - Logo, - ProjectDetail, - bootHelperVariables, - extendPrototypes, - sampleFiles, -} from '../helpers'; +import prototypes from '../helpers/prototypes'; +import { Logo, ProjectDetail, bootHelperVariables, sampleFiles } from '../helpers'; import { ApiOutlined, AppstoreAddOutlined, @@ -35,9 +29,12 @@ import { const workspace = new Workspace({ entry: '/src/index.js', files: sampleFiles, - prototypes: extendPrototypes, + prototypes, }); +// inject workspace to window for debug +(window as any).__workspace__ = workspace; + // 2. 引擎初始化 const engine = createEngine({ workspace, @@ -53,7 +50,7 @@ const sandboxQuery = new DndQuery({ // 4. 图标库初始化(物料面板和组件树使用了 iconfont 里的图标) createFromIconfontCN({ - scriptUrl: '//at.alicdn.com/t/c/font_2891794_cou9i7556tl.js', + scriptUrl: '//at.alicdn.com/t/c/font_2891794_6d4hj5u0bjx.js', }); const menuData = { @@ -87,8 +84,6 @@ const menuData = { * 5. 平台初始化,访问 https://local.netease.com:6006/ */ export default function App() { - const [menuLoading, setMenuLoading] = useState(true); - // const [menuData, setMenuData] = useState(false); return ( } widgetProps={{ menuData, - loading: menuLoading, }} /> } /> @@ -153,31 +147,17 @@ export default function App() { onMessage={(e) => { if (e.type === 'done') { const sandboxWindow: any = sandboxQuery.window; - if (sandboxWindow.TangoAntd) { - // if (sandboxWindow.TangoAntd.menuData) { - // setMenuData(sandboxWindow.TangoAntd.menuData); - // } - if (sandboxWindow.TangoAntd.prototypes) { - sandboxWindow.TangoAntd.prototypes['Section'].siblingNames = [ - 'SnippetButtonGroup', - 'Section', - 'Section', - 'Section', - 'Section', - 'Section', - 'Section', - 'Section', - ]; - sandboxWindow.TangoAntd.prototypes['FormilyFormItem'].siblingNames = [ - 'FormilyFormItem', - ]; - workspace.setComponentPrototypes(sandboxWindow.TangoAntd.prototypes); - } - } + // if (sandboxWindow.TangoAntd) { + // if (sandboxWindow.TangoAntd.menuData) { + // setMenuData(sandboxWindow.TangoAntd.menuData); + // } + // if (sandboxWindow.TangoAntd.prototypes) { + // workspace.setComponentPrototypes(sandboxWindow.TangoAntd.prototypes); + // } + // } if (sandboxWindow.localTangoComponentPrototypes) { workspace.setComponentPrototypes(sandboxWindow.localTangoComponentPrototypes); } - setMenuLoading(false); } }} navigatorExtra={} diff --git a/yarn.lock b/yarn.lock index 07fa151e..48913039 100644 --- a/yarn.lock +++ b/yarn.lock @@ -27,6 +27,18 @@ resolved "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz#4b2f65a17d4d32b526baa6414aca2117382bf8da" integrity sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g== +"@ant-design/icons@4", "@ant-design/icons@^4.8.2": + version "4.8.3" + resolved "https://registry.npmmirror.com/@ant-design/icons/-/icons-4.8.3.tgz#41555408ed5e9b0c3d53f3f24fe6a73abfcf4000" + integrity sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw== + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons-svg" "^4.3.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + lodash "^4.17.15" + rc-util "^5.9.4" + "@ant-design/icons@^4.8.0", "@ant-design/icons@^4.8.1": version "4.8.1" resolved "https://registry.npmmirror.com/@ant-design/icons/-/icons-4.8.1.tgz#44f6c81f609811d68d48a123eb5dcc477f8fbcb7" @@ -1298,6 +1310,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.12.13": + version "7.24.1" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.1.tgz#431f9a794d173b53720e69a6464abc6f0e2a5c57" + integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.12.7", "@babel/template@^7.22.15", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.npmmirror.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" @@ -1693,6 +1712,37 @@ resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@dnd-kit/accessibility@^3.1.0": + version "3.1.0" + resolved "https://registry.npmmirror.com/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz#1054e19be276b5f1154ced7947fc0cb5d99192e0" + integrity sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ== + dependencies: + tslib "^2.0.0" + +"@dnd-kit/core@^6.0.0": + version "6.1.0" + resolved "https://registry.npmmirror.com/@dnd-kit/core/-/core-6.1.0.tgz#e81a3d10d9eca5d3b01cbf054171273a3fe01def" + integrity sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg== + dependencies: + "@dnd-kit/accessibility" "^3.1.0" + "@dnd-kit/utilities" "^3.2.2" + tslib "^2.0.0" + +"@dnd-kit/sortable@^7.0.0": + version "7.0.2" + resolved "https://registry.npmmirror.com/@dnd-kit/sortable/-/sortable-7.0.2.tgz#791d550872457f3f3c843e00d159b640f982011c" + integrity sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA== + dependencies: + "@dnd-kit/utilities" "^3.2.0" + tslib "^2.0.0" + +"@dnd-kit/utilities@^3.2.0", "@dnd-kit/utilities@^3.2.2": + version "3.2.2" + resolved "https://registry.npmmirror.com/@dnd-kit/utilities/-/utilities-3.2.2.tgz#5a32b6af356dc5f74d61b37d6f7129a4040ced7b" + integrity sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg== + dependencies: + tslib "^2.0.0" + "@emotion/is-prop-valid@^1.1.0", "@emotion/is-prop-valid@^1.2.0": version "1.2.1" resolved "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" @@ -2006,6 +2056,100 @@ "@floating-ui/dom" "^0.4.5" use-isomorphic-layout-effect "^1.1.1" +"@formily/antd@^2.2.29": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/antd/-/antd-2.3.1.tgz#56a7e73c80bdc066f327937601526a10d35306e6" + integrity sha512-+304KIcJXrt4tH8tW4uqwuz95o9ftl79jxS8k9GqWlaaSudapOxIdKp1mwAvVp9GUVUa1BNlyZNRtaSvx3+GnA== + dependencies: + "@dnd-kit/core" "^6.0.0" + "@dnd-kit/sortable" "^7.0.0" + "@formily/core" "2.3.1" + "@formily/grid" "2.3.1" + "@formily/json-schema" "2.3.1" + "@formily/react" "2.3.1" + "@formily/reactive" "2.3.1" + "@formily/reactive-react" "2.3.1" + "@formily/shared" "2.3.1" + classnames "^2.2.6" + react-sticky-box "^0.9.3" + +"@formily/core@2.3.1", "@formily/core@^2.2.29": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/core/-/core-2.3.1.tgz#76c823d81a5dc8c9d40e7a197fe57c63e1f8b7cb" + integrity sha512-dCBPnmzDpQKdN4ddxi98VbdurpbH6SHb12S9y9SnzW/QTslZnkvrvBhTlucWB5XqXJfwcyCzpZIn/GdMAbPpZg== + dependencies: + "@formily/reactive" "2.3.1" + "@formily/shared" "2.3.1" + "@formily/validator" "2.3.1" + +"@formily/grid@2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/grid/-/grid-2.3.1.tgz#154c6dba512a44b03fada142971e4361a8b79838" + integrity sha512-Je+sWa7b71qZgysbVQXiv+3bOqXnKZ3vU4RIhMXrTL4ac46+9dNSXGSVrC85C98lq9EJp/uUJhtLdUb6P3WStg== + dependencies: + "@formily/reactive" "2.3.1" + "@juggle/resize-observer" "^3.3.1" + +"@formily/json-schema@2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/json-schema/-/json-schema-2.3.1.tgz#055a4a21bf32fd898ae471742be99eb9d6e66629" + integrity sha512-LcJmU1BOYGdoip+Q9YAxHdrpjdl781WFSg0fDTD9/0A7c3xUXWwxdCYZIN0cvoXi2qq8Khyzba0pizl3YSkf0A== + dependencies: + "@formily/core" "2.3.1" + "@formily/reactive" "2.3.1" + "@formily/shared" "2.3.1" + +"@formily/path@2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/path/-/path-2.3.1.tgz#b7adb91f7d3bb0f2efc90672dda466a0590dcb1b" + integrity sha512-BVo89K5nAFntx02+EV696If1b1bVIm5I1tRPtVyCVIjBIfAgga5hK4k80GZ01Dlk3tpReHpiIbZVg2DNVfw7jA== + +"@formily/react@2.3.1", "@formily/react@^2.2.29": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/react/-/react-2.3.1.tgz#dee2897578aa8881de83a442219b071e3b88eca7" + integrity sha512-8KkFJe2OnbsgiXwY/txUcUaCQIfIkfowWQinOSni02U2ssgs2bpb1ifFHlZrFGfrrW/xhce4ANUHRgoVYt7W4Q== + dependencies: + "@formily/core" "2.3.1" + "@formily/json-schema" "2.3.1" + "@formily/reactive" "2.3.1" + "@formily/reactive-react" "2.3.1" + "@formily/shared" "2.3.1" + "@formily/validator" "2.3.1" + hoist-non-react-statics "^3.3.2" + +"@formily/reactive-react@2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/reactive-react/-/reactive-react-2.3.1.tgz#943a2961e35649674c861479d350ade0cf71106b" + integrity sha512-r6d94JBWhwXGpsffNLnRzgksQJtmqudD1cq7ky2Oljtxg5Ynl8H0Ppcnsv0bd9NbNSAeDeFs2uwWz56exgDzjA== + dependencies: + "@formily/reactive" "2.3.1" + hoist-non-react-statics "^3.3.2" + +"@formily/reactive@2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/reactive/-/reactive-2.3.1.tgz#8607d29643ba06c0d40c12bb0eca2233e42ac04f" + integrity sha512-IVHOZW7VBc+Gq9eB/gPldi7pEC3wDonDb99KvHlS8SmzsY6+a/iAdrw2mDagXXUficsC2gT4y4EcJ2f1ALMKtQ== + +"@formily/shared@2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/shared/-/shared-2.3.1.tgz#831369db4d01219b9ef72ee9140979985d14a870" + integrity sha512-qnlh6jnnIbUjcK0rWF9bm6AxgyxuBgURrzU5vMSxTNAN86P7K9+mSc/28qPsdNP9flEA2/clSexP5WEJAGYVgw== + dependencies: + "@formily/path" "2.3.1" + camel-case "^4.1.1" + lower-case "^2.0.1" + no-case "^3.0.4" + param-case "^3.0.4" + pascal-case "^3.1.1" + upper-case "^2.0.1" + +"@formily/validator@2.3.1": + version "2.3.1" + resolved "https://registry.npmmirror.com/@formily/validator/-/validator-2.3.1.tgz#94ac89bcff96c3e028dd0b81bf92fb7f50ecf292" + integrity sha512-hM/IDvU/bachpS3fOUe02C9f5EytlNu6OJzDy+AyhWBmZYIVd6QVvPtjV8nyLOXIBJM9N4sxnGSliYQNAPjR1w== + dependencies: + "@formily/shared" "2.3.1" + "@gar/promisify@^1.0.1": version "1.1.3" resolved "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" @@ -2365,6 +2509,11 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@juggle/resize-observer@^3.3.1": + version "3.4.0" + resolved "https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" + integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== + "@lerna/create@8.0.1": version "8.0.1" resolved "https://registry.npmmirror.com/@lerna/create/-/create-8.0.1.tgz#cc0ab19163c67269552292d95f23568468fa9921" @@ -2514,6 +2663,41 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@music163/antd@^0.2.4": + version "0.2.4" + resolved "https://registry.npmjs.org/@music163/antd/-/antd-0.2.4.tgz#311ad89c50fcd387638f6efbbdb8bd2d4b37ade6" + integrity sha512-6DP0zP1rXWVUgThp+2+SFyWDKX5rqiwHyy8Rh9ZbbH8ezLB8/tf/47OIBB2PWUB0slNrUoKIR95LH4A80KwN7A== + dependencies: + "@music163/formily" "^0.2.2" + "@music163/foundation" "^0.2.1" + "@music163/tango-boot" "^0.3.0" + "@music163/tango-helpers" "^1.0.0-alpha.5" + antd "4" + classnames "^2.3.2" + coral-system "^1.0.6" + +"@music163/formily@^0.2.2": + version "0.2.2" + resolved "https://registry.npmjs.org/@music163/formily/-/formily-0.2.2.tgz#e4f243ec304d10b9ee5a1a272e7e739bd0b30dce" + integrity sha512-nWsdZJaQI8fi/hFNiYBXo5/Zta5xlUpl0kLMTOex5iV9B7/kUbHKQvik+6a1LgSbfLa548GiKPZTOJG1Pptacg== + dependencies: + "@ant-design/icons" "4" + "@formily/antd" "^2.2.29" + "@formily/core" "^2.2.29" + "@formily/react" "^2.2.29" + "@music163/foundation" "^0.2.1" + antd "4" + classnames "^2.3.2" + coral-system "^1.0.6" + +"@music163/foundation@^0.2.1": + version "0.2.1" + resolved "https://registry.npmjs.org/@music163/foundation/-/foundation-0.2.1.tgz#dcd66fc2e2152ba4e9390fe68b43e8e45247cf6b" + integrity sha512-xHn9TTXUsj2r4KB+2nQLv6MIF6B+5bbirB19MUHv/jrnhO33Vw+VTX/hkE6dVTsHF0hqR23b/bdojQ6tFKttNA== + dependencies: + "@music163/tango-boot" "^0.3.0" + coral-system "^1.0.6" + "@music163/request@^0.1.2": version "0.1.2" resolved "https://registry.npmjs.org/@music163/request/-/request-0.1.2.tgz#cbf6ac18e5d640c8493b6ef467aeeb4584d3d8cc" @@ -2521,6 +2705,27 @@ dependencies: axios "^1.4.0" +"@music163/request@^0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@music163/request/-/request-0.2.0.tgz#f7114ffa5582939da7996d780052aff34a0406d9" + integrity sha512-nCO0gMOaYSEA0fAkvXez9JtEPoZEw3+dJzQGLCwEpL/nV76ouZoOZ+gFCjF6/J2Gh3ZGOqb/8jVaNFVlr3QjRQ== + dependencies: + axios "^1.4.0" + +"@music163/tango-boot@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@music163/tango-boot/-/tango-boot-0.3.0.tgz#5d0474d6b1ce80b24165336f8ac2f936f1ae5807" + integrity sha512-IAP6w1QhiOl8rVvL8MSfFAc9xeZf0Aw6pVyDY+sDoR28W/gB/x0mcYoqcgW89UxONPNtrsq6EIBG3bIOvnLl5w== + dependencies: + "@music163/request" "^0.2.0" + "@music163/tango-helpers" "^1.0.0-alpha.5" + "@risingstack/react-easy-state" "^6.3.0" + "@types/react-router-config" "^5.0.7" + history "^4.10.1" + react-error-boundary "^4.0.11" + react-router "5" + react-router-config "5" + "@music163/tango-core@^0.2.11": version "0.2.11" resolved "https://registry.npmjs.org/@music163/tango-core/-/tango-core-0.2.11.tgz#b3fba390b69d3b3feeb6ec6c587622abbabbdbf4" @@ -2705,6 +2910,11 @@ nx "17.2.6" tslib "^2.3.0" +"@nx-js/observer-util@^4.2.2": + version "4.2.2" + resolved "https://registry.npmmirror.com/@nx-js/observer-util/-/observer-util-4.2.2.tgz#faea1bc61936653486d1b5dec7485220991e628d" + integrity sha512-9OayX1xkdGjdnsDiO2YdaYJ6aMyCF7/NY4QWVgIgjSAZJ4OX2fD766Ts79hEzBscenQy2DCaSoY8VkguIMB1ZA== + "@nx/devkit@17.2.6", "@nx/devkit@>=17.1.2 < 18": version "17.2.6" resolved "https://registry.npmmirror.com/@nx/devkit/-/devkit-17.2.6.tgz#e65d8386ca7467d49de2193bc963a78561134623" @@ -2925,6 +3135,13 @@ classnames "^2.3.2" rc-util "^5.24.4" +"@risingstack/react-easy-state@^6.3.0": + version "6.3.0" + resolved "https://registry.npmmirror.com/@risingstack/react-easy-state/-/react-easy-state-6.3.0.tgz#3590031f7382c5c6c7866790ba7a72e557a12407" + integrity sha512-AGLrzvwloZL7dgagwRkxJaq7bcDsOGdHrCpHZIlMIxcFLdFr5IpD2/kcmTlC34H682pvfIl1lzNxBw72la10aA== + dependencies: + "@nx-js/observer-util" "^4.2.2" + "@sigstore/bundle@^1.1.0": version "1.1.0" resolved "https://registry.npmmirror.com/@sigstore/bundle/-/bundle-1.1.0.tgz#17f8d813b09348b16eeed66a8cf1c3d6bd3d04f1" @@ -4063,6 +4280,11 @@ dependencies: "@types/unist" "^2" +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== + "@types/hoist-non-react-statics@*": version "3.3.5" resolved "https://registry.npmmirror.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" @@ -4259,7 +4481,7 @@ "@types/react" "*" "@types/reactcss" "*" -"@types/react-dom@^18.0.11", "@types/react-dom@^18.2.14": +"@types/react-dom@^18.2.14": version "18.2.18" resolved "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== @@ -4273,7 +4495,24 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.0.33", "@types/react@^18.2.34": +"@types/react-router-config@^5.0.7": + version "5.0.11" + resolved "https://registry.npmmirror.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a" + integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "^5.1.0" + +"@types/react-router@^5.1.0": + version "5.1.20" + resolved "https://registry.npmmirror.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + +"@types/react@*", "@types/react@^18.2.34": version "18.2.45" resolved "https://registry.npmmirror.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c" integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== @@ -5469,6 +5708,55 @@ antd-easy-form@^1.1.3: "@ant-design/icons" "^4.8.0" react-is "^18.2.0" +antd@4: + version "4.24.16" + resolved "https://registry.npmmirror.com/antd/-/antd-4.24.16.tgz#19206b6082e25a9900ba486655f9a55fe405d672" + integrity sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ== + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons" "^4.8.2" + "@ant-design/react-slick" "~1.0.2" + "@babel/runtime" "^7.18.3" + "@ctrl/tinycolor" "^3.6.1" + classnames "^2.2.6" + copy-to-clipboard "^3.2.0" + lodash "^4.17.21" + moment "^2.29.2" + rc-cascader "~3.7.3" + rc-checkbox "~3.0.1" + rc-collapse "~3.4.2" + rc-dialog "~9.0.2" + rc-drawer "~6.3.0" + rc-dropdown "~4.0.1" + rc-field-form "~1.38.2" + rc-image "~5.13.0" + rc-input "~0.1.4" + rc-input-number "~7.3.11" + rc-mentions "~1.13.1" + rc-menu "~9.8.4" + rc-motion "^2.9.0" + rc-notification "~4.6.1" + rc-pagination "~3.2.0" + rc-picker "~2.7.6" + rc-progress "~3.4.2" + rc-rate "~2.9.3" + rc-resize-observer "^1.3.1" + rc-segmented "~2.3.0" + rc-select "~14.1.18" + rc-slider "~10.0.1" + rc-steps "~5.0.0" + rc-switch "~3.2.2" + rc-table "~7.26.0" + rc-tabs "~12.5.10" + rc-textarea "~0.4.7" + rc-tooltip "~5.2.2" + rc-tree "~5.7.12" + rc-tree-select "~5.5.5" + rc-trigger "^5.3.4" + rc-upload "~4.3.6" + rc-util "^5.37.0" + scroll-into-view-if-needed "^2.2.25" + antd@^4.24.2: version "4.24.15" resolved "https://registry.npmmirror.com/antd/-/antd-4.24.15.tgz#2932b9c6d6e3dfbe6e3a88c37b370e0ca8d052d2" @@ -7383,7 +7671,7 @@ copyfiles@^2.4.1: untildify "^4.0.0" yargs "^16.1.0" -coral-system@^1.0.5: +coral-system@^1.0.5, coral-system@^1.0.6: version "1.0.6" resolved "https://registry.npmmirror.com/coral-system/-/coral-system-1.0.6.tgz#41681352ad2c5ee92ddda2609506c5a54918524d" integrity sha512-H9MA64SuWrwHS4f7lEtHkJGIJFVRW38iQBJ2LKm+u8b3biuFB1f/5mlUiJubZ0OqoSt3ZlJhVuEwDiLXASS/rw== @@ -10259,6 +10547,18 @@ history@5.3.0, history@^5.2.0: dependencies: "@babel/runtime" "^7.7.6" +history@^4.10.1, history@^4.9.0: + version "4.10.1" + resolved "https://registry.npmmirror.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.npmmirror.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -10268,7 +10568,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -12570,7 +12870,7 @@ log-update@^6.0.0: strip-ansi "^7.1.0" wrap-ansi "^9.0.0" -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -12585,7 +12885,7 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lower-case@^2.0.2: +lower-case@^2.0.1, lower-case@^2.0.2: version "2.0.2" resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== @@ -14255,7 +14555,7 @@ parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascal-case@^3.1.2: +pascal-case@^3.1.1, pascal-case@^3.1.2: version "3.1.2" resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== @@ -14350,6 +14650,13 @@ path-to-regexp@1.7.0: dependencies: isarray "0.0.1" +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-type@^1.0.0: version "1.1.0" resolved "https://registry.npmmirror.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -15017,7 +15324,7 @@ promzard@^1.0.0: dependencies: read "^2.0.0" -prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -15437,6 +15744,16 @@ rc-segmented@~2.1.2: rc-motion "^2.4.4" rc-util "^5.17.0" +rc-segmented@~2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341" + integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-motion "^2.4.4" + rc-util "^5.17.0" + rc-select@~14.1.0, rc-select@~14.1.18: version "14.1.18" resolved "https://registry.npmmirror.com/rc-select/-/rc-select-14.1.18.tgz#f1d95233132cda9c1485963254255b83e97a37a9" @@ -15564,6 +15881,15 @@ rc-upload@~4.3.5: classnames "^2.2.5" rc-util "^5.2.0" +rc-upload@~4.3.6: + version "4.3.6" + resolved "https://registry.npmmirror.com/rc-upload/-/rc-upload-4.3.6.tgz#6a87397315cee065a04bee4103d6de9dbe2e377a" + integrity sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.5" + rc-util "^5.2.0" + rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.16.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.22.5, rc-util@^5.23.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.32.2, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.6.1, rc-util@^5.9.4: version "5.38.1" resolved "https://registry.npmmirror.com/rc-util/-/rc-util-5.38.1.tgz#4915503b89855f5c5cd9afd4c72a7a17568777bb" @@ -15660,6 +15986,13 @@ react-element-to-jsx-string@^14.3.4: is-plain-object "5.0.0" react-is "17.0.2" +react-error-boundary@^4.0.11: + version "4.0.13" + resolved "https://registry.npmmirror.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz#80386b7b27b1131c5fbb7368b8c0d983354c7947" + integrity sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ== + dependencies: + "@babel/runtime" "^7.12.5" + react-error-overlay@6.0.9: version "6.0.9" resolved "https://registry.npmmirror.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" @@ -15700,7 +16033,7 @@ react-is@17.0.2: resolved "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0: +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: version "16.13.1" resolved "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -15768,6 +16101,13 @@ react-resizable@^3.0.5: prop-types "15.x" react-draggable "^4.0.3" +react-router-config@5: + version "5.1.1" + resolved "https://registry.npmmirror.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988" + integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== + dependencies: + "@babel/runtime" "^7.1.2" + react-router-dom@6.3.0: version "6.3.0" resolved "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d" @@ -15776,6 +16116,21 @@ react-router-dom@6.3.0: history "^5.2.0" react-router "6.3.0" +react-router@5: + version "5.3.4" + resolved "https://registry.npmmirror.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" + integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-router@6.3.0: version "6.3.0" resolved "https://registry.npmmirror.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557" @@ -15783,6 +16138,14 @@ react-router@6.3.0: dependencies: history "^5.2.0" +react-sticky-box@^0.9.3: + version "0.9.3" + resolved "https://registry.npmmirror.com/react-sticky-box/-/react-sticky-box-0.9.3.tgz#8450d4cef8e4fdd7b0351520365bc98c97da11af" + integrity sha512-Y/qO7vTqAvXuRR6G6ZCW4fX2Bz0GZRwiiLTVeZN5CVz9wzs37ev0Xj3KSKF/PzF0jifwATivI4t24qXG8rSz4Q== + dependencies: + "@babel/runtime" "^7.1.5" + resize-observer-polyfill "^1.5.1" + react-textarea-autosize@^8.3.2: version "8.5.3" resolved "https://registry.npmmirror.com/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" @@ -16238,6 +16601,11 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + resolve-pkg-maps@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" @@ -17180,7 +17548,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -17286,7 +17663,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -17300,6 +17677,13 @@ strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -17691,6 +18075,16 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tiny-invariant@^1.0.2: + version "1.3.3" + resolved "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" + integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== + +tiny-warning@^1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + tinycolor2@^1.4.1: version "1.6.0" resolved "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" @@ -18034,7 +18428,7 @@ typedoc@^0.25.4: minimatch "^9.0.3" shiki "^0.14.1" -"typescript@>=3 < 6", typescript@^5.0.3, typescript@^5.3.3: +"typescript@>=3 < 6", typescript@^5.3.3: version "5.3.3" resolved "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== @@ -18296,6 +18690,13 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +upper-case@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a" + integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== + dependencies: + tslib "^2.0.3" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -18448,6 +18849,11 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -18825,7 +19231,7 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -18843,6 +19249,15 @@ wrap-ansi@^6.0.1: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 2f455f529c45972bfeeb39ccd975bfac1b84e805 Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 16:28:07 +0800 Subject: [PATCH 2/9] fix: update actionSelect --- apps/playground/src/helpers/prototypes.ts | 12 +++++ apps/playground/src/pages/index.tsx | 4 +- packages/designer/src/setters/jsx-setter.tsx | 53 +++++++++++--------- packages/ui/src/action-select.tsx | 1 + 4 files changed, 45 insertions(+), 25 deletions(-) diff --git a/apps/playground/src/helpers/prototypes.ts b/apps/playground/src/helpers/prototypes.ts index 9ffea30d..aa0aca05 100644 --- a/apps/playground/src/helpers/prototypes.ts +++ b/apps/playground/src/helpers/prototypes.ts @@ -124,6 +124,18 @@ const prototypes: Dict = { package: '@music163/antd', initChildren: '文本内容', }, + Placeholder: { + name: 'Placeholder', + type: 'element', + package: '@music163/antd', + }, + ButtonGroup: { + name: 'ButtonGroup', + type: 'element', + package: '@music163/antd', + hasChildren: true, + childrenNames: ['Button'], + }, }; export default prototypes; diff --git a/apps/playground/src/pages/index.tsx b/apps/playground/src/pages/index.tsx index db5db090..9474dfee 100644 --- a/apps/playground/src/pages/index.tsx +++ b/apps/playground/src/pages/index.tsx @@ -56,7 +56,7 @@ createFromIconfontCN({ const menuData = { common: [ { - title: '基本', + title: '常用', items: [ 'Button', 'Section', @@ -67,6 +67,8 @@ const menuData = { 'Typography', 'Title', 'Paragraph', + 'Table', + 'Each', ], }, { diff --git a/packages/designer/src/setters/jsx-setter.tsx b/packages/designer/src/setters/jsx-setter.tsx index 5fcf74c7..2db2e039 100644 --- a/packages/designer/src/setters/jsx-setter.tsx +++ b/packages/designer/src/setters/jsx-setter.tsx @@ -1,7 +1,8 @@ import React from 'react'; import { isPlainString } from '@music163/tango-helpers'; -import { ActionSelect } from '@music163/tango-ui'; +import { ActionSelect, InputCode } from '@music163/tango-ui'; import { FormItemComponentProps } from '@music163/tango-setting-form'; +import { Box } from 'coral-system'; const options = [ { label: '取消自定义', value: '' }, @@ -25,26 +26,27 @@ interface JsxSetterProps extends FormItemComponentProps { } const defaultGetTemplate = (key: string) => { - let ret; - const deps = []; + let ret: [string, string[]]; switch (key) { case 'Box': - ret = ''; + ret = ['', ['Box']]; break; case 'Text': - ret = '示例文本'; + ret = ['示例文本', ['Text']]; break; case 'Placeholder': - ret = ''; + ret = ['', ['Placeholder']]; break; case 'ButtonGroup': - ret = ''; - deps.push('Button'); + ret = [ + '', + ['ButtonGroup', 'Button'], + ]; break; default: break; } - return [ret, deps]; + return ret; }; /** @@ -53,20 +55,23 @@ const defaultGetTemplate = (key: string) => { export function JsxSetter(props: JsxSetterProps) { const { showInput, getTemplate = defaultGetTemplate, value, onChange } = props; return ( - { - const [tpl, deps] = getTemplate(key); - if (tpl) { - onChange(`{${tpl}}`, { relatedImports: [...deps, key] }); - } else { - onChange(undefined); - } - }} - /> + + { + const [tpl, deps] = getTemplate(key); + if (tpl) { + onChange(`{${tpl}}`, { relatedImports: deps }); + } else { + onChange(undefined); + } + }} + /> + {value && } + ); } diff --git a/packages/ui/src/action-select.tsx b/packages/ui/src/action-select.tsx index b5242a21..573cd28d 100644 --- a/packages/ui/src/action-select.tsx +++ b/packages/ui/src/action-select.tsx @@ -50,6 +50,7 @@ const actionInputStyle = css` overflow: hidden; text-overflow: ellipsis; white-space: nowrap; + color: var(--tango-colors-text2); } .anticon-down { From b094a8869a3f2aa720fe395557993efb4d7c2ae9 Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 17:22:15 +0800 Subject: [PATCH 3/9] fix: update ToggleButton text shape style --- apps/storybook/src/setting-form.stories.tsx | 35 +++++++++++++++++++++ packages/setting-form/src/form-item.tsx | 4 +-- packages/ui/src/toggle-button.tsx | 10 +++--- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/apps/storybook/src/setting-form.stories.tsx b/apps/storybook/src/setting-form.stories.tsx index 3d62b87d..2ca76709 100644 --- a/apps/storybook/src/setting-form.stories.tsx +++ b/apps/storybook/src/setting-form.stories.tsx @@ -2,6 +2,11 @@ import React from 'react'; import { FormModel, SettingForm, register } from '@music163/tango-setting-form'; import { ComponentPrototypeType } from '@music163/tango-helpers'; import { BorderSetter, DisplaySetter } from '@music163/tango-designer/src/setters/style-setter'; +import { JsxSetter } from '@music163/tango-designer/src/setters/jsx-setter'; +import { + RenderSetter, + TableCellSetter, +} from '@music163/tango-designer/src/setters/render-props-setter'; import { Box } from 'coral-system'; import { JsonView } from '@music163/tango-ui'; import { toJS } from 'mobx'; @@ -20,6 +25,21 @@ register({ component: DisplaySetter, }); +register({ + name: 'jsxSetter', + component: JsxSetter, +}); + +register({ + name: 'renderSetter', + component: RenderSetter, +}); + +register({ + name: 'tableCellSetter', + component: TableCellSetter, +}); + createFromIconfontCN({ scriptUrl: '//at.alicdn.com/t/c/font_2891794_cou9i7556tl.js', }); @@ -56,6 +76,21 @@ const prototype: ComponentPrototypeType = { title: 'borderSetter', setter: 'borderSetter', }, + { + name: 'children', + title: 'jsxSetter', + setter: 'jsxSetter', + }, + { + name: 'render', + title: 'renderSetter', + setter: 'renderSetter', + }, + { + name: 'cell', + title: 'tableCellSetter', + setter: 'tableCellSetter', + }, { name: 'router', title: 'routerSetter', diff --git a/packages/setting-form/src/form-item.tsx b/packages/setting-form/src/form-item.tsx index a59f8ab9..fc639a5c 100644 --- a/packages/setting-form/src/form-item.tsx +++ b/packages/setting-form/src/form-item.tsx @@ -95,7 +95,7 @@ export function createFormItem(options: IFormItemCreateOptions) { const model = useFormModel(); const field = model.getField(name); const value = toJS(field.value ?? defaultValue); - const disableVariableSetter = disableSwitchExpressionSetter ?? disableVariableSetterProp; + const disableVariableSetter = disableSwitchExpressionSetter ?? disableVariableSetterProp; // Form 的设置优先 const [isVariable, { toggle: toggleIsVariable }] = useBoolean( () => !disableVariableSetter && isWrappedByExpressionContainer(value), ); @@ -170,7 +170,7 @@ export function createFormItem(options: IFormItemCreateOptions) { Date: Tue, 2 Apr 2024 17:23:26 +0800 Subject: [PATCH 4/9] fix: update InputCode minHeight and placeholder --- packages/ui/src/input-code.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/input-code.tsx b/packages/ui/src/input-code.tsx index 44b9ed5f..c799de52 100644 --- a/packages/ui/src/input-code.tsx +++ b/packages/ui/src/input-code.tsx @@ -162,7 +162,12 @@ export function InputCode({ return ( - + {suffix} @@ -184,6 +189,7 @@ function useInputCode({ border: 'solid', borderColor: status === 'error' ? 'error.60' : 'line.normal', borderRadius: 's', + minHeight: 32, }; lineNumbers = false; foldGutter = false; From de7270f31db1b125c098c025ab158bbce796bb7c Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 17:34:28 +0800 Subject: [PATCH 5/9] fix: show value in renderSetter --- packages/designer/src/setters/index.ts | 2 +- ...der-props-setter.tsx => render-setter.tsx} | 25 ++++++++++++++++--- packages/ui/src/action-select.tsx | 6 ++++- 3 files changed, 28 insertions(+), 5 deletions(-) rename packages/designer/src/setters/{render-props-setter.tsx => render-setter.tsx} (81%) diff --git a/packages/designer/src/setters/index.ts b/packages/designer/src/setters/index.ts index da3935d4..13198df8 100644 --- a/packages/designer/src/setters/index.ts +++ b/packages/designer/src/setters/index.ts @@ -12,7 +12,7 @@ import { ListSetter } from './list-setter'; import { ModelSetter } from './model-setter'; import { OptionSetter } from './option-setter'; import { PickerSetter } from './picker-setter'; -import { RenderSetter, TableCellSetter, TableExpandableSetter } from './render-props-setter'; +import { RenderSetter, TableCellSetter, TableExpandableSetter } from './render-setter'; import { RouterSetter } from './router-setter'; import { SpacingSetter, diff --git a/packages/designer/src/setters/render-props-setter.tsx b/packages/designer/src/setters/render-setter.tsx similarity index 81% rename from packages/designer/src/setters/render-props-setter.tsx rename to packages/designer/src/setters/render-setter.tsx index 35a26836..dc251ffb 100644 --- a/packages/designer/src/setters/render-props-setter.tsx +++ b/packages/designer/src/setters/render-setter.tsx @@ -1,6 +1,7 @@ -import React, { useCallback, useMemo } from 'react'; -import { ActionSelect } from '@music163/tango-ui'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import { ActionSelect, InputCode } from '@music163/tango-ui'; import { FormItemComponentProps } from '@music163/tango-setting-form'; +import { Box } from 'coral-system'; interface IRenderOption { label: string; @@ -19,11 +20,18 @@ export interface RenderSetterProps { * Render Props Setters */ export function RenderSetter({ + value, onChange, text = '自定义渲染为', options = [], fallbackOption, }: FormItemComponentProps & RenderSetterProps) { + const [inputValue, setInputValue] = useState(value); + + useEffect(() => { + setInputValue(value); + }, [value]); + const optionsMap = useMemo(() => { return options.reduce((prev, cur) => { prev[cur.value] = cur; @@ -42,7 +50,18 @@ export function RenderSetter({ }, [optionsMap, fallbackOption, onChange], ); - return ; + return ( + + + {value && ( + setInputValue(val)} + onBlur={() => onChange(inputValue)} + /> + )} + + ); } const getRender = (content: string, type?: 'tableCell' | 'tableExpandable') => { diff --git a/packages/ui/src/action-select.tsx b/packages/ui/src/action-select.tsx index 573cd28d..00168af6 100644 --- a/packages/ui/src/action-select.tsx +++ b/packages/ui/src/action-select.tsx @@ -50,7 +50,11 @@ const actionInputStyle = css` overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - color: var(--tango-colors-text2); + color: var(--tango-colors-text3); + + &:hover { + color: var(--tango-colors-text2); + } } .anticon-down { From fff00c4efaa58f8db160264a71f1340e5959ca89 Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 17:45:30 +0800 Subject: [PATCH 6/9] docs: update --- apps/storybook/src/setting-form.stories.tsx | 36 ++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/storybook/src/setting-form.stories.tsx b/apps/storybook/src/setting-form.stories.tsx index 2ca76709..d935df5a 100644 --- a/apps/storybook/src/setting-form.stories.tsx +++ b/apps/storybook/src/setting-form.stories.tsx @@ -3,10 +3,7 @@ import { FormModel, SettingForm, register } from '@music163/tango-setting-form'; import { ComponentPrototypeType } from '@music163/tango-helpers'; import { BorderSetter, DisplaySetter } from '@music163/tango-designer/src/setters/style-setter'; import { JsxSetter } from '@music163/tango-designer/src/setters/jsx-setter'; -import { - RenderSetter, - TableCellSetter, -} from '@music163/tango-designer/src/setters/render-props-setter'; +import { RenderSetter, TableCellSetter } from '@music163/tango-designer/src/setters/render-setter'; import { Box } from 'coral-system'; import { JsonView } from '@music163/tango-ui'; import { toJS } from 'mobx'; @@ -76,6 +73,13 @@ const prototype: ComponentPrototypeType = { title: 'borderSetter', setter: 'borderSetter', }, + { + name: 'onClick', + title: 'eventSetter', + tip: '当点击按钮时', + setter: 'eventSetter', + group: 'event', + }, { name: 'children', title: 'jsxSetter', @@ -162,13 +166,7 @@ const prototype: ComponentPrototypeType = { title: 'iconTypeSetter', setter: 'iconTypeSetter', }, - { - name: 'onClick', - title: 'eventSetter', - tip: '当点击按钮时', - setter: 'eventSetter', - group: 'event', - }, + { name: 'onClick2', title: 'actionSetter', @@ -303,13 +301,15 @@ export function Basic() { return ( - + + + From 210bfb07d75e025628e6513e33fb3fae4cd24665 Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 19:24:49 +0800 Subject: [PATCH 7/9] fix: update groupOptions --- packages/setting-form/src/form.tsx | 34 +++++++++++++++++------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/packages/setting-form/src/form.tsx b/packages/setting-form/src/form.tsx index 15498494..6cf4964e 100644 --- a/packages/setting-form/src/form.tsx +++ b/packages/setting-form/src/form.tsx @@ -20,13 +20,17 @@ import { QuestionCircleOutlined } from '@ant-design/icons'; registerBuiltinSetters(); -function normalizeComponentProps(props: ComponentPrototypeType['props']) { - const groups: Record = {}; +function normalizeComponentProps( + props: ComponentPrototypeType['props'], + groupOptions: IFormTabsGroupOption[], +) { + const groups: Record = groupOptions.reduce((prev, cur) => { + prev[cur.value] = []; + return prev; + }, {}); + props.forEach((prop) => { - const group = prop.group || 'basic'; - if (!groups[group]) { - groups[group] = []; - } + const group = groups[prop.group] ? prop.group : 'basic'; groups[group].push(prop); }); @@ -69,8 +73,8 @@ interface IFormTabsGroupOption { } const internalGroups: IFormTabsGroupOption[] = [ - { label: '常用', value: 'basic' }, - { label: '事件', value: 'event' }, + { label: '基本', value: 'basic' }, + // { label: '事件', value: 'event' }, { label: '样式', value: 'style' }, { label: '高级', value: 'advanced' }, ]; @@ -108,6 +112,10 @@ export interface SettingFormProps { * 是否显示分组导航 */ showGroups?: boolean; + /** + * 选项分组信息,用于对表单项进行分组展示,如未提供,则使用内置的分组信息 + */ + groupOptions?: IFormTabsGroupOption[]; /** * 是否显示表单项的副标题 */ @@ -116,10 +124,6 @@ export interface SettingFormProps { * 自定义渲染表单项的额外内容(标签右侧) */ renderItemExtra?: (props: ComponentPropType) => React.ReactNode; - /** - * 选项分组信息,用于对表单项进行分组展示,如未提供,则使用内置的分组信息 - */ - groupOptions?: IFormTabsGroupOption[]; /** * 是否允许表单项切换到表达式设置器 */ @@ -144,8 +148,8 @@ export function SettingForm({ const [model, setModel] = useState(modelProp ?? new FormModel(defaultValue, { onChange })); const { props: componentProps = [] } = prototype; const componentPropGroups = useMemo(() => { - return normalizeComponentProps(componentProps); - }, [componentProps]); + return normalizeComponentProps(componentProps, groupOptions); + }, [componentProps, groupOptions]); const filterProps = useMemo(() => { const computedProps = mapTreeData(componentProps, (node) => { @@ -240,7 +244,7 @@ export function SettingForm({ ))} From 71767a2b896d07b011fac80839fd4848bfb71bf1 Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 19:52:58 +0800 Subject: [PATCH 8/9] fix: update types --- apps/playground/src/helpers/prototypes.ts | 12 +++--- apps/storybook/src/setting-form.stories.tsx | 4 +- packages/core/src/helpers/prototype.ts | 16 ++++---- packages/core/src/models/interfaces.ts | 24 +++++------- packages/core/src/models/workspace.ts | 22 +++++------ .../designer/src/sidebar/components-panel.tsx | 6 +-- packages/helpers/src/types/advanced.ts | 5 --- packages/helpers/src/types/prototype.ts | 39 +++++++++++++------ packages/setting-form/src/form-item.tsx | 12 ++---- packages/setting-form/src/form-model.tsx | 4 +- packages/setting-form/src/form-object.tsx | 4 +- packages/setting-form/src/form.tsx | 16 ++++---- packages/setting-form/src/types.ts | 4 ++ 13 files changed, 86 insertions(+), 82 deletions(-) create mode 100644 packages/setting-form/src/types.ts diff --git a/apps/playground/src/helpers/prototypes.ts b/apps/playground/src/helpers/prototypes.ts index aa0aca05..da8e93f6 100644 --- a/apps/playground/src/helpers/prototypes.ts +++ b/apps/playground/src/helpers/prototypes.ts @@ -1,5 +1,5 @@ import * as basePrototypes from '@music163/antd/prototypes'; -import type { ComponentPrototypeType, Dict } from '@music163/tango-helpers'; +import type { IComponentPrototype, Dict } from '@music163/tango-helpers'; const sampleBlockCode = `
@@ -17,7 +17,7 @@ const sampleBlockCode = `
`; -const SnippetSuccessResult: ComponentPrototypeType = { +const SnippetSuccessResult: IComponentPrototype = { name: 'SnippetSuccessResult', title: '成功结果', icon: 'icon-tupian', @@ -27,7 +27,7 @@ const SnippetSuccessResult: ComponentPrototypeType = { relatedImports: ['Section', 'Result', 'Button'], }; -const Snippet2ColumnLayout: ComponentPrototypeType = { +const Snippet2ColumnLayout: IComponentPrototype = { name: 'Snippet2ColumnLayout', title: '两列布局', icon: 'icon-columns', @@ -42,7 +42,7 @@ const Snippet2ColumnLayout: ComponentPrototypeType = { relatedImports: ['Columns', 'Column'], }; -const Snippet3ColumnLayout: ComponentPrototypeType = { +const Snippet3ColumnLayout: IComponentPrototype = { name: 'Snippet3ColumnLayout', title: '三列布局', icon: 'icon-column3', @@ -58,7 +58,7 @@ const Snippet3ColumnLayout: ComponentPrototypeType = { relatedImports: ['Columns', 'Column'], }; -const SnippetButtonGroup: ComponentPrototypeType = { +const SnippetButtonGroup: IComponentPrototype = { name: 'SnippetButtonGroup', title: '按钮组', icon: 'icon-anniuzu', @@ -86,7 +86,7 @@ basePrototypes['Section'].siblingNames = [ ]; // iconfont: https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=2891794 -const prototypes: Dict = { +const prototypes: Dict = { ...(basePrototypes as any), SnippetSuccessResult, Snippet2ColumnLayout, diff --git a/apps/storybook/src/setting-form.stories.tsx b/apps/storybook/src/setting-form.stories.tsx index d935df5a..4061a383 100644 --- a/apps/storybook/src/setting-form.stories.tsx +++ b/apps/storybook/src/setting-form.stories.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { FormModel, SettingForm, register } from '@music163/tango-setting-form'; -import { ComponentPrototypeType } from '@music163/tango-helpers'; +import { IComponentPrototype } from '@music163/tango-helpers'; import { BorderSetter, DisplaySetter } from '@music163/tango-designer/src/setters/style-setter'; import { JsxSetter } from '@music163/tango-designer/src/setters/jsx-setter'; import { RenderSetter, TableCellSetter } from '@music163/tango-designer/src/setters/render-setter'; @@ -45,7 +45,7 @@ export default { title: 'SettingForm', }; -const prototype: ComponentPrototypeType = { +const prototype: IComponentPrototype = { name: 'Test', exportType: 'namedExport', title: '测试', diff --git a/packages/core/src/helpers/prototype.ts b/packages/core/src/helpers/prototype.ts index 0b7297c5..9f054ed5 100644 --- a/packages/core/src/helpers/prototype.ts +++ b/packages/core/src/helpers/prototype.ts @@ -1,7 +1,7 @@ import * as t from '@babel/types'; import { - ComponentPropType, - ComponentPrototypeType, + IComponentProp, + IComponentPrototype, Dict, isNil, logger, @@ -13,7 +13,7 @@ import { code2expression } from './ast'; import { isWrappedByExpressionContainer } from './assert'; export function prototype2importDeclarationData( - prototype: ComponentPrototypeType, + prototype: IComponentPrototype, relativeFilepath?: string, ): { source: string; specifiers: IImportSpecifierData[] } { let source = prototype.package; @@ -51,7 +51,7 @@ export function prototype2importDeclarationData( * @deprecated */ export function getImportDeclarationPayloadByPrototype( - prototype: ComponentPrototypeType, + prototype: IComponentPrototype, relativeFilepath?: string, ): IImportDeclarationPayload { let defaultSpecifier; @@ -88,7 +88,7 @@ export function getImportDeclarationPayloadByPrototype( * @param value * @returns */ -function getPropKeyValuePair(item: ComponentPropType, generateValue: (...args: any[]) => string) { +function getPropKeyValuePair(item: IComponentProp, generateValue: (...args: any[]) => string) { const key = item.name; let value = item.initValue; @@ -141,14 +141,14 @@ function getPropKeyValuePair(item: ComponentPropType, generateValue: (...args: a * @param prototype * @param extraProps */ -export function prototype2code(prototype: ComponentPrototypeType, extraProps?: Dict) { +export function prototype2code(prototype: IComponentPrototype, extraProps?: Dict) { let code; switch (prototype.type) { case 'snippet': code = prototype.initChildren || prototype.defaultChildren; break; default: { - const propList: ComponentPropType[] = extraProps + const propList: IComponentProp[] = extraProps ? Object.keys(extraProps).map((key) => ({ name: key, initValue: extraProps[key], @@ -186,7 +186,7 @@ export function prototype2code(prototype: ComponentPrototypeType, extraProps?: D * @param prototype 组件的配置信息 * @param props 额外的属性集 */ -export function prototype2jsxElement(prototype: ComponentPrototypeType, props?: Dict) { +export function prototype2jsxElement(prototype: IComponentPrototype, props?: Dict) { const code = prototype2code(prototype, props); return code2expression(code) as t.JSXElement; } diff --git a/packages/core/src/models/interfaces.ts b/packages/core/src/models/interfaces.ts index 4262ec3c..13b729bf 100644 --- a/packages/core/src/models/interfaces.ts +++ b/packages/core/src/models/interfaces.ts @@ -1,4 +1,4 @@ -import { ComponentPrototypeType, Dict, ITangoConfigJson } from '@music163/tango-helpers'; +import { IComponentPrototype, Dict, ITangoConfigJson } from '@music163/tango-helpers'; import { TangoHistory } from './history'; import { SelectSource } from './select-source'; import { DragSource } from './drag-source'; @@ -141,7 +141,7 @@ export interface IWorkspace { dragSource: DragSource; files: Map; - componentPrototypes: Map; + componentPrototypes: Map; entry: string; activeFile: string; @@ -171,8 +171,8 @@ export interface IWorkspace { setActiveRoute: (path: string) => void; setActiveFile: (filename: string) => void; - setComponentPrototypes: (prototypes: Record) => void; - getPrototype: (name: string | ComponentPrototypeType) => ComponentPrototypeType; + setComponentPrototypes: (prototypes: Record) => void; + getPrototype: (name: string | IComponentPrototype) => IComponentPrototype; // ----------------- 文件操作 ----------------- addFiles: (files: IFileConfig[]) => void; @@ -204,18 +204,12 @@ export interface IWorkspace { cloneSelectedNode: () => void; copySelectedNode: () => void; pasteSelectedNode: () => void; - insertToSelectedNode: (childNameOrPrototype: string | ComponentPrototypeType) => void; - insertBeforeSelectedNode: (sourceNameOrPrototype: string | ComponentPrototypeType) => void; - insertAfterSelectedNode: (sourceNameOrPrototype: string | ComponentPrototypeType) => void; + insertToSelectedNode: (childNameOrPrototype: string | IComponentPrototype) => void; + insertBeforeSelectedNode: (sourceNameOrPrototype: string | IComponentPrototype) => void; + insertAfterSelectedNode: (sourceNameOrPrototype: string | IComponentPrototype) => void; dropNode: () => void; - insertToNode: ( - targetNodeId: string, - sourceNameOrPrototype: string | ComponentPrototypeType, - ) => void; - replaceNode: ( - targetNodeId: string, - sourceNameOrPrototype: string | ComponentPrototypeType, - ) => void; + insertToNode: (targetNodeId: string, sourceNameOrPrototype: string | IComponentPrototype) => void; + replaceNode: (targetNodeId: string, sourceNameOrPrototype: string | IComponentPrototype) => void; updateSelectedNodeAttributes: ( attributes: Record, relatedImports?: string[], diff --git a/packages/core/src/models/workspace.ts b/packages/core/src/models/workspace.ts index f043a8eb..e7e5b023 100644 --- a/packages/core/src/models/workspace.ts +++ b/packages/core/src/models/workspace.ts @@ -1,7 +1,7 @@ import { action, computed, makeObservable, observable } from 'mobx'; import { JSXElement } from '@babel/types'; import { - ComponentPrototypeType, + IComponentPrototype, Dict, ITangoConfigJson, hasFileExtension, @@ -52,7 +52,7 @@ export interface IWorkspaceOptions { /** * 组件描述列表 */ - prototypes?: Record; + prototypes?: Record; /** * 工作区文件变更事件 */ @@ -75,7 +75,7 @@ export class Workspace extends EventTarget implements IWorkspace { /** * 组件配置 */ - componentPrototypes: Map; + componentPrototypes: Map; /** * 入口文件 @@ -249,11 +249,11 @@ export class Workspace extends EventTarget implements IWorkspace { }); } - getPrototype(name: string | ComponentPrototypeType) { + getPrototype(name: string | IComponentPrototype) { if (isString(name)) { return this.componentPrototypes.get(name); } - return name as ComponentPrototypeType; + return name as IComponentPrototype; } /** @@ -299,7 +299,7 @@ export class Workspace extends EventTarget implements IWorkspace { } } - setComponentPrototypes(prototypes: Record) { + setComponentPrototypes(prototypes: Record) { Object.keys(prototypes).forEach((name) => { this.componentPrototypes.set(name, prototypes[name]); }); @@ -954,7 +954,7 @@ export class Workspace extends EventTarget implements IWorkspace { * @param sourceName 插入的组件名称 * @returns */ - insertToNode(targetNodeId: string, sourceName: string | ComponentPrototypeType) { + insertToNode(targetNodeId: string, sourceName: string | IComponentPrototype) { if (!targetNodeId || !sourceName) { return; } @@ -978,7 +978,7 @@ export class Workspace extends EventTarget implements IWorkspace { /** * 替换目标节点 */ - replaceNode(targetNodeId: string, sourceName: string | ComponentPrototypeType) { + replaceNode(targetNodeId: string, sourceName: string | IComponentPrototype) { if (!targetNodeId || !sourceName) { return; } @@ -1000,7 +1000,7 @@ export class Workspace extends EventTarget implements IWorkspace { * 在选中节点中插入子节点 * @param childName 节点名 */ - insertToSelectedNode(childName: string | ComponentPrototypeType) { + insertToSelectedNode(childName: string | IComponentPrototype) { const insertedPrototype = this.getPrototype(childName); if (insertedPrototype) { const newNode = prototype2jsxElement(insertedPrototype); @@ -1022,7 +1022,7 @@ export class Workspace extends EventTarget implements IWorkspace { } } - insertBeforeSelectedNode(sourceName: string | ComponentPrototypeType) { + insertBeforeSelectedNode(sourceName: string | IComponentPrototype) { if (!sourceName) { return; } @@ -1042,7 +1042,7 @@ export class Workspace extends EventTarget implements IWorkspace { }); } - insertAfterSelectedNode(sourceName: string | ComponentPrototypeType) { + insertAfterSelectedNode(sourceName: string | IComponentPrototype) { if (!sourceName) { return; } diff --git a/packages/designer/src/sidebar/components-panel.tsx b/packages/designer/src/sidebar/components-panel.tsx index ac92f2be..0f8752eb 100644 --- a/packages/designer/src/sidebar/components-panel.tsx +++ b/packages/designer/src/sidebar/components-panel.tsx @@ -2,7 +2,7 @@ import React, { useMemo, useState } from 'react'; import { Box, Grid, Text } from 'coral-system'; import styled from 'styled-components'; import { - ComponentPrototypeType, + IComponentPrototype, logger, PartialRecord, upperCamelCase, @@ -194,7 +194,7 @@ function MaterialList({ data, filterKeyword, type = 'common' }: MaterialListProp } interface MaterialProps { - data: ComponentPrototypeType; + data: IComponentPrototype; } const StyledCommonGridItem = styled.div` @@ -295,7 +295,7 @@ function MaterialGrid({ data }: MaterialProps) { ); } -function CommonMaterialInfoBox({ help, docs }: ComponentPrototypeType) { +function CommonMaterialInfoBox({ help, docs }: IComponentPrototype) { return ( {!!help && {help}} diff --git a/packages/helpers/src/types/advanced.ts b/packages/helpers/src/types/advanced.ts index 569f4b22..5250f9d7 100644 --- a/packages/helpers/src/types/advanced.ts +++ b/packages/helpers/src/types/advanced.ts @@ -132,8 +132,3 @@ export interface ISelectedItemData { element?: HTMLElement; parents?: ISelectedItemData[]; } - -export type SetterOnChangeDetailType = { - relatedImports?: string[]; - isRawCode?: boolean; -}; diff --git a/packages/helpers/src/types/prototype.ts b/packages/helpers/src/types/prototype.ts index ef21b44d..1ab4e757 100644 --- a/packages/helpers/src/types/prototype.ts +++ b/packages/helpers/src/types/prototype.ts @@ -4,10 +4,25 @@ import { OptionType } from './advanced'; +/** + * @deprecated 请使用 IComponentProp 代替 + */ +export type ComponentPropType = IComponentProp; + +/** + * @deprecated + */ +export type ComponentDndRulesType = IComponentDndRules; + +/** + * @deprecated + */ +export type ComponentPrototypeType = IComponentPrototype; + /** * 组件属性类型 */ -export type ComponentPropType = { +export interface IComponentProp { /** * 属性名 */ @@ -23,10 +38,10 @@ export type ComponentPropType = { /** * 属性的分组 * - basic 常用属性 - * - event 事件属性 - * - data 数据属性 * - style 样式属性 * - advanced 高级属性 + * - event 事件属性 + * - data 数据属性 */ group?: 'basic' | 'event' | 'style' | 'data' | 'advanced'; /** @@ -50,7 +65,7 @@ export type ComponentPropType = { /** * 如果是对象属性,这里声明子属性列表 */ - props?: ComponentPropType[]; + props?: IComponentProp[]; /** * 输入提示 */ @@ -79,7 +94,7 @@ export type ComponentPropType = { /** * 动态设置属性,覆盖已有的 prop 对象 */ - getProp?: (form: any) => Partial, 'getProp'>>; + getProp?: (form: any) => Partial, 'getProp'>>; /** * 配置项的可选值,setterProps.options 的简写 */ @@ -96,12 +111,12 @@ export type ComponentPropType = { * 标记属性是否已废弃 */ deprecated?: boolean | string; -}; +} /** * 组件拖拽规则类型 */ -export type ComponentDndRulesType = { +export interface IComponentDndRules { /** * 当前节点是否可以被拖拽 */ @@ -122,12 +137,12 @@ export type ComponentDndRulesType = { * 子节点的容器选择器,用于快速定位子节点容器,适合组件存在多个可搭建区域时使用 */ childrenContainerSelector?: string; -}; +} /** * 组件原型类型 */ -export type ComponentPrototypeType = { +export interface IComponentPrototype { /** * 组件名 * @example Button @@ -240,17 +255,17 @@ export type ComponentPrototypeType = { /** * 组件的可配置属性集 */ - props?: ComponentPropType[]; + props?: IComponentProp[]; /** * 组件的拖拽规则 */ - rules?: ComponentDndRulesType; + rules?: IComponentDndRules; /** * 用法 * @example import { Button } from 'antd'; */ usage?: string; -}; +} /** * TangoConfigJson 类型配置 diff --git a/packages/setting-form/src/form-item.tsx b/packages/setting-form/src/form-item.tsx index fc639a5c..92b7a856 100644 --- a/packages/setting-form/src/form-item.tsx +++ b/packages/setting-form/src/form-item.tsx @@ -1,20 +1,16 @@ import React from 'react'; import { toJS } from 'mobx'; import { observer } from 'mobx-react-lite'; -import { - clone, - ComponentPropType, - SetterOnChangeDetailType, - useBoolean, -} from '@music163/tango-helpers'; +import { clone, IComponentProp, useBoolean } from '@music163/tango-helpers'; import { isWrappedByExpressionContainer } from '@music163/tango-core'; import { ToggleButton, CodeOutlined } from '@music163/tango-ui'; import { InputProps } from 'antd'; import { useFormModel, useFormVariable } from './context'; import { FormControl } from './form-ui'; import { Box, Text } from 'coral-system'; +import { ISetterOnChangeCallbackDetail } from './types'; -export interface FormItemProps extends ComponentPropType { +export interface FormItemProps extends IComponentProp { /** * 无样式模式,仅返回 setter 组件 */ @@ -31,7 +27,7 @@ export interface FormItemProps extends ComponentPropType { export interface FormItemComponentProps { value?: T; - onChange: (value: T, detail?: SetterOnChangeDetailType) => void; + onChange: (value: T, detail?: ISetterOnChangeCallbackDetail) => void; readOnly?: boolean; disabled?: boolean; status?: InputProps['status']; diff --git a/packages/setting-form/src/form-model.tsx b/packages/setting-form/src/form-model.tsx index af9a82b9..9a64a488 100644 --- a/packages/setting-form/src/form-model.tsx +++ b/packages/setting-form/src/form-model.tsx @@ -1,6 +1,6 @@ import { makeObservable, observable, computed, action, toJS } from 'mobx'; -import { SetterOnChangeDetailType } from '@music163/tango-helpers'; import { observableGetIn, observableSetIn } from './helpers'; +import { ISetterOnChangeCallbackDetail } from './types'; export interface IFormModel { values: any; @@ -171,7 +171,7 @@ export class Field { state: FieldStateType = {}; - detail: SetterOnChangeDetailType = {}; + detail: ISetterOnChangeCallbackDetail = {}; get value() { return this.parent.getValue(this.name); diff --git a/packages/setting-form/src/form-object.tsx b/packages/setting-form/src/form-object.tsx index 4db2a55e..8d034dc8 100644 --- a/packages/setting-form/src/form-object.tsx +++ b/packages/setting-form/src/form-object.tsx @@ -1,13 +1,13 @@ import React from 'react'; import { Box } from 'coral-system'; import { observer } from 'mobx-react-lite'; -import { ComponentPropType } from '@music163/tango-helpers'; +import { IComponentProp } from '@music163/tango-helpers'; import { SettingFormItem } from './form-item'; import { FormModelProvider, useFormModel } from './context'; import { FormControlGroup } from './form-ui'; import { isValidNestProps } from './helpers'; -export type SettingFormObjectProps = ComponentPropType; +export type SettingFormObjectProps = IComponentProp; const defaultGetVisible = () => true; diff --git a/packages/setting-form/src/form.tsx b/packages/setting-form/src/form.tsx index 6cf4964e..e823151e 100644 --- a/packages/setting-form/src/form.tsx +++ b/packages/setting-form/src/form.tsx @@ -2,8 +2,8 @@ import React, { useState, useMemo, useCallback, useEffect } from 'react'; import { Box, css } from 'coral-system'; import { Empty } from 'antd'; import { - ComponentPrototypeType, - ComponentPropType, + IComponentPrototype, + IComponentProp, noop, filterTreeData, mapTreeData, @@ -21,10 +21,10 @@ import { QuestionCircleOutlined } from '@ant-design/icons'; registerBuiltinSetters(); function normalizeComponentProps( - props: ComponentPrototypeType['props'], + props: IComponentPrototype['props'], groupOptions: IFormTabsGroupOption[], ) { - const groups: Record = groupOptions.reduce((prev, cur) => { + const groups: Record = groupOptions.reduce((prev, cur) => { prev[cur.value] = []; return prev; }, {}); @@ -37,7 +37,7 @@ function normalizeComponentProps( return groups; } -function filterComponentProps(props: ComponentPrototypeType['props'], keyword: string) { +function filterComponentProps(props: IComponentPrototype['props'], keyword: string) { if (!keyword) { return props; } @@ -95,7 +95,7 @@ export interface SettingFormProps { /** * 组件的可配置描述 */ - prototype?: ComponentPrototypeType; + prototype?: IComponentPrototype; /** * 是否显示组件标识 */ @@ -123,7 +123,7 @@ export interface SettingFormProps { /** * 自定义渲染表单项的额外内容(标签右侧) */ - renderItemExtra?: (props: ComponentPropType) => React.ReactNode; + renderItemExtra?: (props: IComponentProp) => React.ReactNode; /** * 是否允许表单项切换到表达式设置器 */ @@ -174,7 +174,7 @@ export function SettingForm({ }, [keyword, componentProps, tabKey, model, showGroups, componentPropGroups]); const renderProps = useCallback( - (list: ComponentPropType[]) => + (list: IComponentProp[]) => list.map((item) => { const { getProp, ...rest } = item; const childProp = { diff --git a/packages/setting-form/src/types.ts b/packages/setting-form/src/types.ts new file mode 100644 index 00000000..38bf1da2 --- /dev/null +++ b/packages/setting-form/src/types.ts @@ -0,0 +1,4 @@ +export interface ISetterOnChangeCallbackDetail { + relatedImports?: string[]; + isRawCode?: boolean; +} From cf82f84ee4b09e4db6702b84b0ad11523fd1bf4f Mon Sep 17 00:00:00 2001 From: Wells Date: Tue, 2 Apr 2024 19:53:21 +0800 Subject: [PATCH 9/9] chore: update --- package.json | 6 +- yarn.lock | 286 ++++++++++++++++++++++++++------------------------- 2 files changed, 151 insertions(+), 141 deletions(-) diff --git a/package.json b/package.json index adc4e197..7eeac1d4 100644 --- a/package.json +++ b/package.json @@ -51,9 +51,9 @@ "husky": "^8.0.3", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", - "lerna": "^8.0.0", - "lint-staged": "^15.2.0", - "prettier": "^3.1.0", + "lerna": "^8.1.2", + "lint-staged": "^15.2.2", + "prettier": "^3.2.5", "react": "^17.0.0", "react-dom": "^17.0.0", "styled-components": "^5.3.6", diff --git a/yarn.lock b/yarn.lock index 48913039..3974338f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2514,13 +2514,13 @@ resolved "https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== -"@lerna/create@8.0.1": - version "8.0.1" - resolved "https://registry.npmmirror.com/@lerna/create/-/create-8.0.1.tgz#cc0ab19163c67269552292d95f23568468fa9921" - integrity sha512-PDYNUF8Nv5j7DbGvVbizEuYuQbNFZ0+wVOtRPvBQOkC2dMNryi3dJjktEd1QeDX6Wa/JkJWvZ5SMHyr+7H3Rtg== +"@lerna/create@8.1.2": + version "8.1.2" + resolved "https://registry.npmmirror.com/@lerna/create/-/create-8.1.2.tgz#4dc8b3f59c963275bfb8b390491068751101f477" + integrity sha512-GzScCIkAW3tg3+Yn/MKCH9963bzG+zpjGz2NdfYDlYWI7p0f/SH46v1dqpPpYmZ2E/m3JK8HjTNNNL8eIm8/YQ== dependencies: "@npmcli/run-script" "7.0.2" - "@nx/devkit" ">=17.1.2 < 18" + "@nx/devkit" ">=17.1.2 < 19" "@octokit/plugin-enterprise-rest" "6.0.1" "@octokit/rest" "19.0.11" byte-size "8.1.1" @@ -2557,7 +2557,7 @@ npm-packlist "5.1.1" npm-registry-fetch "^14.0.5" npmlog "^6.0.2" - nx ">=17.1.2 < 18" + nx ">=17.1.2 < 19" p-map "4.0.0" p-map-series "2.1.0" p-queue "6.6.2" @@ -2895,19 +2895,19 @@ read-package-json-fast "^3.0.0" which "^4.0.0" -"@nrwl/devkit@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nrwl/devkit/-/devkit-17.2.6.tgz#ab283bc16fde0b3c4a73ce59c1364b89d9b73468" - integrity sha512-uZVqc2qhi+WdSqLV9aIcE+5ck+IUSQ47Cc5bslWrssQjBncqGavHYDuU4ZLuKK5HxCuZqlQjvo7TsF7LeOjNiA== +"@nrwl/devkit@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nrwl/devkit/-/devkit-18.2.1.tgz#4c0e60a5c5e73ca7b2b69a772ecd03630d45892e" + integrity sha512-D//NSihg/hyoinB+CpNMjecwdMIagoQgLlc2HLZtEpmBxM9b3ilX6J7js9HOqEO+jY5YBJWwHg20+qPDYz1Kqw== dependencies: - "@nx/devkit" "17.2.6" + "@nx/devkit" "18.2.1" -"@nrwl/tao@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nrwl/tao/-/tao-17.2.6.tgz#eab09ad1c5751e4310bb8c21796e25df1e8310b1" - integrity sha512-cgtUKTRSxDZ94S9IpC27/qYZJ1YttJDET+veKrtRYvwnHFgkq1peyeTTtnM25yJon7PRdm2lYrlIVdPm0vXupw== +"@nrwl/tao@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nrwl/tao/-/tao-18.2.1.tgz#dfa24e2d02c7c17f3c8dc296544947dd56bf7293" + integrity sha512-QOk9pCNBtu8Qk8Cr7WVbI4+Q/PdxXX+nWMU+xk1KyTjH+XYdAvVksrMqFndPAThIsPvC1fP2XCcMCxOX10F3rQ== dependencies: - nx "17.2.6" + nx "18.2.1" tslib "^2.3.0" "@nx-js/observer-util@^4.2.2": @@ -2915,68 +2915,69 @@ resolved "https://registry.npmmirror.com/@nx-js/observer-util/-/observer-util-4.2.2.tgz#faea1bc61936653486d1b5dec7485220991e628d" integrity sha512-9OayX1xkdGjdnsDiO2YdaYJ6aMyCF7/NY4QWVgIgjSAZJ4OX2fD766Ts79hEzBscenQy2DCaSoY8VkguIMB1ZA== -"@nx/devkit@17.2.6", "@nx/devkit@>=17.1.2 < 18": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/devkit/-/devkit-17.2.6.tgz#e65d8386ca7467d49de2193bc963a78561134623" - integrity sha512-a9GPw0KiLhvv2RBLPlWgaVDZRvgww4ANBwv7LuGvk8FNgxF5vkQMM5WyKpvxKJhmh1EZ+T9JsGWAFrK7skW9Bw== +"@nx/devkit@18.2.1", "@nx/devkit@>=17.1.2 < 19": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/devkit/-/devkit-18.2.1.tgz#ea409c13be5fde073eee7378194b069c997764c0" + integrity sha512-zEWm/lYgD0fHUU2Qgdd1OkIuBDbp8sCIiwv0iMITJy9CZf+fxg3rzRaUwVSbIXXSdeaSIFT75WI4zoI+7EQ/9w== dependencies: - "@nrwl/devkit" "17.2.6" + "@nrwl/devkit" "18.2.1" ejs "^3.1.7" enquirer "~2.3.6" ignore "^5.0.4" - semver "7.5.3" + semver "^7.5.3" tmp "~0.2.1" tslib "^2.3.0" + yargs-parser "21.1.1" -"@nx/nx-darwin-arm64@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.6.tgz#8f5a4cc579158388ec98e0bf26996d9c0457da00" - integrity sha512-ezU5u7hkEwI2xzsFSjyr53uNURBvga40LQlpEnS/CbqRifHHhTKisCy+r2+kRhiOwTeR+I+/2D3zPyIyN3aEHQ== - -"@nx/nx-darwin-x64@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.6.tgz#4ca7b4fb5ab03b786d8bcdfb9e5780abd1f31faf" - integrity sha512-wUIwbM/7LMxlFkEOlbxR/s2qaRuD69yXc70f2rtxsskwJ4GOF5kfc1jk2YaDs9qswI+FgQVgbeZu8pgF+slY7Q== - -"@nx/nx-freebsd-x64@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.6.tgz#59e0189d14f9b021644b123c16315ba1e09a808b" - integrity sha512-uBKEGqG4txVCpBirRzt1QwuOLzfA0s9dlUP7n5t4qJuaf9OXuVcDXay8g84WT1jx4PPtipyv/wyIFu3r7v8kZw== - -"@nx/nx-linux-arm-gnueabihf@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.6.tgz#e1bebfb4bf8e24b7d4f2072bde077de988317461" - integrity sha512-dSDVz2BktaPHMkrJojFCx+V+QFLDF0KzoHorESzZmHZTfumr0xtJ1COWCU+gYmLptc+8OgwCzCPWXHhcDgji/A== - -"@nx/nx-linux-arm64-gnu@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.6.tgz#b830f581ab5afc2ae30ec2f8bd27a750c1a66753" - integrity sha512-AD99Kk47Yxn3IJ89aCT1oVpNX1XNECAYay97yhqf2tiBsDv9hC43PppOdjI0dNP5VRBTrr6EsWdhvE0uNJ3RJw== - -"@nx/nx-linux-arm64-musl@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.6.tgz#c3865d4386097190f3c7fd1840999e3cc6fbb8cf" - integrity sha512-MOX/EJyzseEnzbFxY7V6es/xta6WQ0cDDrl6i6qjCRnoRTFFVMsL0Fb4dtVbv7fd75O41P+OBGpG70MYx2SOxw== - -"@nx/nx-linux-x64-gnu@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.6.tgz#3520364998256a628a861ad1427754504fc585a6" - integrity sha512-16xTSszGPY25INDUr4pzLXWcO3va1764iVFiHRTuJr5siDymY7zSj+DPKFmewzqF2358Y5m8AtMotY0FqKciYg== - -"@nx/nx-linux-x64-musl@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.6.tgz#f3c89d7d5c5336735bf31eb2ae0dd2e5ab6a9f25" - integrity sha512-F/nIq8bcZd2cNuBiQbyJwur7CpeRBCt0qKDF38HQ2l3HhQv+jwk4T6115LMQqwZb9e6kt6BAFsY+6O7I6t3pCw== - -"@nx/nx-win32-arm64-msvc@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.6.tgz#1e432cdbf55ba816d04fec776227e7d459dc4cc4" - integrity sha512-1lAKKKiH7eduzqcPDB03iPz38yNXn3Y4Q/3jULjaRc3EFAplfBsYVwJ9kGjXPZSrpt/AY7w5ATY55/r5B3gQnA== - -"@nx/nx-win32-x64-msvc@17.2.6": - version "17.2.6" - resolved "https://registry.npmmirror.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.6.tgz#07fde42a0fe1f8f103aa7afd1db83cb76a72951f" - integrity sha512-LrJySMWrO5oWMrP4VOWM1hr3c4rtxHGCcRy19VwqvaAPDrnsg0qfPjv4q1C9YyIU8sj+T3oJs1yZdnNntlN8ew== +"@nx/nx-darwin-arm64@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.2.1.tgz#b59468e4c82bd5d83044fa683cb099a94b5a6306" + integrity sha512-s6ilEYpzyBoeyjM4PkK0nOPWu2uBL2TPDAVIwVh7J2RuM3xINy45zgbmYBUwC4JZUCSJv7e0GQ7OpxEQVlOjDA== + +"@nx/nx-darwin-x64@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.2.1.tgz#7f643015ff2cd2df73eb6f488bca4292c039be66" + integrity sha512-WpsnI+Z4qfqs0uyFyERLGKZSw3OIpKx3yr7fgFEyfUQS9pqIzqngh2gnoAnf/eYHKBZ2GNPjJ1n+fPHIuLP/dw== + +"@nx/nx-freebsd-x64@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.2.1.tgz#e694bc8fc7e39112652f173ebd104b06c27b09b6" + integrity sha512-AnbYoxvGHQPDXA5A+nPsVTYEQnXayKnC+NLUcxwoH5gW0Io4oBpck+RW4yf8Dt3zoB/RUw4X/TMKPAMXbD7HuA== + +"@nx/nx-linux-arm-gnueabihf@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.2.1.tgz#6b6d72518d55b046add163429a8aaa93845fabff" + integrity sha512-01M5fq1hYQQPlSJ7VIJ+ADmadlRvrvrOngbhBWPdWM70XKNz46Z8Z8JrOq1n67QviAPwIYELBMR2c8Bi/NU7FQ== + +"@nx/nx-linux-arm64-gnu@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.2.1.tgz#91cc02c62c0113cf0d50ffabd5cdd6e743661f2e" + integrity sha512-mQf0/NAAYDrvhhkHbw8/xFiIJ8ldzMxT0sHe2syYbWdnAYWxbXUlDvaalHgILZNiELNsLopbZ6zyKbyj7gTMbw== + +"@nx/nx-linux-arm64-musl@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.2.1.tgz#e893f35e17f3b458d5abefd6d22b34199a2f4855" + integrity sha512-iP2vKQfiCNNUZm81jbIVz2IshtyUUFw7BLi4vTWYIxcknbRJIchNb0dubJBmJUx4593z3O3wst252rg2QlP+cw== + +"@nx/nx-linux-x64-gnu@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.2.1.tgz#50fcb0398506070a7674c52fbb788b4da3b406d5" + integrity sha512-LHO+MlMgnm/v1CR0E/UfCUD9bfQWrA8btohv1ju/uHw32wW5P/MiMuLk0jrythWk++NZxpMzBIqcZrO2AcQgUg== + +"@nx/nx-linux-x64-musl@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.2.1.tgz#0d68185b8e2c809097714c0e35dec6decf82d86a" + integrity sha512-dXNf2P5bRg+u+xDCkqmmP5OABlHZ+zw7D5++uOnGT0D3Y9ZfNl7LVrTqKrTAFJlR6Ycb4ffjhauXF5Yh2tedeA== + +"@nx/nx-win32-arm64-msvc@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.2.1.tgz#6c0aeb65f593a764c87f01adaad6d1d9182f3dbb" + integrity sha512-6Dt3/qU2qKwzfXeaB+dS+oEasMbC16ZMC7E6pZTsiXqyjkh25lomiOYLBxBlHdGR4M06CzhFI3Vxtk8Hr7ltuQ== + +"@nx/nx-win32-x64-msvc@18.2.1": + version "18.2.1" + resolved "https://registry.npmmirror.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.2.1.tgz#5027e833c368a15609d24ae11df9c077d9d0f7ff" + integrity sha512-FsX7Y22WezvH+Z2sUUXSTKUyG8MGL7ObmIRTZxacY2sV1IiaXY5i3J/46AKkJ+lfp6ALULJ4lRlLwXo9jDHbiA== "@octokit/auth-token@^3.0.0": version "3.0.4" @@ -6176,7 +6177,7 @@ axe-core@=4.7.0: resolved "https://registry.npmmirror.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== -axios@^1.4.0, axios@^1.5.1: +axios@^1.4.0: version "1.6.2" resolved "https://registry.npmmirror.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== @@ -6185,6 +6186,15 @@ axios@^1.4.0, axios@^1.5.1: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.6.0: + version "1.6.8" + resolved "https://registry.npmmirror.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" + integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.2.1: version "3.2.1" resolved "https://registry.npmmirror.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" @@ -9721,6 +9731,11 @@ follow-redirects@^1.0.0, follow-redirects@^1.15.0: resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== +follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -10190,18 +10205,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.1.4: - version "7.1.4" - resolved "https://registry.npmmirror.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^10.2.2, glob@^10.3.10: version "10.3.10" resolved "https://registry.npmmirror.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" @@ -12411,14 +12414,14 @@ lazy-universal-dotenv@^3.0.1: dotenv "^8.0.0" dotenv-expand "^5.1.0" -lerna@^8.0.0: - version "8.0.1" - resolved "https://registry.npmmirror.com/lerna/-/lerna-8.0.1.tgz#cc705467c5507c38c76ae293fe976e5d438aa876" - integrity sha512-ZxFMmOqwkP4e+q6BrMzxkAhixi6n0GVD2jAAnAfDkIFnwumB4/7X5/If6fqTlXXshtB2dQtN5OAtzafqVq8cwA== +lerna@^8.1.2: + version "8.1.2" + resolved "https://registry.npmmirror.com/lerna/-/lerna-8.1.2.tgz#441e8078d0b68557b4ef5b33202a16a6bc2a50d3" + integrity sha512-RCyBAn3XsqqvHbz3TxLfD7ylqzCi1A2UJnFEZmhURgx589vM3qYWQa/uOMeEEf565q6cAdtmulITciX1wgkAtw== dependencies: - "@lerna/create" "8.0.1" + "@lerna/create" "8.1.2" "@npmcli/run-script" "7.0.2" - "@nx/devkit" ">=17.1.2 < 18" + "@nx/devkit" ">=17.1.2 < 19" "@octokit/plugin-enterprise-rest" "6.0.1" "@octokit/rest" "19.0.11" byte-size "8.1.1" @@ -12461,7 +12464,7 @@ lerna@^8.0.0: npm-packlist "5.1.1" npm-registry-fetch "^14.0.5" npmlog "^6.0.2" - nx ">=17.1.2 < 18" + nx ">=17.1.2 < 19" p-map "4.0.0" p-map-series "2.1.0" p-pipe "3.1.0" @@ -12627,26 +12630,26 @@ lines-and-columns@^2.0.3, lines-and-columns@~2.0.3: resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== -lint-staged@^15.2.0: - version "15.2.0" - resolved "https://registry.npmmirror.com/lint-staged/-/lint-staged-15.2.0.tgz#3111534ca58096a3c8f70b044b6e7fe21b36f859" - integrity sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ== +lint-staged@^15.2.2: + version "15.2.2" + resolved "https://registry.npmmirror.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" + integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== dependencies: chalk "5.3.0" commander "11.1.0" debug "4.3.4" execa "8.0.1" lilconfig "3.0.0" - listr2 "8.0.0" + listr2 "8.0.1" micromatch "4.0.5" pidtree "0.6.0" string-argv "0.3.2" yaml "2.3.4" -listr2@8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/listr2/-/listr2-8.0.0.tgz#aa7c230995f8ce378585f7c96c0c6d1cefa4700d" - integrity sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg== +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" @@ -12851,7 +12854,7 @@ lodash@^4.0.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.2 resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^4.1.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -13276,6 +13279,13 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" +minimatch@9.0.3, minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3: + version "9.0.3" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -13297,13 +13307,6 @@ minimatch@^8.0.2: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3: - version "9.0.3" - resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - minimist-options@4.1.0: version "4.1.0" resolved "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -13958,16 +13961,16 @@ nwsapi@^2.2.2: resolved "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== -nx@17.2.6, "nx@>=17.1.2 < 18": - version "17.2.6" - resolved "https://registry.npmmirror.com/nx/-/nx-17.2.6.tgz#717297e0757237aa010f2e07aa8fdf68e77ea104" - integrity sha512-lBHp0e0AMBwYwpT44a8b0j29szspmYUhY1okqNctz/3ifuonNFG9WGfbzRO4YKOrVkfNsuaomHVAE6gtqo55ng== +nx@18.2.1, "nx@>=17.1.2 < 19": + version "18.2.1" + resolved "https://registry.npmmirror.com/nx/-/nx-18.2.1.tgz#6eab05216615acc83e2f888f6aed11d4e1303bf0" + integrity sha512-wUYr1x6GnPvtHMY5pHVijuJbD077ObwGCX+pHZc1IreugAQBLmQ6bxPNCxuI0YjGeM39PD9ME+rxi6aAcJbUKw== dependencies: - "@nrwl/tao" "17.2.6" + "@nrwl/tao" "18.2.1" "@yarnpkg/lockfile" "^1.1.0" "@yarnpkg/parsers" "3.0.0-rc.46" "@zkochan/js-yaml" "0.0.6" - axios "^1.5.1" + axios "^1.6.0" chalk "^4.1.0" cli-cursor "3.1.0" cli-spinners "2.6.1" @@ -13978,17 +13981,17 @@ nx@17.2.6, "nx@>=17.1.2 < 18": figures "3.2.0" flat "^5.0.2" fs-extra "^11.1.0" - glob "7.1.4" ignore "^5.0.4" jest-diff "^29.4.1" js-yaml "4.1.0" jsonc-parser "3.2.0" lines-and-columns "~2.0.3" - minimatch "3.0.5" + minimatch "9.0.3" node-machine-id "1.1.12" npm-run-path "^4.0.1" open "^8.4.0" - semver "7.5.3" + ora "5.3.0" + semver "^7.5.3" string-width "^4.2.3" strong-log-transformer "^2.1.0" tar-stream "~2.2.0" @@ -13998,16 +14001,16 @@ nx@17.2.6, "nx@>=17.1.2 < 18": yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "17.2.6" - "@nx/nx-darwin-x64" "17.2.6" - "@nx/nx-freebsd-x64" "17.2.6" - "@nx/nx-linux-arm-gnueabihf" "17.2.6" - "@nx/nx-linux-arm64-gnu" "17.2.6" - "@nx/nx-linux-arm64-musl" "17.2.6" - "@nx/nx-linux-x64-gnu" "17.2.6" - "@nx/nx-linux-x64-musl" "17.2.6" - "@nx/nx-win32-arm64-msvc" "17.2.6" - "@nx/nx-win32-x64-msvc" "17.2.6" + "@nx/nx-darwin-arm64" "18.2.1" + "@nx/nx-darwin-x64" "18.2.1" + "@nx/nx-freebsd-x64" "18.2.1" + "@nx/nx-linux-arm-gnueabihf" "18.2.1" + "@nx/nx-linux-arm64-gnu" "18.2.1" + "@nx/nx-linux-arm64-musl" "18.2.1" + "@nx/nx-linux-x64-gnu" "18.2.1" + "@nx/nx-linux-x64-musl" "18.2.1" + "@nx/nx-win32-arm64-msvc" "18.2.1" + "@nx/nx-win32-x64-msvc" "18.2.1" object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -14222,6 +14225,20 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" +ora@5.3.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" + integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== + dependencies: + bl "^4.0.3" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + log-symbols "^4.0.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + ora@^5.4.1: version "5.4.1" resolved "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" @@ -15211,10 +15228,10 @@ prettier-plugin-packagejson@2.4.3: resolved "https://registry.npmmirror.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18" integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== -prettier@^3.1.0: - version "3.1.1" - resolved "https://registry.npmmirror.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" - integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== +prettier@^3.2.5: + version "3.2.5" + resolved "https://registry.npmmirror.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== pretty-error@^2.1.1: version "2.1.2" @@ -16910,13 +16927,6 @@ select-hose@^2.0.0: resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@7.5.3: - version "7.5.3" - resolved "https://registry.npmmirror.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - semver@7.5.4, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"