mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-13 19:58:09 +00:00
Try snappy compression (#7603)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
parent
7511a87df2
commit
71ce4018eb
@ -61,10 +61,10 @@ dependencies:
|
||||
version: 1.49.1
|
||||
'@rush-temp/account':
|
||||
specifier: file:./projects/account.tgz
|
||||
version: file:projects/account.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
version: file:projects/account.tgz(@types/node@20.11.19)(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2)
|
||||
'@rush-temp/account-service':
|
||||
specifier: file:./projects/account-service.tgz
|
||||
version: file:projects/account-service.tgz
|
||||
version: file:projects/account-service.tgz(snappy@7.2.2)
|
||||
'@rush-temp/activity':
|
||||
specifier: file:./projects/activity.tgz
|
||||
version: file:projects/activity.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
@ -109,7 +109,7 @@ dependencies:
|
||||
version: file:projects/attachment-resources.tgz(@types/node@20.11.19)(esbuild@0.24.2)(postcss-load-config@4.0.2)(postcss@8.4.35)(ts-node@10.9.2)
|
||||
'@rush-temp/auth-providers':
|
||||
specifier: file:./projects/auth-providers.tgz
|
||||
version: file:projects/auth-providers.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
version: file:projects/auth-providers.tgz(@types/node@20.11.19)(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2)
|
||||
'@rush-temp/backup-service':
|
||||
specifier: file:./projects/backup-service.tgz
|
||||
version: file:projects/backup-service.tgz(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
@ -166,7 +166,7 @@ dependencies:
|
||||
version: file:projects/collaboration.tgz(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
'@rush-temp/collaborator':
|
||||
specifier: file:./projects/collaborator.tgz
|
||||
version: file:projects/collaborator.tgz(@tiptap/pm@2.6.6)(bufferutil@4.0.8)(utf-8-validate@6.0.4)(y-protocols@1.0.6)
|
||||
version: file:projects/collaborator.tgz(@tiptap/pm@2.6.6)(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)(y-protocols@1.0.6)
|
||||
'@rush-temp/collaborator-client':
|
||||
specifier: file:./projects/collaborator-client.tgz
|
||||
version: file:projects/collaborator-client.tgz(ts-node@10.9.2)
|
||||
@ -580,7 +580,7 @@ dependencies:
|
||||
version: file:projects/model-workbench.tgz
|
||||
'@rush-temp/mongo':
|
||||
specifier: file:./projects/mongo.tgz
|
||||
version: file:projects/mongo.tgz(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
version: file:projects/mongo.tgz(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2)
|
||||
'@rush-temp/notification':
|
||||
specifier: file:./projects/notification.tgz
|
||||
version: file:projects/notification.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
@ -613,19 +613,19 @@ dependencies:
|
||||
version: file:projects/platform-rig.tgz(@typescript-eslint/eslint-plugin@6.21.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(svelte@4.2.19)
|
||||
'@rush-temp/pod-account':
|
||||
specifier: file:./projects/pod-account.tgz
|
||||
version: file:projects/pod-account.tgz
|
||||
version: file:projects/pod-account.tgz(snappy@7.2.2)
|
||||
'@rush-temp/pod-ai-bot':
|
||||
specifier: file:./projects/pod-ai-bot.tgz
|
||||
version: file:projects/pod-ai-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(zod@3.23.8)
|
||||
version: file:projects/pod-ai-bot.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)(zod@3.23.8)
|
||||
'@rush-temp/pod-analytics-collector':
|
||||
specifier: file:./projects/pod-analytics-collector.tgz
|
||||
version: file:projects/pod-analytics-collector.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)
|
||||
version: file:projects/pod-analytics-collector.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)
|
||||
'@rush-temp/pod-backup':
|
||||
specifier: file:./projects/pod-backup.tgz
|
||||
version: file:projects/pod-backup.tgz
|
||||
'@rush-temp/pod-calendar':
|
||||
specifier: file:./projects/pod-calendar.tgz
|
||||
version: file:projects/pod-calendar.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4)
|
||||
version: file:projects/pod-calendar.tgz(bufferutil@4.0.8)(snappy@7.2.2)(ts-node@10.9.2)(utf-8-validate@6.0.4)
|
||||
'@rush-temp/pod-collaborator':
|
||||
specifier: file:./projects/pod-collaborator.tgz
|
||||
version: file:projects/pod-collaborator.tgz
|
||||
@ -637,10 +637,10 @@ dependencies:
|
||||
version: file:projects/pod-fulltext.tgz
|
||||
'@rush-temp/pod-github':
|
||||
specifier: file:./projects/pod-github.tgz
|
||||
version: file:projects/pod-github.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(y-prosemirror@1.2.12)
|
||||
version: file:projects/pod-github.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)(y-prosemirror@1.2.12)
|
||||
'@rush-temp/pod-gmail':
|
||||
specifier: file:./projects/pod-gmail.tgz
|
||||
version: file:projects/pod-gmail.tgz(ts-node@10.9.2)
|
||||
version: file:projects/pod-gmail.tgz(snappy@7.2.2)(ts-node@10.9.2)
|
||||
'@rush-temp/pod-love':
|
||||
specifier: file:./projects/pod-love.tgz
|
||||
version: file:projects/pod-love.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)
|
||||
@ -655,19 +655,19 @@ dependencies:
|
||||
version: file:projects/pod-ses.tgz
|
||||
'@rush-temp/pod-sign':
|
||||
specifier: file:./projects/pod-sign.tgz
|
||||
version: file:projects/pod-sign.tgz
|
||||
version: file:projects/pod-sign.tgz(snappy@7.2.2)
|
||||
'@rush-temp/pod-stats':
|
||||
specifier: file:./projects/pod-stats.tgz
|
||||
version: file:projects/pod-stats.tgz
|
||||
'@rush-temp/pod-telegram':
|
||||
specifier: file:./projects/pod-telegram.tgz
|
||||
version: file:projects/pod-telegram.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4)
|
||||
version: file:projects/pod-telegram.tgz(bufferutil@4.0.8)(snappy@7.2.2)(ts-node@10.9.2)(utf-8-validate@6.0.4)
|
||||
'@rush-temp/pod-telegram-bot':
|
||||
specifier: file:./projects/pod-telegram-bot.tgz
|
||||
version: file:projects/pod-telegram-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)
|
||||
version: file:projects/pod-telegram-bot.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)
|
||||
'@rush-temp/pod-workspace':
|
||||
specifier: file:./projects/pod-workspace.tgz
|
||||
version: file:projects/pod-workspace.tgz
|
||||
version: file:projects/pod-workspace.tgz(snappy@7.2.2)
|
||||
'@rush-temp/postgres':
|
||||
specifier: file:./projects/postgres.tgz
|
||||
version: file:projects/postgres.tgz(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
@ -958,7 +958,7 @@ dependencies:
|
||||
version: file:projects/server-token.tgz(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
'@rush-temp/server-tool':
|
||||
specifier: file:./projects/server-tool.tgz
|
||||
version: file:projects/server-tool.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
version: file:projects/server-tool.tgz(@types/node@20.11.19)(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2)
|
||||
'@rush-temp/server-tracker':
|
||||
specifier: file:./projects/server-tracker.tgz
|
||||
version: file:projects/server-tracker.tgz(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
@ -1090,7 +1090,7 @@ dependencies:
|
||||
version: file:projects/time-resources.tgz(@tiptap/core@2.6.6)(@tiptap/pm@2.6.6)(@types/node@20.11.19)(esbuild@0.24.2)(postcss-load-config@4.0.2)(postcss@8.4.35)(ts-node@10.9.2)
|
||||
'@rush-temp/tool':
|
||||
specifier: file:./projects/tool.tgz
|
||||
version: file:projects/tool.tgz
|
||||
version: file:projects/tool.tgz(snappy@7.2.2)
|
||||
'@rush-temp/tracker':
|
||||
specifier: file:./projects/tracker.tgz
|
||||
version: file:projects/tracker.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2)
|
||||
@ -1235,6 +1235,9 @@ dependencies:
|
||||
'@tiptap/extension-text-align':
|
||||
specifier: ~2.11.0
|
||||
version: 2.11.0(@tiptap/core@2.6.6)
|
||||
'@tiptap/extension-text-style':
|
||||
specifier: ~2.11.0
|
||||
version: 2.11.0(@tiptap/core@2.6.6)
|
||||
'@tiptap/extension-typography':
|
||||
specifier: ^2.6.6
|
||||
version: 2.6.6(@tiptap/core@2.6.6)
|
||||
@ -1373,6 +1376,9 @@ dependencies:
|
||||
'@types/sharp':
|
||||
specifier: ~0.32.0
|
||||
version: 0.32.0
|
||||
'@types/snappyjs':
|
||||
specifier: ^0.7.1
|
||||
version: 0.7.1
|
||||
'@types/tar-stream':
|
||||
specifier: ^3.1.3
|
||||
version: 3.1.3
|
||||
@ -1735,7 +1741,7 @@ dependencies:
|
||||
version: 8.0.0
|
||||
mongodb:
|
||||
specifier: ^6.12.0
|
||||
version: 6.12.0
|
||||
version: 6.12.0(snappy@7.2.2)
|
||||
morgan:
|
||||
specifier: ^1.10.0
|
||||
version: 1.10.0
|
||||
@ -1844,6 +1850,12 @@ dependencies:
|
||||
smee-client:
|
||||
specifier: ^1.2.3
|
||||
version: 1.2.5
|
||||
snappy:
|
||||
specifier: ^7.2.2
|
||||
version: 7.2.2
|
||||
snappyjs:
|
||||
specifier: ^0.7.0
|
||||
version: 0.7.0
|
||||
style-loader:
|
||||
specifier: ^3.3.1
|
||||
version: 3.3.4(webpack@5.97.1)
|
||||
@ -4921,6 +4933,123 @@ packages:
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-android-arm-eabi@7.2.2:
|
||||
resolution: {integrity: sha512-H7DuVkPCK5BlAr1NfSU8bDEN7gYs+R78pSHhDng83QxRnCLmVIZk33ymmIwurmoA1HrdTxbkbuNl+lMvNqnytw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-android-arm64@7.2.2:
|
||||
resolution: {integrity: sha512-2R/A3qok+nGtpVK8oUMcrIi5OMDckGYNoBLFyli3zp8w6IArPRfg1yOfVUcHvpUDTo9T7LOS1fXgMOoC796eQw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-darwin-arm64@7.2.2:
|
||||
resolution: {integrity: sha512-USgArHbfrmdbuq33bD5ssbkPIoT7YCXCRLmZpDS6dMDrx+iM7eD2BecNbOOo7/v1eu6TRmQ0xOzeQ6I/9FIi5g==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-darwin-x64@7.2.2:
|
||||
resolution: {integrity: sha512-0APDu8iO5iT0IJKblk2lH0VpWSl9zOZndZKnBYIc+ei1npw2L5QvuErFOTeTdHBtzvUHASB+9bvgaWnQo4PvTQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-freebsd-x64@7.2.2:
|
||||
resolution: {integrity: sha512-mRTCJsuzy0o/B0Hnp9CwNB5V6cOJ4wedDTWEthsdKHSsQlO7WU9W1yP7H3Qv3Ccp/ZfMyrmG98Ad7u7lG58WXA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-linux-arm-gnueabihf@7.2.2:
|
||||
resolution: {integrity: sha512-v1uzm8+6uYjasBPcFkv90VLZ+WhLzr/tnfkZ/iD9mHYiULqkqpRuC8zvc3FZaJy5wLQE9zTDkTJN1IvUcZ+Vcg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-linux-arm64-gnu@7.2.2:
|
||||
resolution: {integrity: sha512-LrEMa5pBScs4GXWOn6ZYXfQ72IzoolZw5txqUHVGs8eK4g1HR9HTHhb2oY5ySNaKakG5sOgMsb1rwaEnjhChmQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-linux-arm64-musl@7.2.2:
|
||||
resolution: {integrity: sha512-3orWZo9hUpGQcB+3aTLW7UFDqNCQfbr0+MvV67x8nMNYj5eAeUtMmUE/HxLznHO4eZ1qSqiTwLbVx05/Socdlw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-linux-x64-gnu@7.2.2:
|
||||
resolution: {integrity: sha512-jZt8Jit/HHDcavt80zxEkDpH+R1Ic0ssiVCoueASzMXa7vwPJeF4ZxZyqUw4qeSy7n8UUExomu8G8ZbP6VKhgw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-linux-x64-musl@7.2.2:
|
||||
resolution: {integrity: sha512-Dh96IXgcZrV39a+Tej/owcd9vr5ihiZ3KRix11rr1v0MWtVb61+H1GXXlz6+Zcx9y8jM1NmOuiIuJwkV4vZ4WA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-win32-arm64-msvc@7.2.2:
|
||||
resolution: {integrity: sha512-9No0b3xGbHSWv2wtLEn3MO76Yopn1U2TdemZpCaEgOGccz1V+a/1d16Piz3ofSmnA13HGFz3h9NwZH9EOaIgYA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-win32-ia32-msvc@7.2.2:
|
||||
resolution: {integrity: sha512-QiGe+0G86J74Qz1JcHtBwM3OYdTni1hX1PFyLRo3HhQUSpmi13Bzc1En7APn+6Pvo7gkrcy81dObGLDSxFAkQQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@napi-rs/snappy-win32-x64-msvc@7.2.2:
|
||||
resolution: {integrity: sha512-a43cyx1nK0daw6BZxVcvDEXxKMFLSBSDTAhsFD0VqSKcC7MGUBMaqyoWUcMiI7LBSz4bxUmxDWKfCYzpEmeb3w==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@nodelib/fs.scandir@2.1.5:
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
engines: {node: '>= 8'}
|
||||
@ -6920,13 +7049,6 @@ packages:
|
||||
'@types/koa': 2.15.0
|
||||
dev: false
|
||||
|
||||
/@types/koa-morgan@1.0.8:
|
||||
resolution: {integrity: sha512-2GredUi+iA3V0XrbzdsOAYgwj4F6+FnN+f5YjoKjessIE2lrMkqnc06YQQnzbMG75hRsXjyD+p6d5vlI70s1vg==}
|
||||
dependencies:
|
||||
'@types/koa': 2.14.0
|
||||
'@types/morgan': 1.9.9
|
||||
dev: false
|
||||
|
||||
/@types/koa-passport@6.0.3:
|
||||
resolution: {integrity: sha512-9iV8aiSICfBZpqkkzUshqxN2wTuoj4HGRRH0Idv3lHhXV9rZRCOyDdJSg+vZ6RHSQg0ZeBeAdIL4r/l8bR4SPA==}
|
||||
dependencies:
|
||||
@ -6947,19 +7069,6 @@ packages:
|
||||
'@types/koa': 2.15.0
|
||||
dev: false
|
||||
|
||||
/@types/koa@2.14.0:
|
||||
resolution: {integrity: sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==}
|
||||
dependencies:
|
||||
'@types/accepts': 1.3.7
|
||||
'@types/content-disposition': 0.5.8
|
||||
'@types/cookies': 0.9.0
|
||||
'@types/http-assert': 1.5.5
|
||||
'@types/http-errors': 2.0.4
|
||||
'@types/keygrip': 1.0.6
|
||||
'@types/koa-compose': 3.2.8
|
||||
'@types/node': 20.11.19
|
||||
dev: false
|
||||
|
||||
/@types/koa@2.15.0:
|
||||
resolution: {integrity: sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==}
|
||||
dependencies:
|
||||
@ -7194,6 +7303,10 @@ packages:
|
||||
sharp: 0.32.6
|
||||
dev: false
|
||||
|
||||
/@types/snappyjs@0.7.1:
|
||||
resolution: {integrity: sha512-OxjzJ6cQZstysMh6PEwZWmK9qlKZyezHJKOkcUkZDooSFuog2votUEKkxMaTq51UQF3cJkXKQ+XGlj4FSl8JQQ==}
|
||||
dev: false
|
||||
|
||||
/@types/sockjs@0.3.36:
|
||||
resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
|
||||
dependencies:
|
||||
@ -15095,12 +15208,6 @@ packages:
|
||||
koa-compose: 4.1.0
|
||||
dev: false
|
||||
|
||||
/koa-morgan@1.0.1:
|
||||
resolution: {integrity: sha512-JOUdCNlc21G50afBXfErUrr1RKymbgzlrO5KURY+wmDG1Uvd2jmxUJcHgylb/mYXy2SjiNZyYim/ptUBGsIi3A==}
|
||||
dependencies:
|
||||
morgan: 1.10.0
|
||||
dev: false
|
||||
|
||||
/koa-passport@6.0.0:
|
||||
resolution: {integrity: sha512-bgcrQN7Ylfgi1PVr5l6hHYkr38RHUzx+ty3m7e/xoTte8MR0zbDt6+pvP3/nuF/yXL6Ba7IzX1rSqmCy6OrrIw==}
|
||||
engines: {node: '>= 4'}
|
||||
@ -16207,7 +16314,7 @@ packages:
|
||||
whatwg-url: 13.0.0
|
||||
dev: false
|
||||
|
||||
/mongodb@6.12.0:
|
||||
/mongodb@6.12.0(snappy@7.2.2):
|
||||
resolution: {integrity: sha512-RM7AHlvYfS7jv7+BXund/kR64DryVI+cHbVAy9P61fnb1RcWZqOW1/Wj2YhqMCx+MuYhqTRGv7AwHBzmsCKBfA==}
|
||||
engines: {node: '>=16.20.1'}
|
||||
peerDependencies:
|
||||
@ -16237,6 +16344,7 @@ packages:
|
||||
'@mongodb-js/saslprep': 1.1.9
|
||||
bson: 6.10.1
|
||||
mongodb-connection-string-url: 3.0.0
|
||||
snappy: 7.2.2
|
||||
dev: false
|
||||
|
||||
/mongodb@6.3.0:
|
||||
@ -19009,6 +19117,29 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/snappy@7.2.2:
|
||||
resolution: {integrity: sha512-iADMq1kY0v3vJmGTuKcFWSXt15qYUz7wFkArOrsSg0IFfI3nJqIJvK2/ZbEIndg7erIJLtAVX2nSOqPz7DcwbA==}
|
||||
engines: {node: '>= 10'}
|
||||
optionalDependencies:
|
||||
'@napi-rs/snappy-android-arm-eabi': 7.2.2
|
||||
'@napi-rs/snappy-android-arm64': 7.2.2
|
||||
'@napi-rs/snappy-darwin-arm64': 7.2.2
|
||||
'@napi-rs/snappy-darwin-x64': 7.2.2
|
||||
'@napi-rs/snappy-freebsd-x64': 7.2.2
|
||||
'@napi-rs/snappy-linux-arm-gnueabihf': 7.2.2
|
||||
'@napi-rs/snappy-linux-arm64-gnu': 7.2.2
|
||||
'@napi-rs/snappy-linux-arm64-musl': 7.2.2
|
||||
'@napi-rs/snappy-linux-x64-gnu': 7.2.2
|
||||
'@napi-rs/snappy-linux-x64-musl': 7.2.2
|
||||
'@napi-rs/snappy-win32-arm64-msvc': 7.2.2
|
||||
'@napi-rs/snappy-win32-ia32-msvc': 7.2.2
|
||||
'@napi-rs/snappy-win32-x64-msvc': 7.2.2
|
||||
dev: false
|
||||
|
||||
/snappyjs@0.7.0:
|
||||
resolution: {integrity: sha512-u5iEEXkMe2EInQio6Wv9LWHOQYRDbD2O9hzS27GpT/lwfIQhTCnHCTqedqHIHe9ZcvQo+9au6vngQayipz1NYw==}
|
||||
dev: false
|
||||
|
||||
/sockjs@0.3.24:
|
||||
resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
|
||||
dependencies:
|
||||
@ -21793,8 +21924,9 @@ packages:
|
||||
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
|
||||
dev: false
|
||||
|
||||
file:projects/account-service.tgz:
|
||||
file:projects/account-service.tgz(snappy@7.2.2):
|
||||
resolution: {integrity: sha512-oAW0UD+ThGbtuXdyaoWJoe93XY7bLO0K2uZneePiHsI3KZM3z9st9fjxSbJE4wmC9iE2wmzNYTN6AHrcFxvRrQ==, tarball: file:projects/account-service.tgz}
|
||||
id: file:projects/account-service.tgz
|
||||
name: '@rush-temp/account-service'
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
@ -21802,7 +21934,6 @@ packages:
|
||||
'@types/jest': 29.5.12
|
||||
'@types/koa': 2.15.0
|
||||
'@types/koa-bodyparser': 4.3.12
|
||||
'@types/koa-morgan': 1.0.8
|
||||
'@types/koa-router': 7.4.8
|
||||
'@types/koa__cors': 5.0.0
|
||||
'@types/node': 20.11.19
|
||||
@ -21818,9 +21949,8 @@ packages:
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
koa: 2.15.3
|
||||
koa-bodyparser: 4.4.1
|
||||
koa-morgan: 1.0.1
|
||||
koa-router: 12.0.1
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3)
|
||||
@ -21843,7 +21973,7 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
file:projects/account.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2):
|
||||
file:projects/account.tgz(@types/node@20.11.19)(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-aFUxA1twR0m+7sDVFXyKoeVQtVLMrr973LpLK6LHrRa+PD010X6+AyoOkkyVJKFN0Q6zu2Oqz88PsEt50Z2Mjg==, tarball: file:projects/account.tgz}
|
||||
id: file:projects/account.tgz
|
||||
name: '@rush-temp/account'
|
||||
@ -21859,7 +21989,7 @@ packages:
|
||||
eslint-plugin-n: 15.7.0(eslint@8.56.0)
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
otp-generator: 4.0.1
|
||||
postgres: 3.4.5
|
||||
prettier: 3.2.5
|
||||
@ -22383,7 +22513,7 @@ packages:
|
||||
- ts-node
|
||||
dev: false
|
||||
|
||||
file:projects/auth-providers.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2):
|
||||
file:projects/auth-providers.tgz(@types/node@20.11.19)(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-jUJhz8FiPT3x0ybVjdPysK9HBA/E1UzU+QraBxLurUXjwKzqnob4Jw112MUJzyHjAiAmYQGYq7jEePiav6nnMQ==, tarball: file:projects/auth-providers.tgz}
|
||||
id: file:projects/auth-providers.tgz
|
||||
name: '@rush-temp/auth-providers'
|
||||
@ -22410,7 +22540,7 @@ packages:
|
||||
koa-passport: 6.0.0
|
||||
koa-router: 12.0.1
|
||||
koa-session: 6.4.0
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
openid-client: 5.7.0
|
||||
passport-custom: 1.1.1
|
||||
passport-github2: 0.1.12
|
||||
@ -22904,12 +23034,13 @@ packages:
|
||||
dev: false
|
||||
|
||||
file:projects/client-resources.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-zqTNrWtf8+kFkWdM9yok0EgXP9QsxCFomNW1HWyBp0arKXDQMjgA6UJ5qviDhYPjFzQzJil5DRax82wZfvVSkw==, tarball: file:projects/client-resources.tgz}
|
||||
resolution: {integrity: sha512-s2VP7YDaXR6VMITb2/kgWe69RxM1XaTdNHQJfliJfFaV88egZSK6JNmB40FoA/QY0Vvf7SmJH/Ld+bvjZqGpWA==, tarball: file:projects/client-resources.tgz}
|
||||
id: file:projects/client-resources.tgz
|
||||
name: '@rush-temp/client-resources'
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
'@types/jest': 29.5.12
|
||||
'@types/snappyjs': 0.7.1
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
|
||||
eslint: 8.56.0
|
||||
@ -22919,6 +23050,7 @@ packages:
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
prettier: 3.2.5
|
||||
snappyjs: 0.7.0
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
@ -22999,13 +23131,14 @@ packages:
|
||||
dev: false
|
||||
|
||||
file:projects/cloud-transactor.tgz(@types/node@20.11.19)(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4):
|
||||
resolution: {integrity: sha512-6kBv/3KfTsOvsDrfVXQvQwtLM72ltx4oPHc3cJ9xtG82XLeQLLpeJmCy6CNDVOtXaqnagwF5TKm/zCw4sc/dFQ==, tarball: file:projects/cloud-transactor.tgz}
|
||||
resolution: {integrity: sha512-sLn0+hzDxI1PlNcx3XiLzwU9xU+mui2QodGtjpn7oS5NWnGWM42fbnwfVP35akfki8kKOZ3pE5CcMKQ6ffjUzg==, tarball: file:projects/cloud-transactor.tgz}
|
||||
id: file:projects/cloud-transactor.tgz
|
||||
name: '@rush-temp/cloud-transactor'
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
'@cloudflare/workers-types': 4.20241022.0
|
||||
'@types/jest': 29.5.12
|
||||
'@types/snappyjs': 0.7.1
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.6.2)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.6.2)
|
||||
esbuild: 0.24.2
|
||||
@ -23017,6 +23150,7 @@ packages:
|
||||
itty-router: 5.0.18
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
prettier: 3.2.5
|
||||
snappyjs: 0.7.0
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.6.2)
|
||||
typescript: 5.6.2
|
||||
wrangler: 3.97.0(@cloudflare/workers-types@4.20241022.0)(bufferutil@4.0.8)(utf-8-validate@6.0.4)
|
||||
@ -23097,7 +23231,7 @@ packages:
|
||||
- ts-node
|
||||
dev: false
|
||||
|
||||
file:projects/collaborator.tgz(@tiptap/pm@2.6.6)(bufferutil@4.0.8)(utf-8-validate@6.0.4)(y-protocols@1.0.6):
|
||||
file:projects/collaborator.tgz(@tiptap/pm@2.6.6)(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)(y-protocols@1.0.6):
|
||||
resolution: {integrity: sha512-5wz+fFNfftwF7QP2u/dvfT2DYB7xFgplfhalPFYz8sLmXJ0NPVsXcr7qve637Vw8tjwjf4zzk3MJpfeJRcWLXQ==, tarball: file:projects/collaborator.tgz}
|
||||
id: file:projects/collaborator.tgz
|
||||
name: '@rush-temp/collaborator'
|
||||
@ -23127,7 +23261,7 @@ packages:
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
express: 4.21.2
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3)
|
||||
@ -26821,7 +26955,7 @@ packages:
|
||||
- ts-node
|
||||
dev: false
|
||||
|
||||
file:projects/mongo.tgz(esbuild@0.24.2)(ts-node@10.9.2):
|
||||
file:projects/mongo.tgz(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-aqU57iG6awiTX9qWSrzXMKyHSbt0V8mKAutQjE3uCx9FdPpnGiZjJflWsMS5PaZ4MdNazv2vUg4XPDHKCc4A/A==, tarball: file:projects/mongo.tgz}
|
||||
id: file:projects/mongo.tgz
|
||||
name: '@rush-temp/mongo'
|
||||
@ -26838,7 +26972,7 @@ packages:
|
||||
eslint-plugin-n: 15.7.0(eslint@8.56.0)
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
@ -27209,8 +27343,9 @@ packages:
|
||||
- ts-node
|
||||
dev: false
|
||||
|
||||
file:projects/pod-account.tgz:
|
||||
file:projects/pod-account.tgz(snappy@7.2.2):
|
||||
resolution: {integrity: sha512-DCZlxY22Z2TNo08v2hcwz+2yg0HfoH2psDkdlVGlzX5KwZt6knEzAUZeb+MiOb7KpGSQoKp4jJDcydUcC+QsVQ==, tarball: file:projects/pod-account.tgz}
|
||||
id: file:projects/pod-account.tgz
|
||||
name: '@rush-temp/pod-account'
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
@ -27234,9 +27369,8 @@ packages:
|
||||
koa: 2.15.3
|
||||
koa-bodyparser: 4.4.1
|
||||
koa-router: 12.0.1
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
prettier-plugin-svelte: 3.2.1(prettier@3.2.5)(svelte@4.2.11)
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
@ -27258,7 +27392,7 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
file:projects/pod-ai-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(zod@3.23.8):
|
||||
file:projects/pod-ai-bot.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)(zod@3.23.8):
|
||||
resolution: {integrity: sha512-R2ByQWsnvxxBGk/Ql7z8CK8NRb4XXREC0rndthdpfqw1dhwofuHiHpU2sb7L+OTHiz0do16L5gOLb7R1CbMecw==, tarball: file:projects/pod-ai-bot.tgz}
|
||||
id: file:projects/pod-ai-bot.tgz
|
||||
name: '@rush-temp/pod-ai-bot'
|
||||
@ -27269,7 +27403,6 @@ packages:
|
||||
'@types/express': 4.17.21
|
||||
'@types/jest': 29.5.12
|
||||
'@types/node': 20.11.19
|
||||
'@types/node-fetch': 2.6.11
|
||||
'@types/uuid': 8.3.4
|
||||
'@types/ws': 8.5.11
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
|
||||
@ -27288,8 +27421,7 @@ packages:
|
||||
form-data: 4.0.0
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
js-tiktoken: 1.0.14
|
||||
mongodb: 6.12.0
|
||||
node-fetch: 2.7.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
openai: 4.56.0(zod@3.23.8)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
@ -27319,7 +27451,7 @@ packages:
|
||||
- zod
|
||||
dev: false
|
||||
|
||||
file:projects/pod-analytics-collector.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4):
|
||||
file:projects/pod-analytics-collector.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4):
|
||||
resolution: {integrity: sha512-KuE4/ZuLMoEOqY2QyXv7AD0uPt5J7Uwt6jP70iWXcR2oET1+BhD2QTm/9MNsgOsnfiqp0Tdv06pfu7fb2A2Gcw==, tarball: file:projects/pod-analytics-collector.tgz}
|
||||
id: file:projects/pod-analytics-collector.tgz
|
||||
name: '@rush-temp/pod-analytics-collector'
|
||||
@ -27330,7 +27462,6 @@ packages:
|
||||
'@types/express': 4.17.21
|
||||
'@types/jest': 29.5.12
|
||||
'@types/node': 20.11.19
|
||||
'@types/ws': 8.5.11
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
|
||||
cors: 2.8.5
|
||||
@ -27344,13 +27475,12 @@ packages:
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
express: 4.21.2
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
puppeteer: 22.14.0(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@6.0.4)
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
|
||||
transitivePeerDependencies:
|
||||
- '@aws-sdk/credential-providers'
|
||||
- '@babel/core'
|
||||
@ -27407,7 +27537,7 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
file:projects/pod-calendar.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4):
|
||||
file:projects/pod-calendar.tgz(bufferutil@4.0.8)(snappy@7.2.2)(ts-node@10.9.2)(utf-8-validate@6.0.4):
|
||||
resolution: {integrity: sha512-THWVQC4htKDjD5lYArV/wgfiwaIoY+a82QlSzT2zRDoJwCzs0ivWxnl+eeCGMgTwb3YA5sbhu9afg3P1MWjNpQ==, tarball: file:projects/pod-calendar.tgz}
|
||||
id: file:projects/pod-calendar.tgz
|
||||
name: '@rush-temp/pod-calendar'
|
||||
@ -27437,7 +27567,7 @@ packages:
|
||||
googleapis: 122.0.0
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
jwt-simple: 0.5.6
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node-dev: 2.0.0(@types/node@20.11.19)(typescript@5.3.3)
|
||||
@ -27586,7 +27716,7 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
file:projects/pod-github.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(y-prosemirror@1.2.12):
|
||||
file:projects/pod-github.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4)(y-prosemirror@1.2.12):
|
||||
resolution: {integrity: sha512-VO1ipLvo8rWOvJVHMLOW5Xl6JkxWOw7wKEpGWweoJDdrYUIK+od4eVqaGDy2YgyXfQOxmJFTGOZ0l84+PcS3hw==, tarball: file:projects/pod-github.tgz}
|
||||
id: file:projects/pod-github.tgz
|
||||
name: '@rush-temp/pod-github'
|
||||
@ -27646,7 +27776,7 @@ packages:
|
||||
graphql-binding: 2.5.2
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
markdown-it: 14.0.0
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
octokit: 3.2.1
|
||||
prettier: 3.2.5
|
||||
smee-client: 1.2.5
|
||||
@ -27675,7 +27805,7 @@ packages:
|
||||
- y-prosemirror
|
||||
dev: false
|
||||
|
||||
file:projects/pod-gmail.tgz(ts-node@10.9.2):
|
||||
file:projects/pod-gmail.tgz(snappy@7.2.2)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-/NcwrUow5fptRQxcxnzc5ZT/wtBBdlWQRT+IglOudqZbVoN/aSwAXaKd4BoPTyGOPW0D0M2SLYFXZlPvhV4BjQ==, tarball: file:projects/pod-gmail.tgz}
|
||||
id: file:projects/pod-gmail.tgz
|
||||
name: '@rush-temp/pod-gmail'
|
||||
@ -27687,7 +27817,6 @@ packages:
|
||||
'@types/jest': 29.5.12
|
||||
'@types/node': 20.11.19
|
||||
'@types/uuid': 8.3.4
|
||||
'@types/ws': 8.5.11
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
|
||||
cors: 2.8.5
|
||||
@ -27707,7 +27836,7 @@ packages:
|
||||
googleapis: 122.0.0
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
jwt-simple: 0.5.6
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node-dev: 2.0.0(@types/node@20.11.19)(typescript@5.3.3)
|
||||
@ -27826,7 +27955,7 @@ packages:
|
||||
dev: false
|
||||
|
||||
file:projects/pod-server.tgz(utf-8-validate@6.0.4):
|
||||
resolution: {integrity: sha512-4gQfkwfde44+kJ+YPimPEoDHtgdMRy0+J2xk/Uum9wWjKHCe8tQsQZUJxp6S5BU3DPBMaVsC0h9N0jxHpWK49A==, tarball: file:projects/pod-server.tgz}
|
||||
resolution: {integrity: sha512-U7wNYw+h8a6hEV6fwXYJFStTk5noW4LAsL1G4JCJjyQ7PVzlmXZqGncFe+bq5EqgYgbOewZ2tR+T8rB8HWi9Cw==, tarball: file:projects/pod-server.tgz}
|
||||
id: file:projects/pod-server.tgz
|
||||
name: '@rush-temp/pod-server'
|
||||
version: 0.0.0
|
||||
@ -27849,6 +27978,8 @@ packages:
|
||||
msgpackr: 1.11.2
|
||||
msgpackr-extract: 3.0.3
|
||||
prettier: 3.2.5
|
||||
snappy: 7.2.2
|
||||
snappyjs: 0.7.0
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
@ -27907,8 +28038,9 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
file:projects/pod-sign.tgz:
|
||||
file:projects/pod-sign.tgz(snappy@7.2.2):
|
||||
resolution: {integrity: sha512-2CvZ6MihYZ/0DXWllTffUrvNyRjLJvvUkcT36EpVmgydo2F4guxAhrnsyaivxNPNwP8NuSy7JJ4uXXOYNeXCQg==, tarball: file:projects/pod-sign.tgz}
|
||||
id: file:projects/pod-sign.tgz
|
||||
name: '@rush-temp/pod-sign'
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
@ -27921,7 +28053,6 @@ packages:
|
||||
'@types/express': 4.17.21
|
||||
'@types/jest': 29.5.12
|
||||
'@types/node': 20.11.19
|
||||
'@types/ws': 8.5.11
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
|
||||
cors: 2.8.5
|
||||
@ -27935,7 +28066,7 @@ packages:
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
express: 4.21.2
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
node-forge: 1.3.1
|
||||
pdf-lib: 1.17.1
|
||||
prettier: 3.2.5
|
||||
@ -28000,7 +28131,7 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
file:projects/pod-telegram-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4):
|
||||
file:projects/pod-telegram-bot.tgz(bufferutil@4.0.8)(snappy@7.2.2)(utf-8-validate@6.0.4):
|
||||
resolution: {integrity: sha512-QcNX6QCVKgZ6cV4ZkPBzdPH0Nu1F1sQ7yIMYQ4ikoR/BWWBB2U4E/YWd10I3c34QV3DUbKo3CID8EtkzrXadYQ==, tarball: file:projects/pod-telegram-bot.tgz}
|
||||
id: file:projects/pod-telegram-bot.tgz
|
||||
name: '@rush-temp/pod-telegram-bot'
|
||||
@ -28012,7 +28143,6 @@ packages:
|
||||
'@types/express': 4.17.21
|
||||
'@types/jest': 29.5.12
|
||||
'@types/node': 20.11.19
|
||||
'@types/node-fetch': 2.6.11
|
||||
'@types/otp-generator': 4.0.2
|
||||
'@types/ws': 8.5.11
|
||||
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
|
||||
@ -28029,8 +28159,7 @@ packages:
|
||||
express: 4.21.2
|
||||
htmlparser2: 9.1.0
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
mongodb: 6.12.0
|
||||
node-fetch: 2.7.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
otp-generator: 4.0.1
|
||||
prettier: 3.2.5
|
||||
telegraf: 4.16.3
|
||||
@ -28059,7 +28188,7 @@ packages:
|
||||
- utf-8-validate
|
||||
dev: false
|
||||
|
||||
file:projects/pod-telegram.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4):
|
||||
file:projects/pod-telegram.tgz(bufferutil@4.0.8)(snappy@7.2.2)(ts-node@10.9.2)(utf-8-validate@6.0.4):
|
||||
resolution: {integrity: sha512-FAYbl5GmRCS3fOR5eUXKNS8KmwnwB+7ZZ68vDi5lfeH4hkJky/VdR5yq4dX5SzOB35e7hz9JWriDGxfjUcx6Wg==, tarball: file:projects/pod-telegram.tgz}
|
||||
id: file:projects/pod-telegram.tgz
|
||||
name: '@rush-temp/pod-telegram'
|
||||
@ -28090,7 +28219,7 @@ packages:
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
jwt-simple: 0.5.6
|
||||
mime: 3.0.0
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
telegram: 2.22.2
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
@ -28120,8 +28249,9 @@ packages:
|
||||
- utf-8-validate
|
||||
dev: false
|
||||
|
||||
file:projects/pod-workspace.tgz:
|
||||
file:projects/pod-workspace.tgz(snappy@7.2.2):
|
||||
resolution: {integrity: sha512-6wRqrWl0oZUzQ2CZBpPK09doQpYepraNAwCO3OcPDaRnDfQo0WBwLvfWOdDVW3REunCCh/DHMxGpuiLnaQX4KQ==, tarball: file:projects/pod-workspace.tgz}
|
||||
id: file:projects/pod-workspace.tgz
|
||||
name: '@rush-temp/pod-workspace'
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
@ -28137,7 +28267,7 @@ packages:
|
||||
eslint-plugin-n: 15.7.0(eslint@8.56.0)
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3)
|
||||
@ -31217,7 +31347,7 @@ packages:
|
||||
- ts-node
|
||||
dev: false
|
||||
|
||||
file:projects/server-tool.tgz(@types/node@20.11.19)(esbuild@0.24.2)(ts-node@10.9.2):
|
||||
file:projects/server-tool.tgz(@types/node@20.11.19)(esbuild@0.24.2)(snappy@7.2.2)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-G/gF05AF5jsncB4bMGt9HXus2GLzKjAwYPYPlanY7M4tavCE8gOstoBPgW8I/ETxaRI3oztLV7G5UoCHEGON3g==, tarball: file:projects/server-tool.tgz}
|
||||
id: file:projects/server-tool.tgz
|
||||
name: '@rush-temp/server-tool'
|
||||
@ -31237,7 +31367,7 @@ packages:
|
||||
fast-equals: 5.0.1
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
js-yaml: 4.1.0
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
prettier: 3.2.5
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
@ -31444,7 +31574,7 @@ packages:
|
||||
dev: false
|
||||
|
||||
file:projects/server-ws.tgz(esbuild@0.24.2)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-Uw0sIkrmlc+pFs1pavpPYPTUS/SvzBIzXygFUw9PGViypnUo54AYq9QLGEXs1dg2HU8TNcPbgtdRx+4S8fTUMA==, tarball: file:projects/server-ws.tgz}
|
||||
resolution: {integrity: sha512-9PP7kE8LXoZ+7r6OwLp26KT+JFAQtSwg5QP/awwXjcsV2t3yphDYKbdAJuVG5xlLfHW52Xn4NRbr0wFhfwS0sg==, tarball: file:projects/server-ws.tgz}
|
||||
id: file:projects/server-ws.tgz
|
||||
name: '@rush-temp/server-ws'
|
||||
version: 0.0.0
|
||||
@ -31469,6 +31599,7 @@ packages:
|
||||
express: 4.21.2
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
prettier: 3.2.5
|
||||
snappy: 7.2.2
|
||||
ts-jest: 29.1.2(esbuild@0.24.2)(jest@29.7.0)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
utf-8-validate: 6.0.4
|
||||
@ -32503,7 +32634,6 @@ packages:
|
||||
'@tiptap/extension-table-header': 2.6.6(@tiptap/core@2.6.6)
|
||||
'@tiptap/extension-table-row': 2.6.6(@tiptap/core@2.6.6)
|
||||
'@tiptap/extension-text-align': 2.11.0(@tiptap/core@2.6.6)
|
||||
'@tiptap/extension-text-style': 2.11.0(@tiptap/core@2.6.6)
|
||||
'@tiptap/extension-typography': 2.6.6(@tiptap/core@2.6.6)
|
||||
'@tiptap/extension-underline': 2.6.6(@tiptap/core@2.6.6)
|
||||
'@tiptap/pm': 2.6.6
|
||||
@ -32867,8 +32997,9 @@ packages:
|
||||
- ts-node
|
||||
dev: false
|
||||
|
||||
file:projects/tool.tgz:
|
||||
file:projects/tool.tgz(snappy@7.2.2):
|
||||
resolution: {integrity: sha512-Cw36G6uROkPkNIJDl7WeHjhHKmbQth6wmjMu4vBQGz+DfuPf9Eg63SFKq29rOssZ4LlJB1d22Y7XnxilCuXK5g==, tarball: file:projects/tool.tgz}
|
||||
id: file:projects/tool.tgz
|
||||
name: '@rush-temp/tool'
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
@ -32893,11 +33024,10 @@ packages:
|
||||
eslint-plugin-n: 15.7.0(eslint@8.56.0)
|
||||
eslint-plugin-promise: 6.1.1(eslint@8.56.0)
|
||||
fast-equals: 5.0.1
|
||||
got: 11.8.6
|
||||
jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2)
|
||||
libphonenumber-js: 1.10.56
|
||||
mime-types: 2.1.35
|
||||
mongodb: 6.12.0
|
||||
mongodb: 6.12.0(snappy@7.2.2)
|
||||
msgpackr: 1.11.2
|
||||
msgpackr-extract: 3.0.3
|
||||
postgres: 3.4.5
|
||||
|
@ -13,7 +13,7 @@ const defaultConfig = {
|
||||
keepNames: false,
|
||||
sourcemap: false,
|
||||
logLevel: 'error',
|
||||
external: [],
|
||||
external: ['snappy'],
|
||||
define: {},
|
||||
};
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
"_phase:bundle": "rushx bundle",
|
||||
"_phase:docker-build": "rushx docker:build",
|
||||
"_phase:docker-staging": "rushx docker:staging",
|
||||
"bundle": "node ../../common/scripts/esbuild.js --entry=src/__start.ts --keep-names=true --sourcemap=external --define:MODEL_VERSION --define:GIT_REVISION",
|
||||
"bundle": "node ../../common/scripts/esbuild.js --entry=src/__start.ts --keep-names=true --external=snappy --sourcemap=external --define:MODEL_VERSION --define:GIT_REVISION",
|
||||
"docker:build": "../../common/scripts/docker_build.sh hardcoreeng/tool",
|
||||
"docker:tbuild": "docker build -t hardcoreeng/tool . --platform=linux/amd64 && ../../common/scripts/docker_tag_push.sh hardcoreeng/tool",
|
||||
"docker:abuild": "docker build -t hardcoreeng/tool . --platform=linux/arm64 && ../../common/scripts/docker_tag_push.sh hardcoreeng/tool",
|
||||
|
4
packages/importer/config/rig.json
Normal file
4
packages/importer/config/rig.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
|
||||
"rigPackageName": "@hcengineering/platform-rig"
|
||||
}
|
@ -34,14 +34,16 @@
|
||||
"typescript": "^5.3.3",
|
||||
"jest": "^29.7.0",
|
||||
"ts-jest": "^29.1.1",
|
||||
"@types/jest": "^29.5.5"
|
||||
"@types/jest": "^29.5.5",
|
||||
"@types/snappyjs": "^0.7.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@hcengineering/analytics": "^0.6.0",
|
||||
"@hcengineering/platform": "^0.6.11",
|
||||
"@hcengineering/core": "^0.6.32",
|
||||
"@hcengineering/client": "^0.6.18",
|
||||
"@hcengineering/rpc": "^0.6.5"
|
||||
"@hcengineering/rpc": "^0.6.5",
|
||||
"snappyjs": "^0.7.0"
|
||||
},
|
||||
"repository": "https://github.com/hcengineering/platform",
|
||||
"publishConfig": {
|
||||
|
@ -57,6 +57,7 @@ import platform, {
|
||||
broadcastEvent,
|
||||
getMetadata
|
||||
} from '@hcengineering/platform'
|
||||
import { uncompress } from 'snappyjs'
|
||||
|
||||
import { HelloRequest, HelloResponse, RPCHandler, ReqId, type Response } from '@hcengineering/rpc'
|
||||
|
||||
@ -89,6 +90,7 @@ class RequestPromise {
|
||||
class Connection implements ClientConnection {
|
||||
private websocket: ClientSocket | null = null
|
||||
binaryMode = false
|
||||
compressionMode = false
|
||||
private readonly requests = new Map<ReqId, RequestPromise>()
|
||||
private lastId = 0
|
||||
private interval: number | undefined
|
||||
@ -107,7 +109,7 @@ class Connection implements ClientConnection {
|
||||
|
||||
private pingResponse: number = Date.now()
|
||||
|
||||
private helloRecieved: boolean = false
|
||||
private helloReceived: boolean = false
|
||||
|
||||
private account: Account | undefined
|
||||
|
||||
@ -205,7 +207,7 @@ class Connection implements ClientConnection {
|
||||
}
|
||||
|
||||
isConnected (): boolean {
|
||||
return this.websocket != null && this.websocket.readyState === ClientSocketReadyState.OPEN && this.helloRecieved
|
||||
return this.websocket != null && this.websocket.readyState === ClientSocketReadyState.OPEN && this.helloReceived
|
||||
}
|
||||
|
||||
delay = 0
|
||||
@ -289,9 +291,8 @@ class Connection implements ClientConnection {
|
||||
}
|
||||
if (resp.result === 'hello') {
|
||||
const helloResp = resp as HelloResponse
|
||||
if (helloResp.binary) {
|
||||
this.binaryMode = true
|
||||
}
|
||||
this.binaryMode = helloResp.binary
|
||||
this.compressionMode = helloResp.useCompression ?? false
|
||||
|
||||
// We need to clear dial timer, since we recieve hello response.
|
||||
clearTimeout(this.dialTimer)
|
||||
@ -307,7 +308,7 @@ class Connection implements ClientConnection {
|
||||
return
|
||||
}
|
||||
this.account = helloResp.account
|
||||
this.helloRecieved = true
|
||||
this.helloReceived = true
|
||||
if (this.upgrading) {
|
||||
// We need to call upgrade since connection is upgraded
|
||||
this.opt?.onUpgrade?.()
|
||||
@ -439,6 +440,7 @@ class Connection implements ClientConnection {
|
||||
|
||||
private openConnection (ctx: MeasureContext, socketId: number): void {
|
||||
this.binaryMode = false
|
||||
this.helloReceived = false
|
||||
// Use defined factory or browser default one.
|
||||
const clientSocketFactory =
|
||||
this.opt?.socketFactory ??
|
||||
@ -503,11 +505,28 @@ class Connection implements ClientConnection {
|
||||
}
|
||||
if (event.data instanceof Blob) {
|
||||
void event.data.arrayBuffer().then((data) => {
|
||||
if (this.compressionMode && this.helloReceived) {
|
||||
try {
|
||||
data = uncompress(data)
|
||||
} catch (err: any) {
|
||||
// Ignore
|
||||
console.error(err)
|
||||
}
|
||||
}
|
||||
const resp = this.rpcHandler.readResponse<any>(data, this.binaryMode)
|
||||
this.handleMsg(socketId, resp)
|
||||
})
|
||||
} else {
|
||||
const resp = this.rpcHandler.readResponse<any>(event.data, this.binaryMode)
|
||||
let data = event.data
|
||||
if (this.compressionMode && this.helloReceived) {
|
||||
try {
|
||||
data = uncompress(data)
|
||||
} catch (err: any) {
|
||||
// Ignore
|
||||
console.error(err)
|
||||
}
|
||||
}
|
||||
const resp = this.rpcHandler.readResponse<any>(data, this.binaryMode)
|
||||
this.handleMsg(socketId, resp)
|
||||
}
|
||||
}
|
||||
@ -525,15 +544,14 @@ class Connection implements ClientConnection {
|
||||
return
|
||||
}
|
||||
const useBinary = this.opt?.useBinaryProtocol ?? getMetadata(client.metadata.UseBinaryProtocol) ?? true
|
||||
const useCompression =
|
||||
this.compressionMode =
|
||||
this.opt?.useProtocolCompression ?? getMetadata(client.metadata.UseProtocolCompression) ?? false
|
||||
this.helloRecieved = false
|
||||
const helloRequest: HelloRequest = {
|
||||
method: 'hello',
|
||||
params: [],
|
||||
id: -1,
|
||||
binary: useBinary,
|
||||
compression: useCompression
|
||||
compression: this.compressionMode
|
||||
}
|
||||
ctx.withSync('send-hello', {}, () => this.websocket?.send(this.rpcHandler.serialize(helloRequest, false)))
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
||||
"_phase:docker-build": "rushx docker:build",
|
||||
"_phase:docker-staging": "rushx docker:staging",
|
||||
"get-model": "node ../../common/scripts/esbuild.js --entry=src/get-model.ts --keep-names=true --bundle=true --define=MODEL_VERSION --define=VERSION --define=GIT_REVISION && node ./bundle/bundle.js > ./bundle/model.json",
|
||||
"bundle": "rushx get-model && node ../../common/scripts/esbuild.js --keep-names=true --bundle=true --external=*.node --sourcemap=external",
|
||||
"bundle": "rushx get-model && node ../../common/scripts/esbuild.js --keep-names=true --bundle=true --external=*.node --external=snappy --sourcemap=external",
|
||||
"docker:build": "../../common/scripts/docker_build.sh hardcoreeng/fulltext",
|
||||
"docker:tbuild": "docker build -t hardcoreeng/fulltext . --platform=linux/amd64 && ../../common/scripts/docker_tag_push.sh hardcoreeng/fulltext",
|
||||
"docker:abuild": "docker build -t hardcoreeng/fulltext . --platform=linux/arm64 && ../../common/scripts/docker_tag_push.sh hardcoreeng/fulltext",
|
||||
|
@ -17,7 +17,7 @@
|
||||
"_phase:docker-build": "rushx docker:build",
|
||||
"_phase:docker-staging": "rushx docker:staging",
|
||||
"get-model": "node ../../common/scripts/esbuild.js --entry=src/get-model.ts -keep-names=true --define=MODEL_VERSION --define=VERSION --define=GIT_REVISION --bundle=true && node ./bundle/bundle.js > ./bundle/model.json",
|
||||
"bundle": "rushx get-model && node ../../common/scripts/esbuild.js --entry=src/__start.ts --keep-names=true --bundle=true --sourcemap=external --external=*.node --external=*.node --external=bufferutil --external=snappy --define=MODEL_VERSION --define=VERSION --define=GIT_REVISION --external=utf-8-validate --external=msgpackr-extract",
|
||||
"bundle": "rushx get-model && node ../../common/scripts/esbuild.js --entry=src/__start.ts --keep-names=true --bundle=true --sourcemap=external --external=*.node --external=bufferutil --external=snappy --define=MODEL_VERSION --define=VERSION --define=GIT_REVISION --external=utf-8-validate --external=msgpackr-extract",
|
||||
"docker:build": "../../common/scripts/docker_build.sh hardcoreeng/transactor",
|
||||
"docker:tbuild": "docker build -t hardcoreeng/transactor . --platform=linux/amd64 && ../../common/scripts/docker_tag_push.sh hardcoreeng/transactor",
|
||||
"docker:abuild": "docker build -t hardcoreeng/transactor . --platform=linux/arm64 && ../../common/scripts/docker_tag_push.sh hardcoreeng/transactor",
|
||||
@ -51,7 +51,8 @@
|
||||
"jest": "^29.7.0",
|
||||
"ts-jest": "^29.1.1",
|
||||
"@types/jest": "^29.5.5",
|
||||
"@hcengineering/model-all": "^0.6.0"
|
||||
"@hcengineering/model-all": "^0.6.0",
|
||||
"snappyjs": "^0.7.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@hcengineering/core": "^0.6.32",
|
||||
@ -77,6 +78,8 @@
|
||||
"bufferutil": "^4.0.8",
|
||||
"msgpackr": "^1.11.2",
|
||||
"msgpackr-extract": "^3.0.3",
|
||||
"@hcengineering/postgres": "^0.6.0"
|
||||
"@hcengineering/postgres": "^0.6.0",
|
||||
"snappy": "^7.2.2",
|
||||
"@hcengineering/rpc": "^0.6.5"
|
||||
}
|
||||
}
|
||||
|
23
pods/server/src/__tests__/compression.spec.ts
Normal file
23
pods/server/src/__tests__/compression.spec.ts
Normal file
@ -0,0 +1,23 @@
|
||||
import { readFile } from 'fs/promises'
|
||||
import { compress } from 'snappy'
|
||||
import { RPCHandler } from '@hcengineering/rpc'
|
||||
|
||||
describe('compression-tests', () => {
|
||||
it('check-snappy', async () => {
|
||||
const modelJSON = (await readFile('./bundle/model.json')).toString()
|
||||
|
||||
const txes = JSON.parse(modelJSON)
|
||||
|
||||
const compressed = await compress(modelJSON)
|
||||
console.log(modelJSON.length, compressed.length, compressed.length / modelJSON.length)
|
||||
expect(compressed.length).toBeLessThan(modelJSON.length)
|
||||
|
||||
const rpc = new RPCHandler()
|
||||
|
||||
const jsonData = rpc.serialize(txes, true)
|
||||
|
||||
const compressed2 = await compress(jsonData)
|
||||
console.log(jsonData.length, compressed2.length, compressed2.length / jsonData.length)
|
||||
expect(compressed2.length).toBeLessThan(jsonData.length)
|
||||
})
|
||||
})
|
@ -709,7 +709,6 @@ export type ServerFactory = (
|
||||
ctx: MeasureContext,
|
||||
pipelineFactory: PipelineFactory,
|
||||
port: number,
|
||||
enableCompression: boolean,
|
||||
accountsUrl: string,
|
||||
externalStorage: StorageAdapter
|
||||
) => () => Promise<void>
|
||||
|
@ -50,6 +50,7 @@ export interface HelloResponse extends Response<any> {
|
||||
lastTx?: string
|
||||
lastHash?: string // Last model hash
|
||||
account: Account
|
||||
useCompression?: boolean
|
||||
}
|
||||
|
||||
function replacer (key: string, value: any): any {
|
||||
|
@ -117,7 +117,8 @@ class TSessionManager implements SessionManager {
|
||||
stop: () => Promise<string | undefined>
|
||||
}
|
||||
| undefined,
|
||||
readonly accountsUrl: string
|
||||
readonly accountsUrl: string,
|
||||
readonly enableCompression: boolean
|
||||
) {
|
||||
this.checkInterval = setInterval(() => {
|
||||
this.handleTick()
|
||||
@ -1082,7 +1083,7 @@ class TSessionManager implements SessionManager {
|
||||
): Promise<void> {
|
||||
const hello = request as HelloRequest
|
||||
service.binaryMode = hello.binary ?? false
|
||||
service.useCompression = hello.compression ?? false
|
||||
service.useCompression = this.enableCompression ? hello.compression ?? false : false
|
||||
|
||||
if (LOGGING_ENABLED) {
|
||||
ctx.info('hello happen', {
|
||||
@ -1109,7 +1110,8 @@ class TSessionManager implements SessionManager {
|
||||
serverVersion: this.serverVersion,
|
||||
lastTx: pipeline.context.lastTx,
|
||||
lastHash: pipeline.context.lastHash,
|
||||
account: service.getRawAccount(pipeline)
|
||||
account: service.getRawAccount(pipeline),
|
||||
useCompression: service.useCompression
|
||||
}
|
||||
ws.send(requestCtx, helloResponse, false, false)
|
||||
}
|
||||
@ -1126,9 +1128,18 @@ export function createSessionManager (
|
||||
stop: () => Promise<string | undefined>
|
||||
}
|
||||
| undefined,
|
||||
accountsUrl: string
|
||||
accountsUrl: string,
|
||||
enableCompression: boolean
|
||||
): SessionManager {
|
||||
return new TSessionManager(ctx, sessionFactory, timeouts, brandingMap ?? null, profiling, accountsUrl)
|
||||
return new TSessionManager(
|
||||
ctx,
|
||||
sessionFactory,
|
||||
timeouts,
|
||||
brandingMap ?? null,
|
||||
profiling,
|
||||
accountsUrl,
|
||||
enableCompression
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1160,7 +1171,8 @@ export function startSessionManager (
|
||||
reconnectTimeout: 500
|
||||
},
|
||||
opt.profiling,
|
||||
opt.accountsUrl
|
||||
opt.accountsUrl,
|
||||
opt.enableCompression ?? false
|
||||
)
|
||||
return {
|
||||
shutdown: opt.serverFactory(
|
||||
@ -1171,7 +1183,6 @@ export function startSessionManager (
|
||||
ctx,
|
||||
opt.pipelineFactory,
|
||||
opt.port,
|
||||
opt.enableCompression ?? false,
|
||||
opt.accountsUrl,
|
||||
opt.externalStorage
|
||||
),
|
||||
|
@ -51,6 +51,7 @@
|
||||
"express": "^4.21.2",
|
||||
"utf-8-validate": "^6.0.4",
|
||||
"ws": "^8.18.0",
|
||||
"body-parser": "^1.20.2"
|
||||
"body-parser": "^1.20.2",
|
||||
"snappy": "^7.2.2"
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,9 @@ import os from 'os'
|
||||
import { WebSocketServer, type RawData, type WebSocket } from 'ws'
|
||||
|
||||
import 'bufferutil'
|
||||
import { compress } from 'snappy'
|
||||
import 'utf-8-validate'
|
||||
|
||||
let profiling = false
|
||||
const rpcHandler = new RPCHandler()
|
||||
/**
|
||||
@ -60,14 +62,12 @@ export function startHttpServer (
|
||||
ctx: MeasureContext,
|
||||
pipelineFactory: PipelineFactory,
|
||||
port: number,
|
||||
enableCompression: boolean,
|
||||
accountsUrl: string,
|
||||
externalStorage: StorageAdapter
|
||||
): () => Promise<void> {
|
||||
if (LOGGING_ENABLED) {
|
||||
ctx.info('starting server on', {
|
||||
port,
|
||||
enableCompression,
|
||||
accountsUrl,
|
||||
parallel: os.availableParallelism()
|
||||
})
|
||||
@ -324,27 +324,7 @@ export function startHttpServer (
|
||||
const httpServer = http.createServer(app)
|
||||
const wss = new WebSocketServer({
|
||||
noServer: true,
|
||||
perMessageDeflate: enableCompression
|
||||
? {
|
||||
zlibDeflateOptions: {
|
||||
// See zlib defaults.
|
||||
chunkSize: 32 * 1024,
|
||||
memLevel: 1,
|
||||
level: 1
|
||||
},
|
||||
zlibInflateOptions: {
|
||||
chunkSize: 32 * 1024,
|
||||
level: 1,
|
||||
memLevel: 1
|
||||
},
|
||||
serverNoContextTakeover: true,
|
||||
clientNoContextTakeover: true,
|
||||
// Below options specified as default values.
|
||||
concurrencyLimit: Math.max(10, os.availableParallelism()), // Limits zlib concurrency for perf.
|
||||
threshold: 1024 // Size (in bytes) below which messages
|
||||
// should not be compressed if context takeover is disabled.
|
||||
}
|
||||
: false,
|
||||
perMessageDeflate: false,
|
||||
skipUTF8Validation: true,
|
||||
maxPayload: 250 * 1024 * 1024,
|
||||
clientTracking: false // We do not need to track clients inside clients.
|
||||
@ -566,7 +546,7 @@ function createWebsocketClientSocket (
|
||||
}
|
||||
ws.send(pongConst)
|
||||
},
|
||||
send: (ctx: MeasureContext, msg, binary, compression) => {
|
||||
send: (ctx: MeasureContext, msg, binary, _compression) => {
|
||||
const smsg = rpcHandler.serialize(msg, binary)
|
||||
|
||||
ctx.measure('send-data', smsg.length)
|
||||
@ -574,15 +554,24 @@ function createWebsocketClientSocket (
|
||||
if (ws.readyState !== ws.OPEN || cs.isClosed) {
|
||||
return
|
||||
}
|
||||
ws.send(smsg, { binary: true, compress: compression }, (err) => {
|
||||
|
||||
const handleErr = (err?: Error): void => {
|
||||
ctx.measure('msg-send-delta', Date.now() - st)
|
||||
if (err != null) {
|
||||
if (!`${err.message}`.includes('WebSocket is not open')) {
|
||||
ctx.error('send error', { err })
|
||||
Analytics.handleError(err)
|
||||
}
|
||||
}
|
||||
ctx.measure('msg-send-delta', Date.now() - st)
|
||||
})
|
||||
}
|
||||
|
||||
if (_compression) {
|
||||
void compress(smsg).then((msg: any) => {
|
||||
ws.send(msg, { binary: true }, handleErr)
|
||||
})
|
||||
} else {
|
||||
ws.send(smsg, { binary: true }, handleErr)
|
||||
}
|
||||
}
|
||||
}
|
||||
return cs
|
||||
|
@ -139,6 +139,7 @@ services:
|
||||
- BRANDING_PATH=/var/cfg/branding.json
|
||||
- FULLTEXT_URL=http://fulltext:4710
|
||||
- STATS_URL=http://stats:4901
|
||||
- ENABLE_COMPRESSION=true
|
||||
collaborator:
|
||||
image: hardcoreeng/collaborator
|
||||
links:
|
||||
|
@ -39,7 +39,8 @@
|
||||
"ts-jest": "^29.1.1",
|
||||
"typescript": "^5.3.3",
|
||||
"wrangler": "^3.97.0",
|
||||
"esbuild": "^0.24.2"
|
||||
"esbuild": "^0.24.2",
|
||||
"@types/snappyjs": "^0.7.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@hcengineering/core": "^0.6.32",
|
||||
@ -54,6 +55,7 @@
|
||||
"@hcengineering/server-pipeline": "^0.6.0",
|
||||
"@hcengineering/server-token": "^0.6.11",
|
||||
"@hcengineering/storage": "^0.6.0",
|
||||
"itty-router": "^5.0.18"
|
||||
"itty-router": "^5.0.18",
|
||||
"snappyjs": "^0.7.0"
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import serverPlugin, { decodeToken, type Token } from '@hcengineering/server-tok
|
||||
import { DurableObject } from 'cloudflare:workers'
|
||||
import { promisify } from 'util'
|
||||
import { gzip } from 'zlib'
|
||||
import { compress } from 'snappyjs'
|
||||
|
||||
// Approach usefull only for separate build, after model-all bundle phase is executed.
|
||||
import { createPostgreeDestroyAdapter, createPostgresAdapter, createPostgresTxAdapter } from '@hcengineering/postgres'
|
||||
@ -111,7 +112,8 @@ export class Transactor extends DurableObject<Env> {
|
||||
reconnectTimeout: 3000
|
||||
},
|
||||
undefined,
|
||||
this.accountsUrl
|
||||
this.accountsUrl,
|
||||
env.ENABLE_COMPRESSION === 'true'
|
||||
)
|
||||
})
|
||||
}
|
||||
@ -269,13 +271,18 @@ export class Transactor extends DurableObject<Env> {
|
||||
return rpcHandler.readRequest(buffer, binary)
|
||||
},
|
||||
data: () => data,
|
||||
send: (ctx: MeasureContext, msg, binary, compression) => {
|
||||
const smsg = rpcHandler.serialize(msg, binary)
|
||||
send: (ctx: MeasureContext, msg, binary, _compression) => {
|
||||
let smsg = rpcHandler.serialize(msg, binary)
|
||||
|
||||
ctx.measure('send-data', smsg.length)
|
||||
if (ws.readyState !== WebSocket.OPEN || cs.isClosed) {
|
||||
return
|
||||
}
|
||||
|
||||
if (_compression) {
|
||||
smsg = compress(smsg)
|
||||
}
|
||||
|
||||
ws.send(smsg)
|
||||
},
|
||||
sendPong: () => {
|
||||
|
2
workers/transactor/worker-configuration.d.ts
vendored
2
workers/transactor/worker-configuration.d.ts
vendored
@ -12,4 +12,6 @@ interface Env {
|
||||
DB_URL: string | undefined
|
||||
|
||||
STATS_URL: string | undefined
|
||||
|
||||
ENABLE_COMPRESSION: string | undefined
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user