@verdant-web/server 2.1.2 → 3.0.0-next.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 (199) hide show
  1. package/dist/esm/ClientConnection.js.map +1 -1
  2. package/dist/esm/Presence.js.map +1 -1
  3. package/dist/esm/Profiles.js.map +1 -1
  4. package/dist/esm/ReplicaKeepaliveTimers.js.map +1 -1
  5. package/dist/esm/Server.js +29 -30
  6. package/dist/esm/Server.js.map +1 -1
  7. package/dist/esm/ServerLibrary.js +161 -129
  8. package/dist/esm/ServerLibrary.js.map +1 -1
  9. package/dist/esm/ServerLibrary.test.js +369 -0
  10. package/dist/esm/ServerLibrary.test.js.map +1 -0
  11. package/dist/esm/TokenProvider.js.map +1 -1
  12. package/dist/esm/TokenVerifier.js.map +1 -1
  13. package/dist/esm/files/FileStorage.js.map +1 -1
  14. package/dist/esm/storage/Storage.js +2 -0
  15. package/dist/esm/storage/Storage.js.map +1 -0
  16. package/dist/esm/storage/index.js +3 -0
  17. package/dist/esm/storage/index.js.map +1 -0
  18. package/dist/esm/storage/sql/SqlBaselines.js +101 -0
  19. package/dist/esm/storage/sql/SqlBaselines.js.map +1 -0
  20. package/dist/esm/storage/sql/SqlFileMetadata.js +69 -0
  21. package/dist/esm/storage/sql/SqlFileMetadata.js.map +1 -0
  22. package/dist/esm/storage/sql/SqlOperations.js +104 -0
  23. package/dist/esm/storage/sql/SqlOperations.js.map +1 -0
  24. package/dist/esm/storage/sql/SqlReplicas.js +163 -0
  25. package/dist/esm/storage/sql/SqlReplicas.js.map +1 -0
  26. package/dist/esm/storage/sql/migrations/v1.js +59 -0
  27. package/dist/esm/storage/sql/migrations/v1.js.map +1 -0
  28. package/dist/esm/storage/sql/migrations.js +3 -0
  29. package/dist/esm/storage/sql/migrations.js.map +1 -0
  30. package/dist/esm/storage/sql/sqlStorage.js +43 -0
  31. package/dist/esm/storage/sql/sqlStorage.js.map +1 -0
  32. package/dist/esm/storage/sql/tables.js +2 -0
  33. package/dist/esm/storage/sql/tables.js.map +1 -0
  34. package/package.json +20 -14
  35. package/src/Server.ts +37 -43
  36. package/src/ServerLibrary.test.ts +447 -0
  37. package/src/ServerLibrary.ts +253 -166
  38. package/src/TokenProvider.ts +3 -0
  39. package/src/index.ts +1 -0
  40. package/src/storage/Storage.ts +118 -0
  41. package/src/storage/index.ts +2 -0
  42. package/src/storage/sql/SqlBaselines.ts +141 -0
  43. package/src/storage/sql/SqlFileMetadata.ts +94 -0
  44. package/src/storage/sql/SqlOperations.ts +149 -0
  45. package/src/storage/sql/SqlReplicas.ts +234 -0
  46. package/src/storage/sql/migrations/v1.ts +64 -0
  47. package/src/storage/sql/migrations.ts +3 -0
  48. package/src/storage/sql/sqlStorage.ts +59 -0
  49. package/src/storage/sql/tables.ts +45 -0
  50. package/src/types.ts +31 -4
  51. package/bin/server.mjs +0 -115
  52. package/dist/cjs/Baselines.d.ts +0 -16
  53. package/dist/cjs/Baselines.js +0 -128
  54. package/dist/cjs/Baselines.js.map +0 -1
  55. package/dist/cjs/ClientConnection.d.ts +0 -20
  56. package/dist/cjs/ClientConnection.js +0 -139
  57. package/dist/cjs/ClientConnection.js.map +0 -1
  58. package/dist/cjs/MessageSender.d.ts +0 -5
  59. package/dist/cjs/MessageSender.js +0 -3
  60. package/dist/cjs/MessageSender.js.map +0 -1
  61. package/dist/cjs/OperationHistory.d.ts +0 -36
  62. package/dist/cjs/OperationHistory.js +0 -165
  63. package/dist/cjs/OperationHistory.js.map +0 -1
  64. package/dist/cjs/Presence.d.ts +0 -15
  65. package/dist/cjs/Presence.js +0 -60
  66. package/dist/cjs/Presence.js.map +0 -1
  67. package/dist/cjs/Profiles.d.ts +0 -10
  68. package/dist/cjs/Profiles.js +0 -20
  69. package/dist/cjs/Profiles.js.map +0 -1
  70. package/dist/cjs/ReplicaKeepaliveTimers.d.ts +0 -17
  71. package/dist/cjs/ReplicaKeepaliveTimers.js +0 -31
  72. package/dist/cjs/ReplicaKeepaliveTimers.js.map +0 -1
  73. package/dist/cjs/Replicas.d.ts +0 -25
  74. package/dist/cjs/Replicas.js +0 -196
  75. package/dist/cjs/Replicas.js.map +0 -1
  76. package/dist/cjs/Server.d.ts +0 -180
  77. package/dist/cjs/Server.js +0 -552
  78. package/dist/cjs/Server.js.map +0 -1
  79. package/dist/cjs/ServerLibrary.d.ts +0 -77
  80. package/dist/cjs/ServerLibrary.js +0 -497
  81. package/dist/cjs/ServerLibrary.js.map +0 -1
  82. package/dist/cjs/TokenProvider.d.ts +0 -16
  83. package/dist/cjs/TokenProvider.js +0 -27
  84. package/dist/cjs/TokenProvider.js.map +0 -1
  85. package/dist/cjs/TokenVerifier.d.ts +0 -16
  86. package/dist/cjs/TokenVerifier.js +0 -40
  87. package/dist/cjs/TokenVerifier.js.map +0 -1
  88. package/dist/cjs/files/FileMetadata.d.ts +0 -28
  89. package/dist/cjs/files/FileMetadata.js +0 -69
  90. package/dist/cjs/files/FileMetadata.js.map +0 -1
  91. package/dist/cjs/files/FileStorage.d.ts +0 -35
  92. package/dist/cjs/files/FileStorage.js +0 -72
  93. package/dist/cjs/files/FileStorage.js.map +0 -1
  94. package/dist/cjs/index.d.ts +0 -9
  95. package/dist/cjs/index.js +0 -12
  96. package/dist/cjs/index.js.map +0 -1
  97. package/dist/cjs/migrations/v0.d.ts +0 -1
  98. package/dist/cjs/migrations/v0.js +0 -30
  99. package/dist/cjs/migrations/v0.js.map +0 -1
  100. package/dist/cjs/migrations/v1.d.ts +0 -1
  101. package/dist/cjs/migrations/v1.js +0 -32
  102. package/dist/cjs/migrations/v1.js.map +0 -1
  103. package/dist/cjs/migrations/v2.d.ts +0 -1
  104. package/dist/cjs/migrations/v2.js +0 -29
  105. package/dist/cjs/migrations/v2.js.map +0 -1
  106. package/dist/cjs/migrations/v3.d.ts +0 -1
  107. package/dist/cjs/migrations/v3.js +0 -15
  108. package/dist/cjs/migrations/v3.js.map +0 -1
  109. package/dist/cjs/migrations/v4.d.ts +0 -1
  110. package/dist/cjs/migrations/v4.js +0 -9
  111. package/dist/cjs/migrations/v4.js.map +0 -1
  112. package/dist/cjs/migrations/v5.d.ts +0 -2
  113. package/dist/cjs/migrations/v5.js +0 -37
  114. package/dist/cjs/migrations/v5.js.map +0 -1
  115. package/dist/cjs/migrations/v6.d.ts +0 -1
  116. package/dist/cjs/migrations/v6.js +0 -8
  117. package/dist/cjs/migrations/v6.js.map +0 -1
  118. package/dist/cjs/migrations/v7.d.ts +0 -1
  119. package/dist/cjs/migrations/v7.js +0 -10
  120. package/dist/cjs/migrations/v7.js.map +0 -1
  121. package/dist/cjs/migrations.d.ts +0 -6
  122. package/dist/cjs/migrations.js +0 -72
  123. package/dist/cjs/migrations.js.map +0 -1
  124. package/dist/cjs/migrations.test.d.ts +0 -1
  125. package/dist/cjs/migrations.test.js +0 -121
  126. package/dist/cjs/migrations.test.js.map +0 -1
  127. package/dist/cjs/types.d.ts +0 -23
  128. package/dist/cjs/types.js +0 -3
  129. package/dist/cjs/types.js.map +0 -1
  130. package/dist/esm/Baselines.d.ts +0 -16
  131. package/dist/esm/Baselines.js +0 -124
  132. package/dist/esm/Baselines.js.map +0 -1
  133. package/dist/esm/ClientConnection.d.ts +0 -20
  134. package/dist/esm/MessageSender.d.ts +0 -5
  135. package/dist/esm/OperationHistory.d.ts +0 -36
  136. package/dist/esm/OperationHistory.js +0 -161
  137. package/dist/esm/OperationHistory.js.map +0 -1
  138. package/dist/esm/Presence.d.ts +0 -15
  139. package/dist/esm/Profiles.d.ts +0 -10
  140. package/dist/esm/ReplicaKeepaliveTimers.d.ts +0 -17
  141. package/dist/esm/Replicas.d.ts +0 -25
  142. package/dist/esm/Replicas.js +0 -192
  143. package/dist/esm/Replicas.js.map +0 -1
  144. package/dist/esm/Server.d.ts +0 -180
  145. package/dist/esm/ServerLibrary.d.ts +0 -77
  146. package/dist/esm/TokenProvider.d.ts +0 -16
  147. package/dist/esm/TokenVerifier.d.ts +0 -16
  148. package/dist/esm/files/FileMetadata.d.ts +0 -28
  149. package/dist/esm/files/FileMetadata.js +0 -65
  150. package/dist/esm/files/FileMetadata.js.map +0 -1
  151. package/dist/esm/files/FileStorage.d.ts +0 -35
  152. package/dist/esm/index.d.ts +0 -9
  153. package/dist/esm/migrations/v0.d.ts +0 -1
  154. package/dist/esm/migrations/v0.js +0 -27
  155. package/dist/esm/migrations/v0.js.map +0 -1
  156. package/dist/esm/migrations/v1.d.ts +0 -1
  157. package/dist/esm/migrations/v1.js +0 -29
  158. package/dist/esm/migrations/v1.js.map +0 -1
  159. package/dist/esm/migrations/v2.d.ts +0 -1
  160. package/dist/esm/migrations/v2.js +0 -26
  161. package/dist/esm/migrations/v2.js.map +0 -1
  162. package/dist/esm/migrations/v3.d.ts +0 -1
  163. package/dist/esm/migrations/v3.js +0 -12
  164. package/dist/esm/migrations/v3.js.map +0 -1
  165. package/dist/esm/migrations/v4.d.ts +0 -1
  166. package/dist/esm/migrations/v4.js +0 -6
  167. package/dist/esm/migrations/v4.js.map +0 -1
  168. package/dist/esm/migrations/v5.d.ts +0 -2
  169. package/dist/esm/migrations/v5.js +0 -33
  170. package/dist/esm/migrations/v5.js.map +0 -1
  171. package/dist/esm/migrations/v6.d.ts +0 -1
  172. package/dist/esm/migrations/v6.js +0 -5
  173. package/dist/esm/migrations/v6.js.map +0 -1
  174. package/dist/esm/migrations/v7.d.ts +0 -1
  175. package/dist/esm/migrations/v7.js +0 -7
  176. package/dist/esm/migrations/v7.js.map +0 -1
  177. package/dist/esm/migrations.d.ts +0 -6
  178. package/dist/esm/migrations.js +0 -45
  179. package/dist/esm/migrations.js.map +0 -1
  180. package/dist/esm/migrations.test.d.ts +0 -1
  181. package/dist/esm/migrations.test.js +0 -116
  182. package/dist/esm/migrations.test.js.map +0 -1
  183. package/dist/esm/types.d.ts +0 -23
  184. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  185. package/dist/tsconfig.tsbuildinfo +0 -1
  186. package/src/Baselines.ts +0 -198
  187. package/src/OperationHistory.ts +0 -232
  188. package/src/Replicas.ts +0 -274
  189. package/src/files/FileMetadata.ts +0 -112
  190. package/src/migrations/v0.ts +0 -26
  191. package/src/migrations/v1.ts +0 -28
  192. package/src/migrations/v2.ts +0 -26
  193. package/src/migrations/v3.ts +0 -12
  194. package/src/migrations/v4.ts +0 -6
  195. package/src/migrations/v5.ts +0 -49
  196. package/src/migrations/v6.ts +0 -4
  197. package/src/migrations/v7.ts +0 -6
  198. package/src/migrations.test.ts +0 -133
  199. package/src/migrations.ts +0 -61
package/src/migrations.ts DELETED
@@ -1,61 +0,0 @@
1
- import type { Database } from 'better-sqlite3';
2
- import * as v0 from './migrations/v0.js';
3
- import * as v1 from './migrations/v1.js';
4
- import * as v2 from './migrations/v2.js';
5
- import * as v3 from './migrations/v3.js';
6
- import * as v4 from './migrations/v4.js';
7
- import * as v5 from './migrations/v5.js';
8
- import * as v6 from './migrations/v6.js';
9
-
10
- export const allMigrations: {
11
- sql?: string;
12
- procedure?: (db: Database) => void;
13
- }[] = [v0, v1, v2, v3, v4, v5, v6];
14
-
15
- export function migrations(db: Database, upTo: number = allMigrations.length) {
16
- // create the versions table if it doesn't exist
17
- db.prepare(
18
- `
19
- CREATE TABLE IF NOT EXISTS versions (
20
- version INTEGER NOT NULL PRIMARY KEY
21
- );
22
- `,
23
- ).run();
24
-
25
- // get the current version
26
- const versionResult = db
27
- .prepare(
28
- `
29
- SELECT version FROM versions ORDER BY version DESC LIMIT 1;
30
- `,
31
- )
32
- .get() as { version: number } | undefined;
33
- const version = versionResult?.version ?? 0;
34
-
35
- const toRun = allMigrations.slice(version, upTo);
36
-
37
- if (toRun.length === 0) {
38
- console.info('No migrations to run');
39
- return;
40
- }
41
-
42
- console.info('Running migrations from ', version, 'to', upTo);
43
-
44
- const run = db.transaction(() => {
45
- for (const { sql, procedure } of toRun) {
46
- if (sql) {
47
- db.exec(sql);
48
- }
49
- if (procedure) {
50
- procedure(db);
51
- }
52
- }
53
- db.prepare(
54
- `
55
- INSERT INTO versions (version) VALUES (?);
56
- `,
57
- ).run(upTo);
58
- });
59
-
60
- run();
61
- }