"feat: 新增远程应用测试脚本,升级 pm2 依赖"
This commit is contained in:
parent
1c2aa26dd0
commit
1e340ec2b3
@ -21,6 +21,7 @@
|
||||
"scripts": {
|
||||
"dev": "bun run src/run.ts ",
|
||||
"dev:server": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 bun --watch src/run-server.ts ",
|
||||
"dev:share": "bun --watch src/test/remote-app.ts ",
|
||||
"build:lib": "bun run bun-lib.config.mjs",
|
||||
"postbuild:lib": "dts -i src/lib.ts -o assistant-lib.d.ts -d libs -t",
|
||||
"build": "rimraf dist && bun run bun.config.mjs",
|
||||
@ -75,6 +76,7 @@
|
||||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"eventemitter3": "^5.0.1",
|
||||
"pm2": "^6.0.6"
|
||||
}
|
||||
}
|
416
assistant/pnpm-lock.yaml
generated
416
assistant/pnpm-lock.yaml
generated
@ -8,6 +8,9 @@ importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
eventemitter3:
|
||||
specifier: ^5.0.1
|
||||
version: 5.0.1
|
||||
pm2:
|
||||
specifier: ^6.0.6
|
||||
version: 6.0.6(supports-color@10.0.0)
|
||||
@ -98,7 +101,7 @@ importers:
|
||||
dependencies:
|
||||
pm2:
|
||||
specifier: ^6.0.5
|
||||
version: 6.0.5(supports-color@10.0.0)
|
||||
version: 6.0.6
|
||||
devDependencies:
|
||||
'@kevisual/assistant-cli':
|
||||
specifier: workspace:*
|
||||
@ -123,7 +126,7 @@ importers:
|
||||
version: 16.5.0
|
||||
inquirer:
|
||||
specifier: ^12.6.0
|
||||
version: 12.6.0(@types/node@22.15.18)
|
||||
version: 12.6.1(@types/node@22.15.18)
|
||||
lodash-es:
|
||||
specifier: ^4.17.21
|
||||
version: 4.17.21
|
||||
@ -141,15 +144,6 @@ packages:
|
||||
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@inquirer/checkbox@4.1.5':
|
||||
resolution: {integrity: sha512-swPczVU+at65xa5uPfNP9u3qx/alNwiaykiI/ExpsmMSQW55trmZcwhYWzw/7fj+n6Q8z1eENvR7vFfq9oPSAQ==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/checkbox@4.1.6':
|
||||
resolution: {integrity: sha512-62u896rWCtKKE43soodq5e/QcRsA22I+7/4Ov7LESWnKRO6BVo2A1DFLDmXL9e28TB0CfHc3YtkbPm7iwajqkg==}
|
||||
engines: {node: '>=18'}
|
||||
@ -168,24 +162,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/confirm@5.1.9':
|
||||
resolution: {integrity: sha512-NgQCnHqFTjF7Ys2fsqK2WtnA8X1kHyInyG+nMIuHowVTIgIuS10T4AznI/PvbqSpJqjCUqNBlKGh1v3bwLFL4w==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/core@10.1.10':
|
||||
resolution: {integrity: sha512-roDaKeY1PYY0aCqhRmXihrHjoSW2A00pV3Ke5fTpMCkzcGF64R8e0lw3dK+eLEHwS4vB5RnW1wuQmvzoRul8Mw==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/core@10.1.11':
|
||||
resolution: {integrity: sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==}
|
||||
engines: {node: '>=18'}
|
||||
@ -195,15 +171,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/editor@4.2.10':
|
||||
resolution: {integrity: sha512-5GVWJ+qeI6BzR6TIInLP9SXhWCEcvgFQYmcRG6d6RIlhFjM5TyG18paTGBgRYyEouvCmzeco47x9zX9tQEofkw==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/editor@4.2.11':
|
||||
resolution: {integrity: sha512-YoZr0lBnnLFPpfPSNsQ8IZyKxU47zPyVi9NLjCWtna52//M/xuL0PGPAxHxxYhdOhnvY2oBafoM+BI5w/JK7jw==}
|
||||
engines: {node: '>=18'}
|
||||
@ -213,15 +180,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/expand@4.0.12':
|
||||
resolution: {integrity: sha512-jV8QoZE1fC0vPe6TnsOfig+qwu7Iza1pkXoUJ3SroRagrt2hxiL+RbM432YAihNR7m7XnU0HWl/WQ35RIGmXHw==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/expand@4.0.13':
|
||||
resolution: {integrity: sha512-HgYNWuZLHX6q5y4hqKhwyytqAghmx35xikOGY3TcgNiElqXGPas24+UzNPOwGUZa5Dn32y25xJqVeUcGlTv+QQ==}
|
||||
engines: {node: '>=18'}
|
||||
@ -244,24 +202,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/input@4.1.9':
|
||||
resolution: {integrity: sha512-mshNG24Ij5KqsQtOZMgj5TwEjIf+F2HOESk6bjMwGWgcH5UBe8UoljwzNFHqdMbGYbgAf6v2wU/X9CAdKJzgOA==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/number@3.0.12':
|
||||
resolution: {integrity: sha512-7HRFHxbPCA4e4jMxTQglHJwP+v/kpFsCf2szzfBHy98Wlc3L08HL76UDiA87TOdX5fwj2HMOLWqRWv9Pnn+Z5Q==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/number@3.0.13':
|
||||
resolution: {integrity: sha512-IrLezcg/GWKS8zpKDvnJ/YTflNJdG0qSFlUM/zNFsdi4UKW/CO+gaJpbMgQ20Q58vNKDJbEzC6IebdkprwL6ew==}
|
||||
engines: {node: '>=18'}
|
||||
@ -271,15 +211,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/password@4.0.12':
|
||||
resolution: {integrity: sha512-FlOB0zvuELPEbnBYiPaOdJIaDzb2PmJ7ghi/SVwIHDDSQ2K4opGBkF+5kXOg6ucrtSUQdLhVVY5tycH0j0l+0g==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/password@4.0.13':
|
||||
resolution: {integrity: sha512-NN0S/SmdhakqOTJhDwOpeBEEr8VdcYsjmZHDb0rblSh2FcbXQOr+2IApP7JG4WE3sxIdKytDn4ed3XYwtHxmJQ==}
|
||||
engines: {node: '>=18'}
|
||||
@ -289,15 +220,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/prompts@7.5.0':
|
||||
resolution: {integrity: sha512-tk8Bx7l5AX/CR0sVfGj3Xg6v7cYlFBkEahH+EgBB+cZib6Fc83dwerTbzj7f2+qKckjIUGsviWRI1d7lx6nqQA==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/prompts@7.5.1':
|
||||
resolution: {integrity: sha512-5AOrZPf2/GxZ+SDRZ5WFplCA2TAQgK3OYrXCYmJL5NaTu4ECcoWFlfUZuw7Es++6Njv7iu/8vpYJhuzxUH76Vg==}
|
||||
engines: {node: '>=18'}
|
||||
@ -307,15 +229,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/rawlist@4.1.0':
|
||||
resolution: {integrity: sha512-6ob45Oh9pXmfprKqUiEeMz/tjtVTFQTgDDz1xAMKMrIvyrYjAmRbQZjMJfsictlL4phgjLhdLu27IkHNnNjB7g==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/rawlist@4.1.1':
|
||||
resolution: {integrity: sha512-VBUC0jPN2oaOq8+krwpo/mf3n/UryDUkKog3zi+oIi8/e5hykvdntgHUB9nhDM78RubiyR1ldIOfm5ue+2DeaQ==}
|
||||
engines: {node: '>=18'}
|
||||
@ -325,15 +238,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/search@3.0.12':
|
||||
resolution: {integrity: sha512-H/kDJA3kNlnNIjB8YsaXoQI0Qccgf0Na14K1h8ExWhNmUg2E941dyFPrZeugihEa9AZNW5NdsD/NcvUME83OPQ==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/search@3.0.13':
|
||||
resolution: {integrity: sha512-9g89d2c5Izok/Gw/U7KPC3f9kfe5rA1AJ24xxNZG0st+vWekSk7tB9oE+dJv5JXd0ZSijomvW0KPMoBd8qbN4g==}
|
||||
engines: {node: '>=18'}
|
||||
@ -343,15 +247,6 @@ packages:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/select@4.2.0':
|
||||
resolution: {integrity: sha512-KkXQ4aSySWimpV4V/TUJWdB3tdfENZUU765GjOIZ0uPwdbGIG6jrxD4dDf1w68uP+DVtfNhr1A92B+0mbTZ8FA==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
'@inquirer/select@4.2.1':
|
||||
resolution: {integrity: sha512-gt1Kd5XZm+/ddemcT3m23IP8aD8rC9drRckWoP/1f7OL46Yy2FGi8DSmNjEjQKtPl6SV96Kmjbl6p713KXJ/Jg==}
|
||||
engines: {node: '>=18'}
|
||||
@ -1033,15 +928,6 @@ packages:
|
||||
ini@1.3.8:
|
||||
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
||||
|
||||
inquirer@12.6.0:
|
||||
resolution: {integrity: sha512-3zmmccQd/8o65nPOZJZ+2wqt76Ghw3+LaMrmc6JE/IzcvQhJ1st+QLCOo/iLS85/tILU0myG31a2TAZX0ysAvg==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
'@types/node': '>=18'
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
|
||||
inquirer@12.6.1:
|
||||
resolution: {integrity: sha512-MGFnzHVS3l3oM3cy+LWkyR7UUtVEn3D5U41CZbEY34szToWoJAvaVtCTz1mxsEzZFk/HXWyCArn0HDgloTXMDw==}
|
||||
engines: {node: '>=18'}
|
||||
@ -1273,11 +1159,6 @@ packages:
|
||||
pm2-sysmonit@1.2.8:
|
||||
resolution: {integrity: sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==}
|
||||
|
||||
pm2@6.0.5:
|
||||
resolution: {integrity: sha512-+O43WPaEiwYbm6/XSpAOO1Rtya/Uof0n7x8hJZGfwIuepesNTIVArpZh4KqFfze0cvvqZMr0maTW3ifhvmyeMQ==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
hasBin: true
|
||||
|
||||
pm2@6.0.6:
|
||||
resolution: {integrity: sha512-6t+I+Gc232dKe0OjwFYlU59JoY8MWBqsBmcZMSfKollByL4q8APUFwWOt7OtPH4lGO4Sb6GiFAqu7xT42QeRBA==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
@ -1536,16 +1417,6 @@ snapshots:
|
||||
'@babel/helper-validator-identifier@7.25.9':
|
||||
optional: true
|
||||
|
||||
'@inquirer/checkbox@4.1.5(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/figures': 1.0.11
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
ansi-escapes: 4.3.2
|
||||
yoctocolors-cjs: 2.1.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/checkbox@4.1.6(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1563,26 +1434,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/confirm@5.1.9(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/core@10.1.10(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/figures': 1.0.11
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
ansi-escapes: 4.3.2
|
||||
cli-width: 4.1.0
|
||||
mute-stream: 2.0.0
|
||||
signal-exit: 4.1.0
|
||||
wrap-ansi: 6.2.0
|
||||
yoctocolors-cjs: 2.1.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/core@10.1.11(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/figures': 1.0.11
|
||||
@ -1596,14 +1447,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/editor@4.2.10(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
external-editor: 3.1.0
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/editor@4.2.11(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1612,14 +1455,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/expand@4.0.12(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
yoctocolors-cjs: 2.1.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/expand@4.0.13(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1637,20 +1472,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/input@4.1.9(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/number@3.0.12(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/number@3.0.13(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1658,14 +1479,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/password@4.0.12(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
ansi-escapes: 4.3.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/password@4.0.13(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1674,21 +1487,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/prompts@7.5.0(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/checkbox': 4.1.5(@types/node@22.15.18)
|
||||
'@inquirer/confirm': 5.1.9(@types/node@22.15.18)
|
||||
'@inquirer/editor': 4.2.10(@types/node@22.15.18)
|
||||
'@inquirer/expand': 4.0.12(@types/node@22.15.18)
|
||||
'@inquirer/input': 4.1.9(@types/node@22.15.18)
|
||||
'@inquirer/number': 3.0.12(@types/node@22.15.18)
|
||||
'@inquirer/password': 4.0.12(@types/node@22.15.18)
|
||||
'@inquirer/rawlist': 4.1.0(@types/node@22.15.18)
|
||||
'@inquirer/search': 3.0.12(@types/node@22.15.18)
|
||||
'@inquirer/select': 4.2.0(@types/node@22.15.18)
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/prompts@7.5.1(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/checkbox': 4.1.6(@types/node@22.15.18)
|
||||
@ -1704,14 +1502,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/rawlist@4.1.0(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
yoctocolors-cjs: 2.1.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/rawlist@4.1.1(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1720,15 +1510,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/search@3.0.12(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/figures': 1.0.11
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
yoctocolors-cjs: 2.1.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/search@3.0.13(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1738,16 +1519,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/select@4.2.0(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/figures': 1.0.11
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
ansi-escapes: 4.3.2
|
||||
yoctocolors-cjs: 2.1.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
'@inquirer/select@4.2.1(@types/node@22.15.18)':
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -1825,6 +1596,24 @@ snapshots:
|
||||
|
||||
'@kevisual/ws@8.0.0': {}
|
||||
|
||||
'@pm2/agent@2.1.1':
|
||||
dependencies:
|
||||
async: 3.2.6
|
||||
chalk: 3.0.0
|
||||
dayjs: 1.8.36
|
||||
debug: 4.3.7
|
||||
eventemitter2: 5.0.1
|
||||
fast-json-patch: 3.1.1
|
||||
fclone: 1.0.11
|
||||
pm2-axon: 4.0.1
|
||||
pm2-axon-rpc: 0.7.1
|
||||
proxy-agent: 6.4.0
|
||||
semver: 7.5.4
|
||||
ws: 7.5.10
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@pm2/agent@2.1.1(supports-color@10.0.0)':
|
||||
dependencies:
|
||||
async: 3.2.6
|
||||
@ -1844,6 +1633,17 @@ snapshots:
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
'@pm2/io@6.1.0':
|
||||
dependencies:
|
||||
async: 2.6.4
|
||||
debug: 4.3.7
|
||||
eventemitter2: 6.4.9
|
||||
require-in-the-middle: 5.2.0
|
||||
semver: 7.5.4
|
||||
shimmer: 1.2.1
|
||||
signal-exit: 3.0.7
|
||||
tslib: 1.9.3
|
||||
|
||||
'@pm2/io@6.1.0(supports-color@10.0.0)':
|
||||
dependencies:
|
||||
async: 2.6.4
|
||||
@ -1857,6 +1657,17 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@pm2/js-api@0.8.0':
|
||||
dependencies:
|
||||
async: 2.6.4
|
||||
debug: 4.3.7
|
||||
eventemitter2: 6.4.9
|
||||
extrareqp2: 1.0.0(debug@4.3.7)
|
||||
ws: 7.5.10
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@pm2/js-api@0.8.0(supports-color@10.0.0)':
|
||||
dependencies:
|
||||
async: 2.6.4
|
||||
@ -1869,6 +1680,10 @@ snapshots:
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
'@pm2/pm2-version-check@1.0.4':
|
||||
dependencies:
|
||||
debug: 4.4.0
|
||||
|
||||
'@pm2/pm2-version-check@1.0.4(supports-color@10.0.0)':
|
||||
dependencies:
|
||||
debug: 4.4.0(supports-color@10.0.0)
|
||||
@ -2155,18 +1970,30 @@ snapshots:
|
||||
|
||||
dayjs@1.8.36: {}
|
||||
|
||||
debug@3.2.7:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
debug@3.2.7(supports-color@10.0.0):
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
optionalDependencies:
|
||||
supports-color: 10.0.0
|
||||
|
||||
debug@4.3.7:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
debug@4.3.7(supports-color@10.0.0):
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
optionalDependencies:
|
||||
supports-color: 10.0.0
|
||||
|
||||
debug@4.4.0:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
debug@4.4.0(supports-color@10.0.0):
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
@ -2260,6 +2087,12 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
|
||||
extrareqp2@1.0.0(debug@4.3.7):
|
||||
dependencies:
|
||||
follow-redirects: 1.15.9(debug@4.3.7)
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
|
||||
fast-json-patch@3.1.1: {}
|
||||
|
||||
fclone@1.0.11: {}
|
||||
@ -2276,6 +2109,10 @@ snapshots:
|
||||
optionalDependencies:
|
||||
debug: 4.3.7(supports-color@10.0.0)
|
||||
|
||||
follow-redirects@1.15.9(debug@4.3.7):
|
||||
optionalDependencies:
|
||||
debug: 4.3.7
|
||||
|
||||
form-data-encoder@1.7.2: {}
|
||||
|
||||
form-data@4.0.2:
|
||||
@ -2317,6 +2154,12 @@ snapshots:
|
||||
dunder-proto: 1.0.1
|
||||
es-object-atoms: 1.1.1
|
||||
|
||||
get-uri@6.0.4:
|
||||
dependencies:
|
||||
basic-ftp: 5.0.5
|
||||
data-uri-to-buffer: 6.0.2
|
||||
debug: 4.4.0
|
||||
|
||||
get-uri@6.0.4(supports-color@10.0.0):
|
||||
dependencies:
|
||||
basic-ftp: 5.0.5
|
||||
@ -2357,6 +2200,11 @@ snapshots:
|
||||
statuses: 2.0.1
|
||||
toidentifier: 1.0.1
|
||||
|
||||
http-proxy-agent@7.0.2:
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
debug: 4.4.0
|
||||
|
||||
http-proxy-agent@7.0.2(supports-color@10.0.0):
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
@ -2364,6 +2212,11 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
https-proxy-agent@7.0.6:
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
debug: 4.4.0
|
||||
|
||||
https-proxy-agent@7.0.6(supports-color@10.0.0):
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
@ -2385,18 +2238,6 @@ snapshots:
|
||||
|
||||
ini@1.3.8: {}
|
||||
|
||||
inquirer@12.6.0(@types/node@22.15.18):
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.10(@types/node@22.15.18)
|
||||
'@inquirer/prompts': 7.5.0(@types/node@22.15.18)
|
||||
'@inquirer/type': 3.0.6(@types/node@22.15.18)
|
||||
ansi-escapes: 4.3.2
|
||||
mute-stream: 2.0.0
|
||||
run-async: 3.0.0
|
||||
rxjs: 7.8.2
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.18
|
||||
|
||||
inquirer@12.6.1(@types/node@22.15.18):
|
||||
dependencies:
|
||||
'@inquirer/core': 10.1.11(@types/node@22.15.18)
|
||||
@ -2499,6 +2340,12 @@ snapshots:
|
||||
|
||||
nanoid@5.1.5: {}
|
||||
|
||||
needle@2.4.0:
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
iconv-lite: 0.4.24
|
||||
sax: 1.4.1
|
||||
|
||||
needle@2.4.0(supports-color@10.0.0):
|
||||
dependencies:
|
||||
debug: 3.2.7(supports-color@10.0.0)
|
||||
@ -2539,6 +2386,17 @@ snapshots:
|
||||
|
||||
os-tmpdir@1.0.2: {}
|
||||
|
||||
pac-proxy-agent@7.2.0:
|
||||
dependencies:
|
||||
'@tootallnate/quickjs-emscripten': 0.23.0
|
||||
agent-base: 7.1.3
|
||||
debug: 4.4.0
|
||||
get-uri: 6.0.4
|
||||
http-proxy-agent: 7.0.2
|
||||
https-proxy-agent: 7.0.6
|
||||
pac-resolver: 7.0.1
|
||||
socks-proxy-agent: 8.0.5
|
||||
|
||||
pac-proxy-agent@7.2.0(supports-color@10.0.0):
|
||||
dependencies:
|
||||
'@tootallnate/quickjs-emscripten': 0.23.0
|
||||
@ -2581,12 +2439,23 @@ snapshots:
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
|
||||
pm2-axon-rpc@0.7.1:
|
||||
dependencies:
|
||||
debug: 4.4.0
|
||||
|
||||
pm2-axon-rpc@0.7.1(supports-color@10.0.0):
|
||||
dependencies:
|
||||
debug: 4.4.0(supports-color@10.0.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
pm2-axon@4.0.1:
|
||||
dependencies:
|
||||
amp: 0.3.1
|
||||
amp-message: 0.1.2
|
||||
debug: 4.4.0
|
||||
escape-string-regexp: 4.0.0
|
||||
|
||||
pm2-axon@4.0.1(supports-color@10.0.0):
|
||||
dependencies:
|
||||
amp: 0.3.1
|
||||
@ -2605,6 +2474,15 @@ snapshots:
|
||||
dependencies:
|
||||
charm: 0.1.2
|
||||
|
||||
pm2-sysmonit@1.2.8:
|
||||
dependencies:
|
||||
async: 3.2.6
|
||||
debug: 4.4.0
|
||||
pidusage: 2.0.21
|
||||
systeminformation: 5.25.11
|
||||
tx2: 1.0.5
|
||||
optional: true
|
||||
|
||||
pm2-sysmonit@1.2.8(supports-color@10.0.0):
|
||||
dependencies:
|
||||
async: 3.2.6
|
||||
@ -2616,30 +2494,30 @@ snapshots:
|
||||
- supports-color
|
||||
optional: true
|
||||
|
||||
pm2@6.0.5(supports-color@10.0.0):
|
||||
pm2@6.0.6:
|
||||
dependencies:
|
||||
'@pm2/agent': 2.1.1(supports-color@10.0.0)
|
||||
'@pm2/io': 6.1.0(supports-color@10.0.0)
|
||||
'@pm2/js-api': 0.8.0(supports-color@10.0.0)
|
||||
'@pm2/pm2-version-check': 1.0.4(supports-color@10.0.0)
|
||||
'@pm2/agent': 2.1.1
|
||||
'@pm2/io': 6.1.0
|
||||
'@pm2/js-api': 0.8.0
|
||||
'@pm2/pm2-version-check': 1.0.4
|
||||
ansis: 4.0.0
|
||||
async: 3.2.6
|
||||
blessed: 0.1.81
|
||||
chalk: 3.0.0
|
||||
chokidar: 3.6.0
|
||||
cli-tableau: 2.0.1
|
||||
commander: 2.15.1
|
||||
croner: 4.1.97
|
||||
dayjs: 1.11.13
|
||||
debug: 4.4.0(supports-color@10.0.0)
|
||||
debug: 4.4.0
|
||||
enquirer: 2.3.6
|
||||
eventemitter2: 5.0.1
|
||||
fclone: 1.0.11
|
||||
js-yaml: 4.1.0
|
||||
mkdirp: 1.0.4
|
||||
needle: 2.4.0(supports-color@10.0.0)
|
||||
needle: 2.4.0
|
||||
pidusage: 3.0.2
|
||||
pm2-axon: 4.0.1(supports-color@10.0.0)
|
||||
pm2-axon-rpc: 0.7.1(supports-color@10.0.0)
|
||||
pm2-axon: 4.0.1
|
||||
pm2-axon-rpc: 0.7.1
|
||||
pm2-deploy: 1.0.2
|
||||
pm2-multimeter: 0.1.2
|
||||
promptly: 2.2.0
|
||||
@ -2648,10 +2526,9 @@ snapshots:
|
||||
sprintf-js: 1.1.2
|
||||
vizion: 2.2.1
|
||||
optionalDependencies:
|
||||
pm2-sysmonit: 1.2.8(supports-color@10.0.0)
|
||||
pm2-sysmonit: 1.2.8
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- supports-color
|
||||
- utf-8-validate
|
||||
|
||||
pm2@6.0.6(supports-color@10.0.0):
|
||||
@ -2696,6 +2573,17 @@ snapshots:
|
||||
dependencies:
|
||||
read: 1.0.7
|
||||
|
||||
proxy-agent@6.4.0:
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
debug: 4.4.0
|
||||
http-proxy-agent: 7.0.2
|
||||
https-proxy-agent: 7.0.6
|
||||
lru-cache: 7.18.3
|
||||
pac-proxy-agent: 7.2.0
|
||||
proxy-from-env: 1.1.0
|
||||
socks-proxy-agent: 8.0.5
|
||||
|
||||
proxy-agent@6.4.0(supports-color@10.0.0):
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
@ -2721,6 +2609,12 @@ snapshots:
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
|
||||
require-in-the-middle@5.2.0:
|
||||
dependencies:
|
||||
debug: 4.4.0
|
||||
module-details-from-path: 1.0.3
|
||||
resolve: 1.22.10
|
||||
|
||||
require-in-the-middle@5.2.0(supports-color@10.0.0):
|
||||
dependencies:
|
||||
debug: 4.4.0(supports-color@10.0.0)
|
||||
@ -2826,6 +2720,12 @@ snapshots:
|
||||
|
||||
smart-buffer@4.2.0: {}
|
||||
|
||||
socks-proxy-agent@8.0.5:
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
debug: 4.4.0
|
||||
socks: 2.8.4
|
||||
|
||||
socks-proxy-agent@8.0.5(supports-color@10.0.0):
|
||||
dependencies:
|
||||
agent-base: 7.1.3
|
||||
|
@ -77,6 +77,14 @@ export type AssistantConfigData = {
|
||||
path?: string;
|
||||
port?: number;
|
||||
};
|
||||
share?: {
|
||||
url: string;
|
||||
enabled?: boolean; // 是否启用远程应用
|
||||
name: string;
|
||||
};
|
||||
watch?: {
|
||||
enabled?: boolean;
|
||||
};
|
||||
/**
|
||||
* 首页
|
||||
*/
|
||||
|
138
assistant/src/module/assistant/remote-app/remote-app.ts
Normal file
138
assistant/src/module/assistant/remote-app/remote-app.ts
Normal file
@ -0,0 +1,138 @@
|
||||
import type { AssistantConfig } from '@/module/assistant/index.ts';
|
||||
import { WebSocket } from 'ws';
|
||||
import type { App } from '@kevisual/router';
|
||||
import { EventEmitter } from 'eventemitter3';
|
||||
import { logger } from '@/module/logger.ts';
|
||||
type RemoteAppOptions = {
|
||||
app?: App;
|
||||
assistantConfig?: AssistantConfig;
|
||||
emitter?: EventEmitter;
|
||||
};
|
||||
export class RemoteApp {
|
||||
mainApp: App;
|
||||
assistantConfig: AssistantConfig;
|
||||
url: string;
|
||||
name: string;
|
||||
enabled: boolean;
|
||||
emitter: EventEmitter;
|
||||
isConnected: boolean;
|
||||
ws: WebSocket;
|
||||
constructor(opts?: RemoteAppOptions) {
|
||||
this.mainApp = opts?.app;
|
||||
this.assistantConfig = opts?.assistantConfig;
|
||||
const share = this.assistantConfig?.getConfig()?.share;
|
||||
this.emitter = opts?.emitter || new EventEmitter();
|
||||
if (share) {
|
||||
const { url, name, enabled } = share;
|
||||
this.url = url;
|
||||
this.name = name;
|
||||
this.enabled = enabled ?? false;
|
||||
if (this.enabled) {
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
}
|
||||
async isConnect(): Promise<boolean> {
|
||||
const that = this;
|
||||
if (this.isConnected) {
|
||||
return true;
|
||||
}
|
||||
if (!this.enabled) {
|
||||
return false;
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
const timeout = setTimeout(() => {
|
||||
resolve(false);
|
||||
that.emitter.off('open', listenOnce);
|
||||
}, 5000);
|
||||
const listenOnce = () => {
|
||||
clearTimeout(timeout);
|
||||
that.isConnected = true;
|
||||
resolve(true);
|
||||
};
|
||||
that.emitter.once('open', listenOnce);
|
||||
});
|
||||
}
|
||||
getWsURL(url: string) {
|
||||
const { protocol } = new URL(url);
|
||||
const wsProtocol = protocol === 'https:' ? 'wss:' : 'ws:';
|
||||
const wsURL = url.toString().replace(protocol, wsProtocol);
|
||||
return wsURL;
|
||||
}
|
||||
async init() {
|
||||
if (!this.url) {
|
||||
throw new Error('No url provided for remote app');
|
||||
}
|
||||
if (!this.name) {
|
||||
throw new Error('No name provided for remote app');
|
||||
}
|
||||
console.log('Connecting to remote app:', this.name, this.url, this.getWsURL(this.url));
|
||||
const ws = new WebSocket(this.getWsURL(this.url), {
|
||||
rejectUnauthorized: true,
|
||||
});
|
||||
const that = this;
|
||||
ws.on('open', that.onOpen.bind(that));
|
||||
ws.on('close', that.onClose.bind(that));
|
||||
ws.on('message', that.onMessage.bind(that));
|
||||
ws.on('error', that.onError.bind(that));
|
||||
this.ws = ws;
|
||||
}
|
||||
onOpen() {
|
||||
this.emitter.emit('open', this.name);
|
||||
}
|
||||
onClose() {
|
||||
this.emitter.emit('close', this.name);
|
||||
}
|
||||
onMessage(data: any) {
|
||||
this.emitter.emit('message', data);
|
||||
}
|
||||
onError(error: any) {
|
||||
console.error('Error in remote app:', this.name, error);
|
||||
this.emitter.emit('error', error);
|
||||
}
|
||||
on(event: 'open' | 'close' | 'message' | 'error', listener: (data: any) => void) {
|
||||
this.emitter.on(event, listener);
|
||||
return () => {
|
||||
this.emitter.off(event, listener);
|
||||
};
|
||||
}
|
||||
|
||||
sendData(data: any) {}
|
||||
json(data: any) {
|
||||
this.ws.send(JSON.stringify(data));
|
||||
}
|
||||
listenProxy() {
|
||||
const remoteApp = this;
|
||||
const app = this.mainApp;
|
||||
const listenFn = async (event: any) => {
|
||||
const data = event.toString();
|
||||
logger.debug('Received message:', data);
|
||||
const body = JSON.parse(data);
|
||||
const message = body.data || {};
|
||||
if (body?.type !== 'proxy') return;
|
||||
if (!body.id) {
|
||||
remoteApp.json({
|
||||
id: body.id,
|
||||
data: {
|
||||
code: 400,
|
||||
message: 'id is required',
|
||||
},
|
||||
});
|
||||
return;
|
||||
}
|
||||
const res = await app.call(message);
|
||||
remoteApp.json({
|
||||
id: body.id,
|
||||
data: {
|
||||
code: res.code,
|
||||
data: res.body,
|
||||
message: res.message,
|
||||
},
|
||||
});
|
||||
};
|
||||
remoteApp.emitter.on('message', listenFn);
|
||||
return () => {
|
||||
remoteApp.emitter.off('message', listenFn);
|
||||
};
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ import { Query } from '@kevisual/query';
|
||||
import { app, assistantConfig } from '../app.ts';
|
||||
import './config/index.ts';
|
||||
import './shop-install/index.ts';
|
||||
import os from 'node:os';
|
||||
|
||||
app
|
||||
.route({
|
||||
@ -49,3 +50,31 @@ app
|
||||
ctx.body = 'v1.0.0';
|
||||
})
|
||||
.addTo(app);
|
||||
|
||||
app
|
||||
.route({
|
||||
path: 'client',
|
||||
key: 'time',
|
||||
})
|
||||
.define(async (ctx) => {
|
||||
ctx.body = {
|
||||
time: new Date().getTime(),
|
||||
date: new Date().toLocaleDateString(),
|
||||
};
|
||||
})
|
||||
.addTo(app);
|
||||
|
||||
app
|
||||
.route({
|
||||
path: 'client',
|
||||
key: 'system',
|
||||
})
|
||||
.define(async (ctx) => {
|
||||
const { platform, arch, release } = os;
|
||||
ctx.body = {
|
||||
platform: platform(),
|
||||
arch: arch(),
|
||||
release: release(),
|
||||
};
|
||||
})
|
||||
.addTo(app);
|
||||
|
@ -32,19 +32,28 @@ type ProxyType = {
|
||||
};
|
||||
export type LocalProxyOpts = {
|
||||
assistantConfig?: AssistantConfig; // 前端应用路径
|
||||
// watch?: boolean; // 是否监听文件变化
|
||||
};
|
||||
export class LocalProxy {
|
||||
localProxyProxyList: ProxyType[] = [];
|
||||
assistantConfig?: AssistantConfig;
|
||||
watch?: boolean;
|
||||
watching?: boolean;
|
||||
initing?: boolean;
|
||||
constructor(opts?: LocalProxyOpts) {
|
||||
this.assistantConfig = opts?.assistantConfig;
|
||||
if (this.assistantConfig) {
|
||||
this.watch = !!this.assistantConfig.config?.watch.enabled;
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
init() {
|
||||
const frontAppDir = this.assistantConfig.configPath?.pagesDir;
|
||||
if (frontAppDir) {
|
||||
if (this.initing) {
|
||||
return;
|
||||
}
|
||||
this.initing = true;
|
||||
const userList = fs.readdirSync(frontAppDir);
|
||||
const localProxyProxyList: ProxyType[] = [];
|
||||
userList.forEach((user) => {
|
||||
@ -72,12 +81,45 @@ export class LocalProxy {
|
||||
}
|
||||
});
|
||||
this.localProxyProxyList = localProxyProxyList;
|
||||
this.initing = false;
|
||||
}
|
||||
}
|
||||
onWatch() {
|
||||
// 监听文件变化
|
||||
const frontAppDir = this.assistantConfig.configPath?.pagesDir;
|
||||
const that = this;
|
||||
if (!this.watch && !frontAppDir) {
|
||||
return;
|
||||
}
|
||||
if (this.watching) {
|
||||
return;
|
||||
}
|
||||
that.watching = true;
|
||||
let timer: NodeJS.Timeout;
|
||||
const debounce = (fn: () => void, delay: number) => {
|
||||
if (timer) {
|
||||
clearTimeout(timer);
|
||||
}
|
||||
timer = setTimeout(() => {
|
||||
fn();
|
||||
}, delay);
|
||||
};
|
||||
fs.watch(frontAppDir, { recursive: true }, (eventType, filename) => {
|
||||
if (eventType === 'change') {
|
||||
const filePath = path.join(frontAppDir, filename);
|
||||
try {
|
||||
const stat = fs.statSync(filePath);
|
||||
if (stat.isDirectory()) {
|
||||
debounce(that.init, 5000);
|
||||
}
|
||||
} catch (error) {}
|
||||
}
|
||||
});
|
||||
}
|
||||
getLocalProxyList() {
|
||||
return this.localProxyProxyList;
|
||||
}
|
||||
reload() {
|
||||
// 重新加载本地代理列表
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
|
17
assistant/src/test/common.ts
Normal file
17
assistant/src/test/common.ts
Normal file
@ -0,0 +1,17 @@
|
||||
// import { assistantConfig } from '../app.ts';
|
||||
// import { RemoteApp } from '@/module/assistant/remote-app/remote-app.ts';
|
||||
console.log('assistantConfig');
|
||||
// console.log('assistantConfig', assistantConfig);
|
||||
// const main = async () => {
|
||||
// const app = new RemoteApp({
|
||||
// assistantConfig,
|
||||
// });
|
||||
// const connect = await app.isConnect();
|
||||
// if (connect) {
|
||||
// console.log('Connected to assistant');
|
||||
// } else {
|
||||
// console.log('Not connected to assistant');
|
||||
// }
|
||||
// };
|
||||
|
||||
// main();
|
20
assistant/src/test/remote-app.ts
Normal file
20
assistant/src/test/remote-app.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { logger } from '@/module/logger.ts';
|
||||
import { assistantConfig, app } from '../app.ts';
|
||||
import '../routes/index.ts';
|
||||
import { RemoteApp } from '@/module/assistant/remote-app/remote-app.ts';
|
||||
const main = async () => {
|
||||
assistantConfig.checkMounted();
|
||||
const remoteApp = new RemoteApp({
|
||||
assistantConfig,
|
||||
app,
|
||||
});
|
||||
const connect = await remoteApp.isConnect();
|
||||
if (connect) {
|
||||
console.log('Connected to proxy server');
|
||||
remoteApp.listenProxy();
|
||||
} else {
|
||||
console.log('Not connected to proxy server');
|
||||
}
|
||||
};
|
||||
|
||||
main();
|
Loading…
x
Reference in New Issue
Block a user