feat(componentEnv): 添加环境配置教程弹窗功能

- 引入 react-markdown依赖用于渲染 markdown 教程内容
- 新增 ConfigTutorial 组件展示环境配置教程
- 在 envExtra 页面中添加“环境配置教程”按钮,点击后以模态框形式展示教程
- 使用 Modal 组件实现弹窗交互,提升用户体验
- 更新 package.json 和 pnpm-lock.yaml 添加相关依赖项
master
钟良源 3 months ago
parent d4c2c0a63d
commit 84cb9d6efb

@ -49,6 +49,7 @@
"react": "17.0.2", "react": "17.0.2",
"react-color": "^2.19.3", "react-color": "^2.19.3",
"react-dom": "17.0.2", "react-dom": "17.0.2",
"react-markdown": "^8.0.0",
"react-redux": "^7.2.6", "react-redux": "^7.2.6",
"redux": "^4.1.2" "redux": "^4.1.2"
}, },

@ -113,6 +113,9 @@ importers:
react-dom: react-dom:
specifier: 17.0.2 specifier: 17.0.2
version: 17.0.2(react@17.0.2) version: 17.0.2(react@17.0.2)
react-markdown:
specifier: ^8.0.0
version: 8.0.7(@types/react@17.0.2)(react@17.0.2)
react-redux: react-redux:
specifier: ^7.2.6 specifier: ^7.2.6
version: 7.2.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2) version: 7.2.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
@ -1496,6 +1499,9 @@ packages:
'@types/d3-zoom@3.0.8': '@types/d3-zoom@3.0.8':
resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
'@types/eslint-scope@3.7.7': '@types/eslint-scope@3.7.7':
resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
@ -1508,6 +1514,9 @@ packages:
'@types/geojson@7946.0.8': '@types/geojson@7946.0.8':
resolution: {integrity: sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==} resolution: {integrity: sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==}
'@types/hast@2.3.10':
resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
'@types/hoist-non-react-statics@3.3.7': '@types/hoist-non-react-statics@3.3.7':
resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==}
peerDependencies: peerDependencies:
@ -1516,9 +1525,15 @@ packages:
'@types/json-schema@7.0.15': '@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
'@types/mdast@3.0.15':
resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
'@types/minimist@1.2.5': '@types/minimist@1.2.5':
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
'@types/node@16.11.7': '@types/node@16.11.7':
resolution: {integrity: sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==} resolution: {integrity: sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==}
@ -1546,6 +1561,9 @@ packages:
'@types/semver@7.7.0': '@types/semver@7.7.0':
resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==}
'@types/unist@2.0.11':
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
'@typescript-eslint/eslint-plugin@5.62.0': '@typescript-eslint/eslint-plugin@5.62.0':
resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -1873,6 +1891,9 @@ packages:
peerDependencies: peerDependencies:
'@babel/core': ^7.0.0 '@babel/core': ^7.0.0
bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
balanced-match@1.0.2: balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@ -2012,6 +2033,9 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'} engines: {node: '>=10'}
character-entities@2.0.2:
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
chokidar@3.5.1: chokidar@3.5.1:
resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==}
engines: {node: '>= 8.10.0'} engines: {node: '>= 8.10.0'}
@ -2072,6 +2096,9 @@ packages:
colorette@1.4.0: colorette@1.4.0:
resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
commander@14.0.0: commander@14.0.0:
resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==} resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==}
engines: {node: '>=20'} engines: {node: '>=20'}
@ -2353,6 +2380,9 @@ packages:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
decode-named-character-reference@1.2.0:
resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
decode-uri-component@0.2.2: decode-uri-component@0.2.2:
resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
@ -2386,6 +2416,10 @@ packages:
resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
des.js@1.1.0: des.js@1.1.0:
resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==}
@ -2395,6 +2429,10 @@ packages:
detect-node-es@1.1.0: detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
diff@5.2.0:
resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
engines: {node: '>=0.3.1'}
diffie-hellman@5.0.3: diffie-hellman@5.0.3:
resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
@ -2655,6 +2693,9 @@ packages:
resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
engines: {node: '>=10'} engines: {node: '>=10'}
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
fast-deep-equal@3.1.3: fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@ -2888,6 +2929,9 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
hast-util-whitespace@2.0.1:
resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
he@1.2.0: he@1.2.0:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true hasBin: true
@ -2978,6 +3022,9 @@ packages:
ini@1.3.8: ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
install@0.13.0: install@0.13.0:
resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==} resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==}
engines: {node: '>= 0.10'} engines: {node: '>= 0.10'}
@ -3022,6 +3069,10 @@ packages:
is-buffer@1.1.6: is-buffer@1.1.6:
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
is-buffer@2.0.5:
resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
engines: {node: '>=4'}
is-callable@1.2.7: is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -3082,6 +3133,10 @@ packages:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
is-plain-obj@4.1.0:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
is-plain-object@2.0.4: is-plain-object@2.0.4:
resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -3228,6 +3283,10 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
kleur@4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'}
klona@2.0.6: klona@2.0.6:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
@ -3340,6 +3399,18 @@ packages:
md5.js@1.3.5: md5.js@1.3.5:
resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==}
mdast-util-definitions@5.1.2:
resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
mdast-util-from-markdown@1.3.1:
resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==}
mdast-util-to-hast@12.3.0:
resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==}
mdast-util-to-string@3.2.0:
resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==}
mdn-data@2.0.14: mdn-data@2.0.14:
resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
@ -3357,6 +3428,69 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
micromark-core-commonmark@1.1.0:
resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
micromark-factory-destination@1.1.0:
resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
micromark-factory-label@1.1.0:
resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==}
micromark-factory-space@1.1.0:
resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
micromark-factory-title@1.1.0:
resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==}
micromark-factory-whitespace@1.1.0:
resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==}
micromark-util-character@1.2.0:
resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
micromark-util-chunked@1.1.0:
resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==}
micromark-util-classify-character@1.1.0:
resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==}
micromark-util-combine-extensions@1.1.0:
resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==}
micromark-util-decode-numeric-character-reference@1.1.0:
resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==}
micromark-util-decode-string@1.1.0:
resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==}
micromark-util-encode@1.1.0:
resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==}
micromark-util-html-tag-name@1.2.0:
resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==}
micromark-util-normalize-identifier@1.1.0:
resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==}
micromark-util-resolve-all@1.1.0:
resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==}
micromark-util-sanitize-uri@1.2.0:
resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==}
micromark-util-subtokenize@1.1.0:
resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==}
micromark-util-symbol@1.1.0:
resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
micromark-util-types@1.1.0:
resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
micromark@3.2.0:
resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==}
micromatch@4.0.8: micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
@ -3738,6 +3872,9 @@ packages:
prop-types@15.8.1: prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
property-information@6.5.0:
resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
prosemirror-commands@1.7.1: prosemirror-commands@1.7.1:
resolution: {integrity: sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==} resolution: {integrity: sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==}
@ -3868,6 +4005,12 @@ packages:
react-is@18.3.1: react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
react-markdown@8.0.7:
resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==}
peerDependencies:
'@types/react': '>=16'
react: '>=16'
react-reconciler@0.25.1: react-reconciler@0.25.1:
resolution: {integrity: sha512-R5UwsIvRcSs3w8n9k3tBoTtUHdVhu9u84EG7E5M0Jk9F5i6DA1pQzPfUZd6opYWGy56MJOtV3VADzy6DRwYDjw==} resolution: {integrity: sha512-R5UwsIvRcSs3w8n9k3tBoTtUHdVhu9u84EG7E5M0Jk9F5i6DA1pQzPfUZd6opYWGy56MJOtV3VADzy6DRwYDjw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -3975,6 +4118,12 @@ packages:
regression@2.0.1: regression@2.0.1:
resolution: {integrity: sha512-A4XYsc37dsBaNOgEjkJKzfJlE394IMmUPlI/p3TTI9u3T+2a+eox5Pr/CPUqF0eszeWZJPAc6QkroAhuUpWDJQ==} resolution: {integrity: sha512-A4XYsc37dsBaNOgEjkJKzfJlE394IMmUPlI/p3TTI9u3T+2a+eox5Pr/CPUqF0eszeWZJPAc6QkroAhuUpWDJQ==}
remark-parse@10.0.2:
resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==}
remark-rehype@10.1.0:
resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==}
repeat-string@1.6.1: repeat-string@1.6.1:
resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
@ -4041,6 +4190,10 @@ packages:
rw@1.3.3: rw@1.3.3:
resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
sade@1.8.1:
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
engines: {node: '>=6'}
safe-array-concat@1.1.3: safe-array-concat@1.1.3:
resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
engines: {node: '>=0.4'} engines: {node: '>=0.4'}
@ -4207,6 +4360,9 @@ packages:
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
spdx-correct@3.2.0: spdx-correct@3.2.0:
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
@ -4316,6 +4472,9 @@ packages:
style-search@0.1.0: style-search@0.1.0:
resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
style-to-object@0.4.4:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
styled-jsx@5.0.0-beta.3: styled-jsx@5.0.0-beta.3:
resolution: {integrity: sha512-HtDDGSFPvmjHIqWf9n8Oo54tAoY/DTplvlyOH2+YOtD80Sp31Ap8ffSmxhgk5EkUoJ7xepdXMGT650mSffWuRA==} resolution: {integrity: sha512-HtDDGSFPvmjHIqWf9n8Oo54tAoY/DTplvlyOH2+YOtD80Sp31Ap8ffSmxhgk5EkUoJ7xepdXMGT650mSffWuRA==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
@ -4468,10 +4627,16 @@ packages:
tr46@1.0.1: tr46@1.0.1:
resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
trim-newlines@3.0.1: trim-newlines@3.0.1:
resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
engines: {node: '>=8'} engines: {node: '>=8'}
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
tslib@1.14.1: tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
@ -4566,6 +4731,27 @@ packages:
resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
engines: {node: '>=4'} engines: {node: '>=4'}
unified@10.1.2:
resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
unist-util-generated@2.0.1:
resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
unist-util-is@5.2.1:
resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
unist-util-position@4.0.4:
resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
unist-util-stringify-position@3.0.3:
resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
unist-util-visit-parents@5.1.3:
resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
unist-util-visit@4.1.2:
resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
universal-cookie@4.0.4: universal-cookie@4.0.4:
resolution: {integrity: sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==} resolution: {integrity: sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==}
@ -4624,12 +4810,23 @@ packages:
util@0.12.4: util@0.12.4:
resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==} resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==}
uvu@0.5.6:
resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
engines: {node: '>=8'}
hasBin: true
v8-compile-cache@2.4.0: v8-compile-cache@2.4.0:
resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
validate-npm-package-license@3.0.4: validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
vfile-message@3.1.4:
resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
vfile@5.3.7:
resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
vm-browserify@1.1.2: vm-browserify@1.1.2:
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
@ -6894,6 +7091,10 @@ snapshots:
'@types/d3-interpolate': 3.0.4 '@types/d3-interpolate': 3.0.4
'@types/d3-selection': 3.0.11 '@types/d3-selection': 3.0.11
'@types/debug@4.1.12':
dependencies:
'@types/ms': 2.1.0
'@types/eslint-scope@3.7.7': '@types/eslint-scope@3.7.7':
dependencies: dependencies:
'@types/eslint': 9.6.1 '@types/eslint': 9.6.1
@ -6908,6 +7109,10 @@ snapshots:
'@types/geojson@7946.0.8': {} '@types/geojson@7946.0.8': {}
'@types/hast@2.3.10':
dependencies:
'@types/unist': 2.0.11
'@types/hoist-non-react-statics@3.3.7(@types/react@17.0.2)': '@types/hoist-non-react-statics@3.3.7(@types/react@17.0.2)':
dependencies: dependencies:
'@types/react': 17.0.2 '@types/react': 17.0.2
@ -6915,8 +7120,14 @@ snapshots:
'@types/json-schema@7.0.15': {} '@types/json-schema@7.0.15': {}
'@types/mdast@3.0.15':
dependencies:
'@types/unist': 2.0.11
'@types/minimist@1.2.5': {} '@types/minimist@1.2.5': {}
'@types/ms@2.1.0': {}
'@types/node@16.11.7': {} '@types/node@16.11.7': {}
'@types/normalize-package-data@2.4.4': {} '@types/normalize-package-data@2.4.4': {}
@ -6945,6 +7156,8 @@ snapshots:
'@types/semver@7.7.0': {} '@types/semver@7.7.0': {}
'@types/unist@2.0.11': {}
'@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.2))(eslint@7.32.0)(typescript@5.9.2)': '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.2))(eslint@7.32.0)(typescript@5.9.2)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.12.1 '@eslint-community/regexpp': 4.12.1
@ -7381,6 +7594,8 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
bail@2.0.2: {}
balanced-match@1.0.2: {} balanced-match@1.0.2: {}
balanced-match@2.0.0: {} balanced-match@2.0.0: {}
@ -7562,6 +7777,8 @@ snapshots:
ansi-styles: 4.3.0 ansi-styles: 4.3.0
supports-color: 7.2.0 supports-color: 7.2.0
character-entities@2.0.2: {}
chokidar@3.5.1: chokidar@3.5.1:
dependencies: dependencies:
anymatch: 3.1.3 anymatch: 3.1.3
@ -7641,6 +7858,8 @@ snapshots:
colorette@1.4.0: {} colorette@1.4.0: {}
comma-separated-tokens@2.0.3: {}
commander@14.0.0: {} commander@14.0.0: {}
commander@2.20.3: {} commander@2.20.3: {}
@ -7940,6 +8159,10 @@ snapshots:
decamelize@1.2.0: {} decamelize@1.2.0: {}
decode-named-character-reference@1.2.0:
dependencies:
character-entities: 2.0.2
decode-uri-component@0.2.2: {} decode-uri-component@0.2.2: {}
deep-equal@1.1.2: deep-equal@1.1.2:
@ -7973,6 +8196,8 @@ snapshots:
depd@1.1.2: {} depd@1.1.2: {}
dequal@2.0.3: {}
des.js@1.1.0: des.js@1.1.0:
dependencies: dependencies:
inherits: 2.0.4 inherits: 2.0.4
@ -7982,6 +8207,8 @@ snapshots:
detect-node-es@1.1.0: {} detect-node-es@1.1.0: {}
diff@5.2.0: {}
diffie-hellman@5.0.3: diffie-hellman@5.0.3:
dependencies: dependencies:
bn.js: 4.12.2 bn.js: 4.12.2
@ -8355,6 +8582,8 @@ snapshots:
signal-exit: 3.0.7 signal-exit: 3.0.7
strip-final-newline: 2.0.0 strip-final-newline: 2.0.0
extend@3.0.2: {}
fast-deep-equal@3.1.3: {} fast-deep-equal@3.1.3: {}
fast-diff@1.3.0: {} fast-diff@1.3.0: {}
@ -8605,6 +8834,8 @@ snapshots:
dependencies: dependencies:
function-bind: 1.1.2 function-bind: 1.1.2
hast-util-whitespace@2.0.1: {}
he@1.2.0: {} he@1.2.0: {}
hmac-drbg@1.0.1: hmac-drbg@1.0.1:
@ -8680,6 +8911,8 @@ snapshots:
ini@1.3.8: {} ini@1.3.8: {}
inline-style-parser@0.1.1: {}
install@0.13.0: {} install@0.13.0: {}
internal-slot@1.1.0: internal-slot@1.1.0:
@ -8728,6 +8961,8 @@ snapshots:
is-buffer@1.1.6: {} is-buffer@1.1.6: {}
is-buffer@2.0.5: {}
is-callable@1.2.7: {} is-callable@1.2.7: {}
is-core-module@2.16.1: is-core-module@2.16.1:
@ -8782,6 +9017,8 @@ snapshots:
is-plain-obj@1.1.0: {} is-plain-obj@1.1.0: {}
is-plain-obj@4.1.0: {}
is-plain-object@2.0.4: is-plain-object@2.0.4:
dependencies: dependencies:
isobject: 3.0.1 isobject: 3.0.1
@ -8917,6 +9154,8 @@ snapshots:
kind-of@6.0.3: {} kind-of@6.0.3: {}
kleur@4.1.5: {}
klona@2.0.6: {} klona@2.0.6: {}
known-css-properties@0.26.0: {} known-css-properties@0.26.0: {}
@ -9022,6 +9261,44 @@ snapshots:
inherits: 2.0.4 inherits: 2.0.4
safe-buffer: 5.2.1 safe-buffer: 5.2.1
mdast-util-definitions@5.1.2:
dependencies:
'@types/mdast': 3.0.15
'@types/unist': 2.0.11
unist-util-visit: 4.1.2
mdast-util-from-markdown@1.3.1:
dependencies:
'@types/mdast': 3.0.15
'@types/unist': 2.0.11
decode-named-character-reference: 1.2.0
mdast-util-to-string: 3.2.0
micromark: 3.2.0
micromark-util-decode-numeric-character-reference: 1.1.0
micromark-util-decode-string: 1.1.0
micromark-util-normalize-identifier: 1.1.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
unist-util-stringify-position: 3.0.3
uvu: 0.5.6
transitivePeerDependencies:
- supports-color
mdast-util-to-hast@12.3.0:
dependencies:
'@types/hast': 2.3.10
'@types/mdast': 3.0.15
mdast-util-definitions: 5.1.2
micromark-util-sanitize-uri: 1.2.0
trim-lines: 3.0.1
unist-util-generated: 2.0.1
unist-util-position: 4.0.4
unist-util-visit: 4.1.2
mdast-util-to-string@3.2.0:
dependencies:
'@types/mdast': 3.0.15
mdn-data@2.0.14: {} mdn-data@2.0.14: {}
mdn-data@2.0.4: {} mdn-data@2.0.4: {}
@ -9045,6 +9322,139 @@ snapshots:
merge2@1.4.1: {} merge2@1.4.1: {}
micromark-core-commonmark@1.1.0:
dependencies:
decode-named-character-reference: 1.2.0
micromark-factory-destination: 1.1.0
micromark-factory-label: 1.1.0
micromark-factory-space: 1.1.0
micromark-factory-title: 1.1.0
micromark-factory-whitespace: 1.1.0
micromark-util-character: 1.2.0
micromark-util-chunked: 1.1.0
micromark-util-classify-character: 1.1.0
micromark-util-html-tag-name: 1.2.0
micromark-util-normalize-identifier: 1.1.0
micromark-util-resolve-all: 1.1.0
micromark-util-subtokenize: 1.1.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
uvu: 0.5.6
micromark-factory-destination@1.1.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
micromark-factory-label@1.1.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
uvu: 0.5.6
micromark-factory-space@1.1.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-types: 1.1.0
micromark-factory-title@1.1.0:
dependencies:
micromark-factory-space: 1.1.0
micromark-util-character: 1.2.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
micromark-factory-whitespace@1.1.0:
dependencies:
micromark-factory-space: 1.1.0
micromark-util-character: 1.2.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
micromark-util-character@1.2.0:
dependencies:
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
micromark-util-chunked@1.1.0:
dependencies:
micromark-util-symbol: 1.1.0
micromark-util-classify-character@1.1.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
micromark-util-combine-extensions@1.1.0:
dependencies:
micromark-util-chunked: 1.1.0
micromark-util-types: 1.1.0
micromark-util-decode-numeric-character-reference@1.1.0:
dependencies:
micromark-util-symbol: 1.1.0
micromark-util-decode-string@1.1.0:
dependencies:
decode-named-character-reference: 1.2.0
micromark-util-character: 1.2.0
micromark-util-decode-numeric-character-reference: 1.1.0
micromark-util-symbol: 1.1.0
micromark-util-encode@1.1.0: {}
micromark-util-html-tag-name@1.2.0: {}
micromark-util-normalize-identifier@1.1.0:
dependencies:
micromark-util-symbol: 1.1.0
micromark-util-resolve-all@1.1.0:
dependencies:
micromark-util-types: 1.1.0
micromark-util-sanitize-uri@1.2.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-encode: 1.1.0
micromark-util-symbol: 1.1.0
micromark-util-subtokenize@1.1.0:
dependencies:
micromark-util-chunked: 1.1.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
uvu: 0.5.6
micromark-util-symbol@1.1.0: {}
micromark-util-types@1.1.0: {}
micromark@3.2.0:
dependencies:
'@types/debug': 4.1.12
debug: 4.4.1
decode-named-character-reference: 1.2.0
micromark-core-commonmark: 1.1.0
micromark-factory-space: 1.1.0
micromark-util-character: 1.2.0
micromark-util-chunked: 1.1.0
micromark-util-combine-extensions: 1.1.0
micromark-util-decode-numeric-character-reference: 1.1.0
micromark-util-encode: 1.1.0
micromark-util-normalize-identifier: 1.1.0
micromark-util-resolve-all: 1.1.0
micromark-util-sanitize-uri: 1.2.0
micromark-util-subtokenize: 1.1.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
uvu: 0.5.6
transitivePeerDependencies:
- supports-color
micromatch@4.0.8: micromatch@4.0.8:
dependencies: dependencies:
braces: 3.0.3 braces: 3.0.3
@ -9478,6 +9888,8 @@ snapshots:
object-assign: 4.1.1 object-assign: 4.1.1
react-is: 16.13.1 react-is: 16.13.1
property-information@6.5.0: {}
prosemirror-commands@1.7.1: prosemirror-commands@1.7.1:
dependencies: dependencies:
prosemirror-model: 1.25.4 prosemirror-model: 1.25.4
@ -9639,6 +10051,28 @@ snapshots:
react-is@18.3.1: {} react-is@18.3.1: {}
react-markdown@8.0.7(@types/react@17.0.2)(react@17.0.2):
dependencies:
'@types/hast': 2.3.10
'@types/prop-types': 15.7.15
'@types/react': 17.0.2
'@types/unist': 2.0.11
comma-separated-tokens: 2.0.3
hast-util-whitespace: 2.0.1
prop-types: 15.8.1
property-information: 6.5.0
react: 17.0.2
react-is: 18.3.1
remark-parse: 10.0.2
remark-rehype: 10.1.0
space-separated-tokens: 2.0.2
style-to-object: 0.4.4
unified: 10.1.2
unist-util-visit: 4.1.2
vfile: 5.3.7
transitivePeerDependencies:
- supports-color
react-reconciler@0.25.1(react@17.0.2): react-reconciler@0.25.1(react@17.0.2):
dependencies: dependencies:
loose-envify: 1.4.0 loose-envify: 1.4.0
@ -9775,6 +10209,21 @@ snapshots:
regression@2.0.1: {} regression@2.0.1: {}
remark-parse@10.0.2:
dependencies:
'@types/mdast': 3.0.15
mdast-util-from-markdown: 1.3.1
unified: 10.1.2
transitivePeerDependencies:
- supports-color
remark-rehype@10.1.0:
dependencies:
'@types/hast': 2.3.10
'@types/mdast': 3.0.15
mdast-util-to-hast: 12.3.0
unified: 10.1.2
repeat-string@1.6.1: {} repeat-string@1.6.1: {}
require-from-string@2.0.2: {} require-from-string@2.0.2: {}
@ -9835,6 +10284,10 @@ snapshots:
rw@1.3.3: {} rw@1.3.3: {}
sade@1.8.1:
dependencies:
mri: 1.2.0
safe-array-concat@1.1.3: safe-array-concat@1.1.3:
dependencies: dependencies:
call-bind: 1.0.8 call-bind: 1.0.8
@ -10015,6 +10468,8 @@ snapshots:
dependencies: dependencies:
whatwg-url: 7.1.0 whatwg-url: 7.1.0
space-separated-tokens@2.0.2: {}
spdx-correct@3.2.0: spdx-correct@3.2.0:
dependencies: dependencies:
spdx-expression-parse: 3.0.1 spdx-expression-parse: 3.0.1
@ -10148,6 +10603,10 @@ snapshots:
style-search@0.1.0: {} style-search@0.1.0: {}
style-to-object@0.4.4:
dependencies:
inline-style-parser: 0.1.1
styled-jsx@5.0.0-beta.3(@babel/core@7.28.3)(react@17.0.2): styled-jsx@5.0.0-beta.3(@babel/core@7.28.3)(react@17.0.2):
dependencies: dependencies:
'@babel/plugin-syntax-jsx': 7.14.5(@babel/core@7.28.3) '@babel/plugin-syntax-jsx': 7.14.5(@babel/core@7.28.3)
@ -10348,8 +10807,12 @@ snapshots:
dependencies: dependencies:
punycode: 2.3.1 punycode: 2.3.1
trim-lines@3.0.1: {}
trim-newlines@3.0.1: {} trim-newlines@3.0.1: {}
trough@2.2.0: {}
tslib@1.14.1: {} tslib@1.14.1: {}
tslib@2.3.0: {} tslib@2.3.0: {}
@ -10442,6 +10905,41 @@ snapshots:
unicode-property-aliases-ecmascript@2.1.0: {} unicode-property-aliases-ecmascript@2.1.0: {}
unified@10.1.2:
dependencies:
'@types/unist': 2.0.11
bail: 2.0.2
extend: 3.0.2
is-buffer: 2.0.5
is-plain-obj: 4.1.0
trough: 2.2.0
vfile: 5.3.7
unist-util-generated@2.0.1: {}
unist-util-is@5.2.1:
dependencies:
'@types/unist': 2.0.11
unist-util-position@4.0.4:
dependencies:
'@types/unist': 2.0.11
unist-util-stringify-position@3.0.3:
dependencies:
'@types/unist': 2.0.11
unist-util-visit-parents@5.1.3:
dependencies:
'@types/unist': 2.0.11
unist-util-is: 5.2.1
unist-util-visit@4.1.2:
dependencies:
'@types/unist': 2.0.11
unist-util-is: 5.2.1
unist-util-visit-parents: 5.1.3
universal-cookie@4.0.4: universal-cookie@4.0.4:
dependencies: dependencies:
'@types/cookie': 0.3.3 '@types/cookie': 0.3.3
@ -10503,6 +11001,13 @@ snapshots:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
which-typed-array: 1.1.19 which-typed-array: 1.1.19
uvu@0.5.6:
dependencies:
dequal: 2.0.3
diff: 5.2.0
kleur: 4.1.5
sade: 1.8.1
v8-compile-cache@2.4.0: {} v8-compile-cache@2.4.0: {}
validate-npm-package-license@3.0.4: validate-npm-package-license@3.0.4:
@ -10510,6 +11015,18 @@ snapshots:
spdx-correct: 3.2.0 spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1 spdx-expression-parse: 3.0.1
vfile-message@3.1.4:
dependencies:
'@types/unist': 2.0.11
unist-util-stringify-position: 3.0.3
vfile@5.3.7:
dependencies:
'@types/unist': 2.0.11
is-buffer: 2.0.5
unist-util-stringify-position: 3.0.3
vfile-message: 3.1.4
vm-browserify@1.1.2: {} vm-browserify@1.1.2: {}
w3c-keyname@2.2.8: {} w3c-keyname@2.2.8: {}

@ -0,0 +1,93 @@
# **证书配置教程**
## **一、下载证书压缩包**
从组件开发平台中下载证书压缩包包含以下3个文件
- ca.pem
- server-cert.pem
- server-key.pem
## **二、上传至服务器**
使用winscp、FTP、XFTP、SCP等其他工具将3个文件上传到服务器上。
在本次示例中,文件上传路径为 /etc/docker (可以替换为其他路径在daemon.json中对应修改即可)
- sudo mv ca.pem /etc/docker/ca.pem
- sudo mv server-cert.pem /etc/docker/server-cert.pem
- sudo mv server-key.pem /etc/docker/server-key.pem
## 三、修改 Hosts 配置
将 当前平台访问ip 写入host中 作为部署节点需要通过改ip获取docker镜像
```shell
echo CURRENT_IP nexus.io | sudo tee -a /etc/hosts
```
## **四、修改 docker 服务**
1. 将服务器上的 `docker.service` 进行修改:
通过 `systemctl status docker`查看docker服务状态
通过 `cat` 检查ExecStart内容
```shell
cat /lib/systemd/system/docker.service | grep fd
```
如果执行结果为:`ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock`
则需要执行以下命令对 `docker.service` 进行修改:
```shell
sudo sed -i 's/-H\ fd:\/\///g' /lib/systemd/system/docker.service
```
2. 修改`daemon.json`配置
通过以下命令备份数据
```shell
sudo cp -v /etc/docker/daemon.json /etc/docker/daemon.json.$(date +%Y%m%d%H%M%S)
```
通过以下命令配置
```shell
echo '{
"hosts": [
"fd://",
"tcp://0.0.0.0:2375",
"unix:///var/run/docker.sock"
],
"tlsverify": true,
"tlscacert": "/etc/docker/ca.pem",
"tlscert": "/etc/docker/server-cert.pem",
"tlskey": "/etc/docker/server-key.pem",
"registry-mirrors": [
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn",
"https://registry.docker-cn.com",
"https://docker.m.daocloud.io",
"https://ghcr.nju.edu.cn",
"https://docker.nju.edu.cn",
"https://atomhub.openatom.cn/"
],
"insecure-registries": [
"https://nexus.io:8082"
]
}' | sudo tee -a /etc/docker/daemon.json
```
3. 重启 docker 服务
```shell
systemctl daemon-reload && service docker restart
```

File diff suppressed because one or more lines are too long

@ -0,0 +1,79 @@
# 组件实例指引
> 该指引用于说明如何创建线上实例以及本地实例。
## 一、线上实例
> 注意事项:
>
> + 第一次启动实例后,“环境配置”内容修改无法生效
> + 如果需要修改已运行过实例的“环境配置”内容,需要删除该实例后,重新创建。
1. 前置准备
在创建线上实例前,需要完成组件的开发、编译流程。
2. 创建“线上运行”实例
3. 修改“实例配置”以及“环境配置“
4. “启动”实例
## 二、本地实例
1. 前置准备
在创建本地实例前,无需在平台完成组件的开发、编译等流程。
2. 创建“本地运行”实例
3. 打开“环境配置”,设置实例需要的环境配置,并复制对应本地运行命令(每一个实例本地运行命令不一样)
> Java组件命令示例如下
>
> java -Disdp.instance-id=demo_admin_ibasdj -Disdp.instance-name=demo -Disdp.component-id=1789897853057896449 -Disdp.nacos=127.0.0.1:8848 -Disdp.nacos-namespace=component -Disdp.ip=127.0.0.1 -jar app.jar
> Python组件命令示例如下
>
> python -u init.py '{"isdp.instance-id":"demo_py_admin_iwjofl","isdp.instance-name":"demo_py","isdp.component-id":"1789911618478411777","isdp.nacos":"127.0.0.1:8848","isdp.nacos-namespace":"component","isdp.ip":"127.0.0.1"}'
4. 本地启动
---
+ 命令行启动 Java组件
+ 通过源码编译启动
1. 拉取项目
2. 通过Maven编译项目
3. 找到target目录下对应jar包
4. `java -Disdp.instance-id=demo_admin_ibasdj -Disdp.instance-name=demo -Disdp.component-id=1789897853057896449 -Disdp.nacos=127.0.0.1:8848 -Disdp.nacos-namespace=component -Disdp.ip=127.0.0.1 -jar target/app.jar`
+ 通过jar包启动
1. 下载jar包
2. `java -Disdp.instance-id=demo_admin_ibasdj -Disdp.instance-name=demo -Disdp.component-id=1789897853057896449 -Disdp.nacos=127.0.0.1:8848 -Disdp.nacos-namespace=component -Disdp.ip=127.0.0.1 -jar target/app.jar`
---
+ 命令行启动 Python 组件
1. 拉取/下载项目
2. `python -u init.py '{"isdp.instance-id":"demo_py_admin_iwjofl","isdp.instance-name":"demo_py","isdp.component-id":"1789911618478411777","isdp.nacos":"127.0.0.1:8848","isdp.nacos-namespace":"component","isdp.ip":"127.0.0.1"}'`
---
+ IDEA 启动 Java 组件
1. 拉取项目源码
2. 修改启动项Edit Configuration
3. Add VM options
4. 粘贴组件命令中 `-D` 部分java -Dxxx -jar app.jar
> -Disdp.instance-id=demo_admin_ibasdj -Disdp.instance-name=demo -Disdp.component-id=1789897853057896449 -Disdp.nacos=127.0.0.1:8848 -Disdp.nacos-namespace=component -Disdp.ip=127.0.0.1
+ PyCharm 启动Python组件
1. 拉取项目源码
2. 打开Terminal终端
3. 输入启动命令

@ -0,0 +1,21 @@
import React, { useEffect, useState } from 'react';
import ReactMarkdown from 'react-markdown';
const ConfigTutorial = () => {
const [markdown, setMarkdown] = useState('');
useEffect(() => {
fetch('/assets/环境配置教程.md')
.then(response => response.text())
.then(text => setMarkdown(text))
.catch(error => console.error('Error loading markdown file:', error));
}, []);
return (
<div style={{ padding: '20px' }}>
<ReactMarkdown>{markdown}</ReactMarkdown>
</div>
);
};
export default ConfigTutorial;

@ -1,9 +1,11 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import { Button, Space } from '@arco-design/web-react'; import { Button, Space, Modal } from '@arco-design/web-react';
import { downloadEnvConfigFile, testEnv } from '@/api/componentDeployEnv'; import { downloadEnvConfigFile, testEnv } from '@/api/componentDeployEnv';
import ConfigTutorial from './configTutorial';
const EnvExtra = ({ currentEnvData }) => { const EnvExtra = ({ currentEnvData }) => {
const [testLoading, setTestLoading] = useState(false); const [testLoading, setTestLoading] = useState(false);
const [tutorialVisible, setTutorialVisible] = useState(false);
// 模拟下载配置证书文件 // 模拟下载配置证书文件
const handleDownloadConfig = () => { const handleDownloadConfig = () => {
@ -13,8 +15,7 @@ const EnvExtra = ({ currentEnvData }) => {
// 模拟查看环境配置教程 // 模拟查看环境配置教程
const handleViewTutorial = () => { const handleViewTutorial = () => {
console.log('查看环境配置教程'); setTutorialVisible(true);
// 这里可以打开一个新的页面或弹窗显示教程内容
}; };
// 模拟点击测试环境可用性 // 模拟点击测试环境可用性
@ -26,6 +27,7 @@ const EnvExtra = ({ currentEnvData }) => {
}; };
return ( return (
<>
<div style={{ padding: '20px', borderRadius: 8 }}> <div style={{ padding: '20px', borderRadius: 8 }}>
<div style={{ marginBottom: 20 }}> <div style={{ marginBottom: 20 }}>
<div style={{ display: 'flex', alignItems: 'center', marginBottom: 10 }}> <div style={{ display: 'flex', alignItems: 'center', marginBottom: 10 }}>
@ -64,6 +66,17 @@ const EnvExtra = ({ currentEnvData }) => {
</div> </div>
</div> </div>
</div> </div>
<Modal
title="环境配置教程"
visible={tutorialVisible}
onCancel={() => setTutorialVisible(false)}
footer={null}
style={{ top: 20, width: '100%' }}
>
<ConfigTutorial />
</Modal>
</>
); );
}; };

Loading…
Cancel
Save