@hocuspocus/extension-redis 2.0.6 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/hocuspocus-redis.cjs +199 -206
  2. package/dist/hocuspocus-redis.cjs.map +1 -1
  3. package/dist/hocuspocus-redis.esm.js +199 -205
  4. package/dist/hocuspocus-redis.esm.js.map +1 -1
  5. package/dist/packages/common/src/CloseEvents.d.ts +29 -29
  6. package/dist/packages/common/src/auth.d.ts +6 -6
  7. package/dist/packages/common/src/awarenessStatesToArray.d.ts +3 -3
  8. package/dist/packages/common/src/index.d.ts +4 -4
  9. package/dist/packages/common/src/types.d.ts +10 -10
  10. package/dist/packages/extension-database/src/Database.d.ts +30 -30
  11. package/dist/packages/extension-database/src/index.d.ts +1 -1
  12. package/dist/packages/extension-logger/src/Logger.d.ts +67 -67
  13. package/dist/packages/extension-logger/src/index.d.ts +1 -1
  14. package/dist/packages/extension-redis/src/Redis.d.ts +116 -117
  15. package/dist/packages/extension-redis/src/index.d.ts +1 -1
  16. package/dist/packages/extension-sqlite/src/SQLite.d.ts +26 -26
  17. package/dist/packages/extension-sqlite/src/index.d.ts +1 -1
  18. package/dist/packages/extension-throttle/src/index.d.ts +31 -31
  19. package/dist/packages/extension-webhook/src/index.d.ts +57 -57
  20. package/dist/packages/provider/src/EventEmitter.d.ts +9 -9
  21. package/dist/packages/provider/src/HocuspocusProvider.d.ts +110 -110
  22. package/dist/packages/provider/src/HocuspocusProviderWebsocket.d.ts +115 -115
  23. package/dist/packages/provider/src/IncomingMessage.d.ts +16 -16
  24. package/dist/packages/provider/src/MessageReceiver.d.ts +13 -13
  25. package/dist/packages/provider/src/MessageSender.d.ts +10 -10
  26. package/dist/packages/provider/src/OutgoingMessage.d.ts +9 -9
  27. package/dist/packages/provider/src/OutgoingMessages/AuthenticationMessage.d.ts +7 -7
  28. package/dist/packages/provider/src/OutgoingMessages/AwarenessMessage.d.ts +8 -8
  29. package/dist/packages/provider/src/OutgoingMessages/CloseMessage.d.ts +8 -8
  30. package/dist/packages/provider/src/OutgoingMessages/QueryAwarenessMessage.d.ts +8 -8
  31. package/dist/packages/provider/src/OutgoingMessages/StatelessMessage.d.ts +7 -7
  32. package/dist/packages/provider/src/OutgoingMessages/SyncStepOneMessage.d.ts +8 -8
  33. package/dist/packages/provider/src/OutgoingMessages/SyncStepTwoMessage.d.ts +8 -8
  34. package/dist/packages/provider/src/OutgoingMessages/UpdateMessage.d.ts +7 -7
  35. package/dist/packages/provider/src/TiptapCollabProvider.d.ts +11 -11
  36. package/dist/packages/provider/src/TiptapCollabProviderWebsocket.d.ts +11 -11
  37. package/dist/packages/provider/src/index.d.ts +5 -5
  38. package/dist/packages/provider/src/types.d.ts +84 -84
  39. package/dist/packages/server/src/Connection.d.ts +71 -71
  40. package/dist/packages/server/src/Debugger.d.ts +14 -14
  41. package/dist/packages/server/src/DirectConnection.d.ts +13 -0
  42. package/dist/packages/server/src/Document.d.ts +91 -88
  43. package/dist/packages/server/src/Hocuspocus.d.ts +111 -108
  44. package/dist/packages/server/src/IncomingMessage.d.ts +21 -21
  45. package/dist/packages/server/src/MessageReceiver.d.ts +12 -12
  46. package/dist/packages/server/src/OutgoingMessage.d.ts +20 -20
  47. package/dist/packages/server/src/index.d.ts +8 -8
  48. package/dist/packages/server/src/types.d.ts +266 -264
  49. package/dist/packages/transformer/src/Prosemirror.d.ts +11 -11
  50. package/dist/packages/transformer/src/Tiptap.d.ts +10 -10
  51. package/dist/packages/transformer/src/index.d.ts +3 -3
  52. package/dist/packages/transformer/src/types.d.ts +5 -5
  53. package/dist/playground/backend/src/default.d.ts +1 -1
  54. package/dist/playground/backend/src/express.d.ts +1 -1
  55. package/dist/playground/backend/src/koa.d.ts +1 -1
  56. package/dist/playground/backend/src/load-document.d.ts +1 -1
  57. package/dist/playground/backend/src/redis.d.ts +1 -1
  58. package/dist/playground/backend/src/slow.d.ts +1 -1
  59. package/dist/playground/backend/src/tiptapcollab.d.ts +1 -1
  60. package/dist/playground/backend/src/webhook.d.ts +1 -1
  61. package/dist/playground/frontend/src/main.d.ts +1 -1
  62. package/dist/playground/frontend/vite.config.d.ts +2 -2
  63. package/dist/tests/extension-database/fetch.d.ts +1 -1
  64. package/dist/tests/extension-logger/onListen.d.ts +1 -1
  65. package/dist/tests/extension-redis/closeConnections.d.ts +1 -1
  66. package/dist/tests/extension-redis/getConnectionCount.d.ts +1 -1
  67. package/dist/tests/extension-redis/getDocumentsCount.d.ts +1 -1
  68. package/dist/tests/extension-redis/onAwarenessChange.d.ts +1 -1
  69. package/dist/tests/extension-redis/onChange.d.ts +1 -1
  70. package/dist/tests/extension-redis/onStateless.d.ts +1 -1
  71. package/dist/tests/extension-redis/onStoreDocument.d.ts +1 -1
  72. package/dist/tests/extension-throttle/banning.d.ts +1 -1
  73. package/dist/tests/extension-throttle/configuration.d.ts +1 -1
  74. package/dist/tests/provider/observe.d.ts +1 -1
  75. package/dist/tests/provider/observeDeep.d.ts +1 -1
  76. package/dist/tests/provider/onAuthenticated.d.ts +1 -1
  77. package/dist/tests/provider/onAuthenticationFailed.d.ts +1 -1
  78. package/dist/tests/provider/onAwarenessChange.d.ts +1 -1
  79. package/dist/tests/provider/onAwarenessUpdate.d.ts +1 -1
  80. package/dist/tests/provider/onClose.d.ts +1 -1
  81. package/dist/tests/provider/onConnect.d.ts +1 -1
  82. package/dist/tests/provider/onDisconnect.d.ts +1 -1
  83. package/dist/tests/provider/onMessage.d.ts +1 -1
  84. package/dist/tests/provider/onOpen.d.ts +1 -1
  85. package/dist/tests/provider/onStateless.d.ts +1 -1
  86. package/dist/tests/provider/onSynced.d.ts +1 -1
  87. package/dist/tests/providerwebsocket/configuration.d.ts +1 -1
  88. package/dist/tests/server/address.d.ts +1 -1
  89. package/dist/tests/server/afterStoreDocument.d.ts +1 -1
  90. package/dist/tests/server/beforeBroadcastStateless.d.ts +1 -1
  91. package/dist/tests/server/beforeHandleMessage.d.ts +1 -1
  92. package/dist/tests/server/closeConnections.d.ts +1 -1
  93. package/dist/tests/server/getConnectionsCount.d.ts +1 -1
  94. package/dist/tests/server/getDocumentsCount.d.ts +1 -1
  95. package/dist/tests/server/getMessageLogs.d.ts +1 -1
  96. package/dist/tests/server/listen.d.ts +1 -1
  97. package/dist/tests/server/onAuthenticate.d.ts +1 -1
  98. package/dist/tests/server/onAwarenessUpdate.d.ts +1 -1
  99. package/dist/tests/server/onChange.d.ts +1 -1
  100. package/dist/tests/server/onClose.d.ts +1 -1
  101. package/dist/tests/server/onConfigure.d.ts +1 -1
  102. package/dist/tests/server/onConnect.d.ts +1 -1
  103. package/dist/tests/server/onDestroy.d.ts +1 -1
  104. package/dist/tests/server/onDisconnect.d.ts +1 -1
  105. package/dist/tests/server/onListen.d.ts +1 -1
  106. package/dist/tests/server/onLoadDocument.d.ts +1 -1
  107. package/dist/tests/server/onRequest.d.ts +1 -1
  108. package/dist/tests/server/onStateless.d.ts +1 -1
  109. package/dist/tests/server/onStoreDocument.d.ts +1 -1
  110. package/dist/tests/server/onUpgrade.d.ts +1 -1
  111. package/dist/tests/server/openDirectConnection.d.ts +1 -0
  112. package/dist/tests/server/requiresAuthentication.d.ts +1 -1
  113. package/dist/tests/server/websocketError.d.ts +1 -1
  114. package/dist/tests/transformer/TiptapTransformer.d.ts +1 -1
  115. package/dist/tests/utils/createDirectory.d.ts +1 -1
  116. package/dist/tests/utils/flushRedis.d.ts +1 -1
  117. package/dist/tests/utils/index.d.ts +9 -9
  118. package/dist/tests/utils/newHocuspocus.d.ts +2 -2
  119. package/dist/tests/utils/newHocuspocusProvider.d.ts +3 -3
  120. package/dist/tests/utils/newHocuspocusProviderWebsocket.d.ts +3 -3
  121. package/dist/tests/utils/randomInteger.d.ts +1 -1
  122. package/dist/tests/utils/redisConnectionSettings.d.ts +4 -4
  123. package/dist/tests/utils/removeDirectory.d.ts +1 -1
  124. package/dist/tests/utils/retryableAssertion.d.ts +2 -2
  125. package/dist/tests/utils/sleep.d.ts +1 -1
  126. package/package.json +4 -3
  127. package/src/Redis.ts +3 -12
  128. package/src/index.ts +1 -1
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1 +1 @@
1
- export declare const createDirectory: (dir: string) => void;
1
+ export declare const createDirectory: (dir: string) => void;
@@ -1 +1 @@
1
- export declare const flushRedis: () => Promise<string>;
1
+ export declare const flushRedis: () => Promise<string>;
@@ -1,9 +1,9 @@
1
- export * from './createDirectory';
2
- export * from './flushRedis';
3
- export * from './newHocuspocus';
4
- export * from './newHocuspocusProvider';
5
- export * from './newHocuspocusProviderWebsocket';
6
- export * from './randomInteger';
7
- export * from './redisConnectionSettings';
8
- export * from './removeDirectory';
9
- export * from './sleep';
1
+ export * from './createDirectory.js';
2
+ export * from './flushRedis.js';
3
+ export * from './newHocuspocus.js';
4
+ export * from './newHocuspocusProvider.js';
5
+ export * from './newHocuspocusProviderWebsocket.js';
6
+ export * from './randomInteger.js';
7
+ export * from './redisConnectionSettings.js';
8
+ export * from './removeDirectory.js';
9
+ export * from './sleep.js';
@@ -1,2 +1,2 @@
1
- import { Hocuspocus, Configuration } from '@hocuspocus/server';
2
- export declare const newHocuspocus: (options?: Partial<Configuration>) => Promise<Hocuspocus>;
1
+ import { Hocuspocus, Configuration } from '@hocuspocus/server';
2
+ export declare const newHocuspocus: (options?: Partial<Configuration>) => Promise<Hocuspocus>;
@@ -1,3 +1,3 @@
1
- import { HocuspocusProvider, HocuspocusProviderConfiguration, HocuspocusProviderWebsocketConfiguration } from '@hocuspocus/provider';
2
- import { Hocuspocus } from '@hocuspocus/server';
3
- export declare const newHocuspocusProvider: (server: Hocuspocus, options?: Partial<HocuspocusProviderConfiguration>, websocketOptions?: Partial<HocuspocusProviderWebsocketConfiguration>) => HocuspocusProvider;
1
+ import { HocuspocusProvider, HocuspocusProviderConfiguration, HocuspocusProviderWebsocketConfiguration } from '@hocuspocus/provider';
2
+ import { Hocuspocus } from '@hocuspocus/server';
3
+ export declare const newHocuspocusProvider: (server: Hocuspocus, options?: Partial<HocuspocusProviderConfiguration>, websocketOptions?: Partial<HocuspocusProviderWebsocketConfiguration>) => HocuspocusProvider;
@@ -1,3 +1,3 @@
1
- import { HocuspocusProviderWebsocket, HocuspocusProviderWebsocketConfiguration } from '@hocuspocus/provider';
2
- import { Hocuspocus } from '@hocuspocus/server';
3
- export declare const newHocuspocusProviderWebsocket: (server: Hocuspocus, options?: Partial<Omit<HocuspocusProviderWebsocketConfiguration, 'url'>>) => HocuspocusProviderWebsocket;
1
+ import { HocuspocusProviderWebsocket, HocuspocusProviderWebsocketConfiguration } from '@hocuspocus/provider';
2
+ import { Hocuspocus } from '@hocuspocus/server';
3
+ export declare const newHocuspocusProviderWebsocket: (server: Hocuspocus, options?: Partial<Omit<HocuspocusProviderWebsocketConfiguration, 'url'>>) => HocuspocusProviderWebsocket;
@@ -1 +1 @@
1
- export declare const randomInteger: (min: number, max: number) => number;
1
+ export declare const randomInteger: (min: number, max: number) => number;
@@ -1,4 +1,4 @@
1
- export declare const redisConnectionSettings: {
2
- host: string;
3
- port: number;
4
- };
1
+ export declare const redisConnectionSettings: {
2
+ host: string;
3
+ port: number;
4
+ };
@@ -1 +1 @@
1
- export declare const removeDirectory: (dir: string) => void;
1
+ export declare const removeDirectory: (dir: string) => void;
@@ -1,2 +1,2 @@
1
- import { ExecutionContext } from 'ava';
2
- export declare const retryableAssertion: (t: ExecutionContext, recoverableTry: (tt: ExecutionContext) => void) => Promise<void>;
1
+ import { ExecutionContext } from 'ava';
2
+ export declare const retryableAssertion: (t: ExecutionContext, recoverableTry: (tt: ExecutionContext) => void) => Promise<void>;
@@ -1 +1 @@
1
- export declare const sleep: (time: number) => Promise<unknown>;
1
+ export declare const sleep: (time: number) => Promise<unknown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hocuspocus/extension-redis",
3
- "version": "2.0.6",
3
+ "version": "2.1.0",
4
4
  "description": "Scale Hocuspocus horizontally with Redis",
5
5
  "homepage": "https://hocuspocus.dev",
6
6
  "keywords": [
@@ -19,7 +19,8 @@
19
19
  },
20
20
  "default": {
21
21
  "import": "./dist/hocuspocus-redis.esm.js",
22
- "require": "./dist/hocuspocus-redis.cjs"
22
+ "require": "./dist/hocuspocus-redis.cjs",
23
+ "types": "./dist/packages/extension-redis/src/index.d.ts"
23
24
  }
24
25
  },
25
26
  "files": [
@@ -32,7 +33,7 @@
32
33
  "@types/redlock": "^4.0.3"
33
34
  },
34
35
  "dependencies": {
35
- "@hocuspocus/server": "^2.0.6",
36
+ "@hocuspocus/server": "^2.1.0",
36
37
  "ioredis": "^4.28.2",
37
38
  "kleur": "^4.1.4",
38
39
  "lodash.debounce": "^4.0.8",
package/src/Redis.ts CHANGED
@@ -15,10 +15,8 @@ import {
15
15
  MessageReceiver,
16
16
  Debugger,
17
17
  onConfigurePayload,
18
- onListenPayload,
19
18
  beforeBroadcastStatelessPayload, Hocuspocus,
20
19
  } from '@hocuspocus/server'
21
- import kleur from 'kleur'
22
20
 
23
21
  export type RedisInstance = RedisClient.Cluster | RedisClient.Redis
24
22
 
@@ -140,15 +138,6 @@ export class Redis implements Extension {
140
138
  this.instance = instance
141
139
  }
142
140
 
143
- async onListen({ configuration }: onListenPayload) {
144
- if (configuration.quiet) {
145
- return
146
- }
147
-
148
- console.warn(` ${kleur.yellow('[BREAKING CHANGE] Wait, the Redis extension got an overhaul. The new Redis extension doesn’t persist data, it only syncs data between instances. Use @hocuspocus/extension-database to store your documents. It works well with the Redis extension.')}`)
149
- console.log()
150
- }
151
-
152
141
  private getKey(documentName: string) {
153
142
  return `${this.configuration.prefix}:${documentName}`
154
143
  }
@@ -342,6 +331,8 @@ export class Redis implements Extension {
342
331
  * Kill the Redlock connection immediately.
343
332
  */
344
333
  async onDestroy() {
345
- this.redlock.quit()
334
+ await this.redlock.quit()
335
+ this.pub.disconnect(false)
336
+ this.sub.disconnect(false)
346
337
  }
347
338
  }
package/src/index.ts CHANGED
@@ -1 +1 @@
1
- export * from './Redis'
1
+ export * from './Redis.js'