@geekity/cms 0.24.0 → 0.26.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 (182) hide show
  1. package/README.md +96 -160
  2. package/admin/pages/documents/editor.njk +48 -0
  3. package/admin/pages/federation/settings.njk +1 -59
  4. package/admin/pages/plugins/installed.njk +113 -0
  5. package/admin/pages/plugins/screen.njk +129 -0
  6. package/admin/static/admin.css +144 -4
  7. package/admin/static/editor-actions.js +202 -0
  8. package/dist/admin/accounts.d.ts +18 -39
  9. package/dist/admin/accounts.d.ts.map +1 -1
  10. package/dist/admin/accounts.js +19 -48
  11. package/dist/admin/accounts.js.map +1 -1
  12. package/dist/admin/documents.d.ts +5 -0
  13. package/dist/admin/documents.d.ts.map +1 -1
  14. package/dist/admin/documents.js +17 -8
  15. package/dist/admin/documents.js.map +1 -1
  16. package/dist/admin/editor-actions.d.ts +35 -0
  17. package/dist/admin/editor-actions.d.ts.map +1 -0
  18. package/dist/admin/editor-actions.js +187 -0
  19. package/dist/admin/editor-actions.js.map +1 -0
  20. package/dist/admin/federation.d.ts +4 -5
  21. package/dist/admin/federation.d.ts.map +1 -1
  22. package/dist/admin/federation.js +4 -5
  23. package/dist/admin/federation.js.map +1 -1
  24. package/dist/admin/index.d.ts +1 -1
  25. package/dist/admin/index.d.ts.map +1 -1
  26. package/dist/admin/index.js +1 -1
  27. package/dist/admin/index.js.map +1 -1
  28. package/dist/admin/menu.d.ts +1 -1
  29. package/dist/admin/menu.d.ts.map +1 -1
  30. package/dist/admin/menu.js +10 -3
  31. package/dist/admin/menu.js.map +1 -1
  32. package/dist/admin/plugins.d.ts +24 -0
  33. package/dist/admin/plugins.d.ts.map +1 -0
  34. package/dist/admin/plugins.js +312 -0
  35. package/dist/admin/plugins.js.map +1 -0
  36. package/dist/admin/routes.d.ts.map +1 -1
  37. package/dist/admin/routes.js +5 -1
  38. package/dist/admin/routes.js.map +1 -1
  39. package/dist/admin/settings-federation.d.ts +0 -25
  40. package/dist/admin/settings-federation.d.ts.map +1 -1
  41. package/dist/admin/settings-federation.js +1 -54
  42. package/dist/admin/settings-federation.js.map +1 -1
  43. package/dist/admin/settings.d.ts +2 -14
  44. package/dist/admin/settings.d.ts.map +1 -1
  45. package/dist/admin/settings.js +1 -21
  46. package/dist/admin/settings.js.map +1 -1
  47. package/dist/admin/store.d.ts +8 -1
  48. package/dist/admin/store.d.ts.map +1 -1
  49. package/dist/admin/store.js +7 -3
  50. package/dist/admin/store.js.map +1 -1
  51. package/dist/admin/templates.d.ts +2 -0
  52. package/dist/admin/templates.d.ts.map +1 -1
  53. package/dist/admin/templates.js +2 -0
  54. package/dist/admin/templates.js.map +1 -1
  55. package/dist/cli.d.ts +2 -3
  56. package/dist/cli.d.ts.map +1 -1
  57. package/dist/cli.js +278 -212
  58. package/dist/cli.js.map +1 -1
  59. package/dist/config.d.ts +20 -0
  60. package/dist/config.d.ts.map +1 -1
  61. package/dist/config.js +6 -0
  62. package/dist/config.js.map +1 -1
  63. package/dist/content/store.d.ts +6 -0
  64. package/dist/content/store.d.ts.map +1 -1
  65. package/dist/content/store.js +3 -0
  66. package/dist/content/store.js.map +1 -1
  67. package/dist/drain.d.ts +28 -0
  68. package/dist/drain.d.ts.map +1 -0
  69. package/dist/drain.js +106 -0
  70. package/dist/drain.js.map +1 -0
  71. package/dist/env.d.ts +11 -0
  72. package/dist/env.d.ts.map +1 -1
  73. package/dist/federation/federation.d.ts +4 -2
  74. package/dist/federation/federation.d.ts.map +1 -1
  75. package/dist/federation/federation.js +16 -21
  76. package/dist/federation/federation.js.map +1 -1
  77. package/dist/federation/inbox.d.ts +23 -3
  78. package/dist/federation/inbox.d.ts.map +1 -1
  79. package/dist/federation/inbox.js +63 -1
  80. package/dist/federation/inbox.js.map +1 -1
  81. package/dist/federation/index.d.ts +0 -4
  82. package/dist/federation/index.d.ts.map +1 -1
  83. package/dist/federation/index.js +0 -2
  84. package/dist/federation/index.js.map +1 -1
  85. package/dist/federation/mount.d.ts +6 -12
  86. package/dist/federation/mount.d.ts.map +1 -1
  87. package/dist/federation/mount.js +3 -50
  88. package/dist/federation/mount.js.map +1 -1
  89. package/dist/federation/queue.d.ts +22 -0
  90. package/dist/federation/queue.d.ts.map +1 -0
  91. package/dist/federation/queue.js +58 -0
  92. package/dist/federation/queue.js.map +1 -0
  93. package/dist/files/atomic.d.ts +13 -0
  94. package/dist/files/atomic.d.ts.map +1 -1
  95. package/dist/files/atomic.js +45 -0
  96. package/dist/files/atomic.js.map +1 -1
  97. package/dist/index.d.ts +30 -3
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +156 -79
  100. package/dist/index.js.map +1 -1
  101. package/dist/plugin.d.ts +524 -0
  102. package/dist/plugin.d.ts.map +1 -0
  103. package/dist/plugin.js +23 -0
  104. package/dist/plugin.js.map +1 -0
  105. package/dist/plugins/enabled.d.ts +23 -0
  106. package/dist/plugins/enabled.d.ts.map +1 -0
  107. package/dist/plugins/enabled.js +49 -0
  108. package/dist/plugins/enabled.js.map +1 -0
  109. package/dist/plugins/federation.d.ts +26 -0
  110. package/dist/plugins/federation.d.ts.map +1 -0
  111. package/dist/plugins/federation.js +114 -0
  112. package/dist/plugins/federation.js.map +1 -0
  113. package/dist/plugins/fetch.d.ts +15 -0
  114. package/dist/plugins/fetch.d.ts.map +1 -0
  115. package/dist/plugins/fetch.js +33 -0
  116. package/dist/plugins/fetch.js.map +1 -0
  117. package/dist/plugins/folder.d.ts +50 -0
  118. package/dist/plugins/folder.d.ts.map +1 -0
  119. package/dist/plugins/folder.js +171 -0
  120. package/dist/plugins/folder.js.map +1 -0
  121. package/dist/plugins/install.d.ts +45 -0
  122. package/dist/plugins/install.d.ts.map +1 -0
  123. package/dist/plugins/install.js +275 -0
  124. package/dist/plugins/install.js.map +1 -0
  125. package/dist/plugins/mount.d.ts +17 -0
  126. package/dist/plugins/mount.d.ts.map +1 -0
  127. package/dist/plugins/mount.js +44 -0
  128. package/dist/plugins/mount.js.map +1 -0
  129. package/dist/plugins/registry.d.ts +110 -0
  130. package/dist/plugins/registry.d.ts.map +1 -0
  131. package/dist/plugins/registry.js +447 -0
  132. package/dist/plugins/registry.js.map +1 -0
  133. package/dist/plugins/settings.d.ts +64 -0
  134. package/dist/plugins/settings.d.ts.map +1 -0
  135. package/dist/plugins/settings.js +219 -0
  136. package/dist/plugins/settings.js.map +1 -0
  137. package/dist/plugins/site.d.ts +17 -0
  138. package/dist/plugins/site.d.ts.map +1 -0
  139. package/dist/plugins/site.js +67 -0
  140. package/dist/plugins/site.js.map +1 -0
  141. package/dist/supervisor/primary.d.ts +47 -0
  142. package/dist/supervisor/primary.d.ts.map +1 -0
  143. package/dist/supervisor/primary.js +208 -0
  144. package/dist/supervisor/primary.js.map +1 -0
  145. package/dist/supervisor/protocol.d.ts +37 -0
  146. package/dist/supervisor/protocol.d.ts.map +1 -0
  147. package/dist/supervisor/protocol.js +29 -0
  148. package/dist/supervisor/protocol.js.map +1 -0
  149. package/dist/supervisor/supervision.d.ts +25 -0
  150. package/dist/supervisor/supervision.d.ts.map +1 -0
  151. package/dist/supervisor/supervision.js +7 -0
  152. package/dist/supervisor/supervision.js.map +1 -0
  153. package/dist/supervisor/worker.d.ts +29 -0
  154. package/dist/supervisor/worker.d.ts.map +1 -0
  155. package/dist/supervisor/worker.js +97 -0
  156. package/dist/supervisor/worker.js.map +1 -0
  157. package/dist/web/maintenance.d.ts +2 -2
  158. package/dist/web/maintenance.js +2 -2
  159. package/dist/web/negotiate.d.ts +4 -3
  160. package/dist/web/negotiate.d.ts.map +1 -1
  161. package/dist/web/negotiate.js +4 -3
  162. package/dist/web/negotiate.js.map +1 -1
  163. package/dist/web/routes.d.ts.map +1 -1
  164. package/dist/web/routes.js +33 -14
  165. package/dist/web/routes.js.map +1 -1
  166. package/package.json +10 -1
  167. package/dist/comments/conversation.d.ts +0 -29
  168. package/dist/comments/conversation.d.ts.map +0 -1
  169. package/dist/comments/conversation.js +0 -60
  170. package/dist/comments/conversation.js.map +0 -1
  171. package/dist/federation/import-wordpress.d.ts +0 -128
  172. package/dist/federation/import-wordpress.d.ts.map +0 -1
  173. package/dist/federation/import-wordpress.js +0 -426
  174. package/dist/federation/import-wordpress.js.map +0 -1
  175. package/dist/federation/wordpress.d.ts +0 -131
  176. package/dist/federation/wordpress.d.ts.map +0 -1
  177. package/dist/federation/wordpress.js +0 -342
  178. package/dist/federation/wordpress.js.map +0 -1
  179. package/dist/web/comments.d.ts +0 -60
  180. package/dist/web/comments.d.ts.map +0 -1
  181. package/dist/web/comments.js +0 -207
  182. package/dist/web/comments.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,7 +1,12 @@
1
+ import { Server as NetServer } from 'node:net';
1
2
  import { MemoryKvStore } from '@fedify/fedify';
2
3
  import { serve as serveNode } from '@hono/node-server';
3
4
  import { Hono } from 'hono';
4
5
  import { createAccessLog } from './access-log.js';
6
+ import { PLUGINS_RELOAD_PATH } from './admin/plugins.js';
7
+ import { createWriteGate } from './drain.js';
8
+ import { createSettlingQueue } from './federation/queue.js';
9
+ import { refuseWritesUnder } from './files/atomic.js';
5
10
  import { compression } from './web/compression.js';
6
11
  import { createAvatarService } from './avatars/index.js';
7
12
  import { createRetentionService } from './privacy/retention.js';
@@ -12,8 +17,12 @@ import { createContentSync, createScheduler, openContentStore } from './content/
12
17
  import { shareLocation } from './content/location.js';
13
18
  import { postLocations } from './content/locations.js';
14
19
  import { createMailService } from './mail/index.js';
20
+ import { readEnabledPlugins } from './plugins/enabled.js';
21
+ import { mountPluginRoutes, pluginLifecycle } from './plugins/mount.js';
22
+ import { pluginFederation } from './plugins/federation.js';
23
+ import { sitePluginRegistry } from './plugins/site.js';
15
24
  import { createCommentDigest, createCommentNotifier } from './notifications/index.js';
16
- import { assertActorKeysUsable, createActorProfileService, createDeliveryService, createRelayService, createSiteFederation, createWordPressFederation, migrateActorKeysToFiles, migrateFederationToFiles, mountFederation, rebuildFederationIndexes, signedProfileLoader, } from './federation/index.js';
25
+ import { assertActorKeysUsable, createActorProfileService, createDeliveryService, createRelayService, createSiteFederation, migrateActorKeysToFiles, migrateFederationToFiles, mountFederation, rebuildFederationIndexes, signedProfileLoader, } from './federation/index.js';
17
26
  import { citedPostReader } from './federation/cited-post.js';
18
27
  import { handleLearner } from './federation/handles.js';
19
28
  import { createFeedNotifier } from './notify.js';
@@ -34,7 +43,7 @@ import { createReplyContextService, createWebmentionService } from './webmention
34
43
  import { selectedTargets, syndicationCopies, syndicationTargetProblems, syndicationTargetsReader, } from './webmention/syndication.js';
35
44
  export { createFeedNotifier, NOTIFY_TIMEOUT_MS } from './notify.js';
36
45
  export { createIndexNowNotifier, defaultIndexNowBackoffMs, INDEXNOW_ENDPOINT } from './indexnow.js';
37
- export { LANGUAGE_TAG_PATTERN, COMMENT_ACTIONS, COMMENT_ADMIN_FIELDS, COMMENT_KINDS, COMMENT_SOURCES, COMMENT_STATUSES, COMMENT_TABS, COMMENTS_MODERATE_PATH, COMMENTS_PATH, COMMENTS_PER_PAGE, COMMENTS_REPLY_PATH, COMMENTS_SECTION, commentListUrl, mountCommentsScreen, pendingComments, MESSAGE_FIELDS, MESSAGE_TABS, MESSAGES_DELETE_PATH, MESSAGES_PATH, MESSAGES_PER_PAGE, MESSAGES_READ_PATH, MESSAGES_SECTION, messageListUrl, mountMessagesScreen, unreadMessages, DELIVERY_STATUSES, RELAY_STATES, ADMIN_ASSET_MAX_AGE, ADMIN_ASSET_PREFIX, ADMIN_PREFIX, ADMIN_SECTIONS, ADMIN_STATIC_DIR, ADMIN_TEMPLATES, actorSummary, addUserProblems, adminAssetResponse, adminContentSecurityPolicy, adminSecurityHeaders, akismetPanel, AKISMET_FIELDS, AKISMET_PATH, AKISMET_REMOVE, EMAIL_PATTERN, MAIL_FIELDS, MAIL_PATH, MAIL_REMOVE, MAIL_TEST_FIELDS, MAIL_TEST_PATH, MAIL_TEST_TEMPLATE, mailPanel, ARGON2_PARAMETERS, baselineSecurityHeaders, blankForm, CHANGE_PASSWORD_PATH, changePasswordProblems, clearSessionCookie, createAdminTemplateEnvironment, createLoginThrottle, createNonce, credentialProblem, clientAddress, countUsers, createUser, CSRF_FIELD, csrfTokenMatches, DASHBOARD_RECENT_POSTS, describeWait, DEFAULT_SITE_SETTINGS, DELETE_USER_PATH, deleteUser, deleteUserRefusal, deliveryRows, DOCUMENT_FILTERS, documentFilter, DOCUMENTS_PER_PAGE, editorPath, effectiveBaseUrl, EXCLUDE_KEY, DuplicateUsernameError, emailProblem, FEDERATION_FIELDS, FEDERATION_PATH, FEDERATION_RECENT, FEDERATION_SETTINGS_PATH, findAdminAsset, findBySlug, findUser, findUserById, findUserByIdentifier, followerRow, FORGOT_PATH, formatInTimezone, formFor, applyTermChange, CATEGORY_KIND, deletePath, formFromSettings, flash, GENERATED_PASSWORD_ALPHABET, GENERATED_PASSWORD_LENGTH, generatePassword, guard, hashPassword, HSTS_MAX_AGE, HSTS_VALUE, INBOX_INTERACTIONS, inboxRows, LOCKOUT_GROWTH_LIMIT, LOGIN_PATH, LOGOUT_PATH, listingUrl, listOptionsFor, listUsers, localPosts, loginKeys, MAXIMUM_USERNAME_LENGTH, migrateSettingsToFile, migrateUsersToFile, MINIMUM_PASSWORD_LENGTH, mountAdmin, mountDocumentScreens, mountFederationScreen, mountPreview, mountRecovery, mountSettings, mountTaxonomyScreens, mountUploads, mountUsers, newEditorPath, newPasswordProblem, NONCE_BYTES, openAdminStore, PAGE_KIND, PACKAGED_ADMIN_DIR, PASSWORD_CHANGED_TEMPLATE, passwordProblem, postEditorPath, POST_KIND, primaryUser, PREVIEW_PATH, readSiteSettings, RECOVERY_ANSWER, RECOVERY_FIELDS, RELAY_RETRY_PATH, RELAY_STATE_LABELS, relayList, relayRow, renamePath, renameProblem, RESEND_PATH, resendMessage, RESET_PATH, RESET_TEMPLATE, RESET_TOKEN_LIFETIME_SECONDS, resetLink, rewriteTerm, MEDIA_DELETE_PATH, MEDIA_FIELDS, MEDIA_PATH, MEDIA_PER_PAGE, MEDIA_SECTION, MEDIA_UPLOAD_PATH, mediaPageUrl, mentionsUpload, mountMediaScreen, deleteUpload, describeUpload, listUploads, referencesTo, resolveUpload, uploadMarkdown, normalizeRelayInbox, refusedUpload, refuseOversizedUpload, returnPath, SECURE_SESSION_COOKIE, SESSION_COOKIE, sessionCookieName, SESSION_ID_BYTES, sessionIdFrom, setSessionCookie, SETTINGS_FIELDS, SETTINGS_PATH, settingsFromForm, settingsFromSiteJson, settingsProblems, SETUP_PATH, siteDataPath, siteJsonFor, splitTags, storeUpload, TAG_KIND, takeFlash, TAXONOMY_FIELDS, TAXONOMY_KINDS, tooLargeMessage, updateSiteSettings, UPLOAD_ENVELOPE_BYTES, UPLOAD_FIELD, UPLOADS_PATH, setUserEmail, setUserPassword, setUserProfile, setUserWordPressActor, ConflictingActorIdError, UnknownUserError, USER_EMAIL_PATH, USER_FIELDS, USERNAME_PATTERN, usernameProblem, USERS_FILE, USERS_FILE_MODE, usersFile, USERS_PATH, usesSecureCookies, verifyPasswordHash, verifyUserPassword, writeSiteJson, } from './admin/index.js';
46
+ export { LANGUAGE_TAG_PATTERN, COMMENT_ACTIONS, COMMENT_ADMIN_FIELDS, COMMENT_KINDS, COMMENT_SOURCES, COMMENT_STATUSES, COMMENT_TABS, COMMENTS_MODERATE_PATH, COMMENTS_PATH, COMMENTS_PER_PAGE, COMMENTS_REPLY_PATH, COMMENTS_SECTION, commentListUrl, mountCommentsScreen, pendingComments, MESSAGE_FIELDS, MESSAGE_TABS, MESSAGES_DELETE_PATH, MESSAGES_PATH, MESSAGES_PER_PAGE, MESSAGES_READ_PATH, MESSAGES_SECTION, messageListUrl, mountMessagesScreen, unreadMessages, DELIVERY_STATUSES, RELAY_STATES, ADMIN_ASSET_MAX_AGE, ADMIN_ASSET_PREFIX, ADMIN_PREFIX, ADMIN_SECTIONS, ADMIN_STATIC_DIR, ADMIN_TEMPLATES, actorSummary, addUserProblems, adminAssetResponse, adminContentSecurityPolicy, adminSecurityHeaders, akismetPanel, AKISMET_FIELDS, AKISMET_PATH, AKISMET_REMOVE, EMAIL_PATTERN, MAIL_FIELDS, MAIL_PATH, MAIL_REMOVE, MAIL_TEST_FIELDS, MAIL_TEST_PATH, MAIL_TEST_TEMPLATE, mailPanel, ARGON2_PARAMETERS, baselineSecurityHeaders, blankForm, CHANGE_PASSWORD_PATH, changePasswordProblems, clearSessionCookie, createAdminTemplateEnvironment, createLoginThrottle, createNonce, credentialProblem, clientAddress, countUsers, createUser, CSRF_FIELD, csrfTokenMatches, DASHBOARD_RECENT_POSTS, describeWait, DEFAULT_SITE_SETTINGS, DELETE_USER_PATH, deleteUser, deleteUserRefusal, deliveryRows, DOCUMENT_FILTERS, documentFilter, DOCUMENTS_PER_PAGE, editorPath, effectiveBaseUrl, EXCLUDE_KEY, DuplicateUsernameError, emailProblem, FEDERATION_FIELDS, FEDERATION_PATH, FEDERATION_RECENT, FEDERATION_SETTINGS_PATH, findAdminAsset, findBySlug, findUser, findUserById, findUserByIdentifier, followerRow, FORGOT_PATH, formatInTimezone, formFor, applyTermChange, CATEGORY_KIND, deletePath, formFromSettings, flash, GENERATED_PASSWORD_ALPHABET, GENERATED_PASSWORD_LENGTH, generatePassword, guard, hashPassword, HSTS_MAX_AGE, HSTS_VALUE, INBOX_INTERACTIONS, inboxRows, LOCKOUT_GROWTH_LIMIT, LOGIN_PATH, LOGOUT_PATH, listingUrl, listOptionsFor, listUsers, localPosts, loginKeys, MAXIMUM_USERNAME_LENGTH, migrateSettingsToFile, migrateUsersToFile, MINIMUM_PASSWORD_LENGTH, mountAdmin, mountDocumentScreens, mountFederationScreen, mountPreview, mountRecovery, mountSettings, mountTaxonomyScreens, mountUploads, mountUsers, newEditorPath, newPasswordProblem, NONCE_BYTES, openAdminStore, PAGE_KIND, PACKAGED_ADMIN_DIR, PASSWORD_CHANGED_TEMPLATE, passwordProblem, postEditorPath, POST_KIND, primaryUser, PREVIEW_PATH, readSiteSettings, RECOVERY_ANSWER, RECOVERY_FIELDS, RELAY_RETRY_PATH, RELAY_STATE_LABELS, relayList, relayRow, renamePath, renameProblem, RESEND_PATH, resendMessage, RESET_PATH, RESET_TEMPLATE, RESET_TOKEN_LIFETIME_SECONDS, resetLink, rewriteTerm, MEDIA_DELETE_PATH, MEDIA_FIELDS, MEDIA_PATH, MEDIA_PER_PAGE, MEDIA_SECTION, MEDIA_UPLOAD_PATH, mediaPageUrl, mentionsUpload, mountMediaScreen, deleteUpload, describeUpload, listUploads, referencesTo, resolveUpload, uploadMarkdown, normalizeRelayInbox, refusedUpload, refuseOversizedUpload, returnPath, SECURE_SESSION_COOKIE, SESSION_COOKIE, sessionCookieName, SESSION_ID_BYTES, sessionIdFrom, setSessionCookie, SETTINGS_FIELDS, SETTINGS_PATH, settingsFromForm, settingsFromSiteJson, settingsProblems, SETUP_PATH, siteDataPath, siteJsonFor, splitTags, storeUpload, TAG_KIND, takeFlash, TAXONOMY_FIELDS, TAXONOMY_KINDS, tooLargeMessage, updateSiteSettings, UPLOAD_ENVELOPE_BYTES, UPLOAD_FIELD, UPLOADS_PATH, setUserEmail, setUserPassword, setUserProfile, setUserActorId, ConflictingActorIdError, UnknownUserError, USER_EMAIL_PATH, USER_FIELDS, USERNAME_PATTERN, usernameProblem, USERS_FILE, USERS_FILE_MODE, usersFile, USERS_PATH, usesSecureCookies, verifyPasswordHash, verifyUserPassword, writeSiteJson, } from './admin/index.js';
38
47
  // The database as a file a site may act on: where it is, how to throw it away,
39
48
  // and the two refusals a boot can raise over one. The migration machinery
40
49
  // behind them stays inside the package, because a site has no business running
@@ -55,6 +64,10 @@ export { addContactMessage, blankContactValues, CONTACT_ANCHOR, CONTACT_DATA_DIR
55
64
  export { ADDRESS_SALT_FILE, FORM_LOADED_FIELD, FORM_TRAP_FIELD, formAgeSeconds, formTimingRefusal, trapped, } from './forms/protection.js';
56
65
  export { readFileIfPresentSync, updateFileAtomically, withFileLock, writeFileAtomically, writeFileAtomicallySync, } from './files/index.js';
57
66
  export { DirectoryNotEmptyError, initSite, SITE_TEMPLATE_DIR, siteManifest } from './init.js';
67
+ export { definePlugin, HOST_API_VERSION } from './plugin.js';
68
+ export { DuplicatePluginError, pluginDataFolder } from './plugins/registry.js';
69
+ export { pluginSite } from './plugins/site.js';
70
+ export { PLUGINS_PATH } from './admin/plugins.js';
58
71
  export { describeImage, findImageVariant, generateImageVariants, imageMediaType, IMAGE_DIRECTORY, IMAGE_RECORD_NAME, IMAGE_SIZES, removeImageVariants, responsiveImages, iconSetting, manifestIcons, siteIcons, siteImageMarkup, variantUrl, VARIANT_ASSET_PREFIX, } from './images/index.js';
59
72
  export { calendarDayIn, contentFilePath, createContentSync, createScheduler, DATABASE_FILE, dateSortKey, DEFAULT_DEBOUNCE_MS, DEFAULT_TIMEZONE, defaultPermalink, documentContent, documentFrontMatter, ENCLOSURE_FRONT_MATTER_KEY, enclosureOf, freeSlug, DuplicatePermalinkError, hashDocument, htmlToText, isCaptions, isScheduled, isTrashedPath, KNOWN_FRONT_MATTER_KEYS, KNOWN_UPLOAD_TYPES, matchesSignature, MAXIMUM_DELAY_MS, MAXIMUM_QUERY_TERMS, normalizeBody, normalizeUploadType, openContentStore, parseDocument, PHOTO_FRONT_MATTER_KEY, photoAlt, photosOf, playsAsVideo, renderMarkdown, saveDocument, SCHEDULE_ORIGIN, scheduledFor, searchExpression, searchText, serializeDocument, slugify, SNIPPET_CLOSE, SNIPPET_OPEN, systemClock, systemTimers, toUtcInstant, TRANSCRIPT_TYPES, TRASH_DIRECTORY, typeForPath, UPLOAD_MEDIA_TYPES, wallClockIn, zoneLabel, } from './content/index.js';
60
73
  // Notifications: who is told about a comment, the switchboard that decides,
@@ -116,8 +129,9 @@ function openCache(resolved) {
116
129
  * database is built and read back out of the files; see {@link openCache} for
117
130
  * what happens to one this version cannot use.
118
131
  */
119
- export function createCms(config = {}) {
132
+ export function createCms(config = {}, context = {}) {
120
133
  const resolved = resolveConfig(config);
134
+ const plugins = sitePluginRegistry(resolved, context.folderPlugins);
121
135
  const { store, admin } = openCache(resolved);
122
136
  // A site upgrading from the version that kept its settings in SQLite has
123
137
  // rows nothing would read again: they become content/_data/site.json here,
@@ -314,31 +328,14 @@ export function createCms(config = {}) {
314
328
  // it (TASK-85).
315
329
  archivePosts: () => store.listPosts(),
316
330
  });
317
- // One KV store for both federations. The compatibility one (TASK-70) shares
318
- // it so that the same `Follow` redelivered to a user's own inbox and to the
319
- // WordPress path it used to have is recognised as one activity rather than
320
- // handled twice; both sets of inbox listeners are `per-origin` for the same
321
- // reason (doc-8).
322
331
  const federationKv = resolved.federation.kv ?? new MemoryKvStore();
332
+ const federationQueue = resolved.federation.queue === undefined ? createSettlingQueue() : undefined;
323
333
  const federation = createSiteFederation({
324
334
  baseUrl: resolved.baseUrl,
325
335
  ...resolved.federation,
336
+ ...(federationQueue === undefined ? {} : { queue: federationQueue }),
326
337
  kv: federationKv,
327
338
  });
328
- /**
329
- * The WordPress compatibility federation, built the first time a request
330
- * actually reaches one of the plugin's paths with the switch on.
331
- *
332
- * Lazy because almost no site will ever turn the switch on, and a second set
333
- * of dispatchers built at every boot for a setting nobody uses is work for
334
- * nothing. `mountFederation` keeps whatever this hands back.
335
- */
336
- const wordpressFederation = () => createWordPressFederation({
337
- baseUrl: resolved.baseUrl,
338
- ...resolved.federation,
339
- kv: federationKv,
340
- canonical: federation,
341
- });
342
339
  // Federation listens to the index rather than to the admin, so a post edited
343
340
  // on disk federates exactly as one saved through the editor does (doc-4).
344
341
  // It is built before the app because a handler reads it off the context: the
@@ -477,6 +474,8 @@ export function createCms(config = {}) {
477
474
  // about to get, the error pages and the 503 included (TASK-139).
478
475
  if (resolved.compression)
479
476
  app.use('*', compression());
477
+ const writes = createWriteGate({ exempt: (pathname) => pathname === PLUGINS_RELOAD_PATH });
478
+ app.use('*', writes.middleware);
480
479
  app.use('*', async (c, next) => {
481
480
  c.set('store', store);
482
481
  c.set('admin', admin);
@@ -497,8 +496,10 @@ export function createCms(config = {}) {
497
496
  c.set('redirects', redirects);
498
497
  c.set('maintenance', maintenance);
499
498
  c.set('indieauth', indieauth);
499
+ c.set('supervision', context.supervision);
500
500
  await next();
501
501
  });
502
+ app.use('*', pluginLifecycle(plugins, () => writes.refusing));
502
503
  // The baseline on everything the CMS answers, admin and public alike, and
503
504
  // outside everything below so redirects, the 503, 404s and the onError 500
504
505
  // carry it too. The admin sets stricter values of its own inside it; none of
@@ -534,9 +535,17 @@ export function createCms(config = {}) {
534
535
  // every other, so putting it in front costs the rest of the app nothing and
535
536
  // is the only place it can go: the public site claims every unmatched path
536
537
  // in its not-found handler.
537
- mountFederation(app, federation, { wordpress: wordpressFederation });
538
+ mountFederation(app, federation, {
539
+ plugins: pluginFederation({
540
+ registry: plugins,
541
+ canonical: federation,
542
+ kv: federationKv,
543
+ allowPrivateAddress: resolved.federation.allowPrivateAddress ?? false,
544
+ }),
545
+ });
538
546
  // The admin goes on before the public site, for the same reason.
539
547
  mountAdmin(app);
548
+ mountPluginRoutes(app, plugins);
540
549
  mountPublicSite(app);
541
550
  /**
542
551
  * Subscribe a site's hook to one event.
@@ -563,6 +572,67 @@ export function createCms(config = {}) {
563
572
  if (resolved.onPublish !== undefined)
564
573
  subscribe('published', resolved.onPublish);
565
574
  let server;
575
+ let releaseFiles;
576
+ /** Everything that runs on its own once the site serves, after the scan. */
577
+ async function startServices() {
578
+ // The index is brought up to date before the first request, so a site
579
+ // never serves a stale document, and the watcher takes over from there.
580
+ await content.start();
581
+ // After the scan, because the catch-up reads the index: a post whose
582
+ // date passed while nothing was running is published here, once.
583
+ await scheduler.start();
584
+ // And a reply whose target the contexts file holds nothing for is
585
+ // fetched now, in the background, for the same reason (TASK-123).
586
+ replyContexts.catchUp();
587
+ // And the avatars the conversations show are fetched or refreshed in the
588
+ // background now and on a timer from here on, so a reader almost never
589
+ // waits on a stranger's server for one (TASK-134).
590
+ avatars.start();
591
+ // And the profiles of whoever is in the inbox log without being a
592
+ // follower: missing ones are fetched now, which is the backfill of a log
593
+ // written before profiles were kept, and stale ones on a timer (TASK-184).
594
+ actorProfiles.start();
595
+ // And whatever personal data has outlived its period is removed now and
596
+ // every few hours from here on (TASK-135).
597
+ retention.start();
598
+ // The digests tick from here on. Nothing is caught up first: a digest is
599
+ // whatever is pending when a window comes up, so a site that was down
600
+ // over one simply sends the next one, with everything still waiting in it.
601
+ digests.start();
602
+ await plugins.reconcile(readEnabledPlugins(resolved.contentDir));
603
+ }
604
+ function stopTimers() {
605
+ scheduler.stop();
606
+ digests.stop();
607
+ avatars.stop();
608
+ actorProfiles.stop();
609
+ retention.stop();
610
+ }
611
+ /**
612
+ * Anything already on its way out is allowed to finish, so stopping never
613
+ * leaves a delivery half recorded or a queued one unsent.
614
+ */
615
+ async function settleQueues() {
616
+ await scheduler.settled();
617
+ await digests.settled();
618
+ await delivery.settled();
619
+ await relays.settled();
620
+ await federationQueue?.settled();
621
+ await webmentions.settled();
622
+ await replyContexts.settled();
623
+ await avatars.settled();
624
+ await actorProfiles.settled();
625
+ await retention.settled();
626
+ await notifier.settled();
627
+ }
628
+ /** What is left once the queues are empty: the mail, the image encodes, the activity log. */
629
+ async function settleWrites() {
630
+ await mail.settled();
631
+ // A page render derives an upload's variants in the background; the
632
+ // encode finishes before the directories it writes into can be removed.
633
+ await settleImageVariants(resolved);
634
+ await activityLogSettled(resolved.dataDir);
635
+ }
566
636
  return {
567
637
  app,
568
638
  config: resolved,
@@ -599,83 +669,90 @@ export function createCms(config = {}) {
599
669
  if (server !== undefined) {
600
670
  throw new Error('This CMS is already serving; call close() before serving again.');
601
671
  }
602
- // The index is brought up to date before the first request, so a site
603
- // never serves a stale document, and the watcher takes over from there.
604
- await content.start();
605
- // After the scan, because the catch-up reads the index: a post whose
606
- // date passed while nothing was running is published here, once.
607
- await scheduler.start();
608
- // And a reply whose target the contexts file holds nothing for is
609
- // fetched now, in the background, for the same reason (TASK-123).
610
- replyContexts.catchUp();
672
+ await startServices();
611
673
  // A syndication target the site declares badly is ignored everywhere,
612
674
  // and said so once here rather than on every page (TASK-155).
613
675
  for (const problem of syndicationTargetProblems(resolved.contentDir))
614
676
  console.warn(problem);
615
- // And the avatars the conversations show are fetched or refreshed in the
616
- // background now and on a timer from here on, so a reader almost never
617
- // waits on a stranger's server for one (TASK-134).
618
- avatars.start();
619
- // And the profiles of whoever is in the inbox log without being a
620
- // follower: missing ones are fetched now, which is the backfill of a log
621
- // written before profiles were kept, and stale ones on a timer (TASK-184).
622
- actorProfiles.start();
623
- // And whatever personal data has outlived its period is removed now and
624
- // every few hours from here on (TASK-135).
625
- retention.start();
626
- // The digests tick from here on. Nothing is caught up first: a digest is
627
- // whatever is pending when a window comes up, so a site that was down
628
- // over one simply sends the next one, with everything still waiting in it.
629
- digests.start();
630
677
  return new Promise((resolve) => {
631
678
  server = serveNode({ fetch: app.fetch, port: resolved.port }, (info) => {
632
679
  resolve({ port: info.port });
633
680
  });
634
681
  });
635
682
  },
683
+ async drain() {
684
+ await writes.refuse();
685
+ await plugins.reconcile(new Set());
686
+ stopTimers();
687
+ await content.stop();
688
+ await settleQueues();
689
+ await indexNow.settled();
690
+ await settleWrites();
691
+ store.setReadOnly(true);
692
+ admin.setReadOnly(true);
693
+ releaseFiles ??= refuseWritesUnder([resolved.dataDir, resolved.contentDir]);
694
+ },
695
+ async resume() {
696
+ releaseFiles?.();
697
+ releaseFiles = undefined;
698
+ store.setReadOnly(false);
699
+ admin.setReadOnly(false);
700
+ await startServices();
701
+ writes.reopen();
702
+ },
636
703
  async close() {
637
704
  const running = server;
638
705
  server = undefined;
639
- scheduler.stop();
640
- digests.stop();
641
- avatars.stop();
642
- actorProfiles.stop();
643
- retention.stop();
706
+ await plugins.close();
707
+ stopTimers();
644
708
  await content.stop();
645
- await scheduler.settled();
646
- await digests.settled();
647
- // Anything already on its way out is allowed to finish, so closing never
648
- // leaves a delivery half recorded.
649
- await delivery.settled();
650
- await relays.settled();
651
- await webmentions.settled();
652
- await replyContexts.settled();
653
- await avatars.settled();
654
- await actorProfiles.settled();
655
- await retention.settled();
656
- await notifier.settled();
709
+ await settleQueues();
657
710
  // What was gathered and not yet sent is dropped rather than sent on the
658
711
  // way down; a batch already going out finishes.
659
712
  indexNow.close();
660
713
  await indexNow.settled();
661
- await mail.settled();
662
- // A page render derives an upload's variants in the background; the
663
- // encode finishes before the directories it writes into can be removed.
664
- await settleImageVariants(resolved);
665
- await activityLogSettled(resolved.dataDir);
666
- if (running !== undefined) {
667
- await new Promise((resolve, reject) => {
668
- running.close((err) => {
669
- if (err)
670
- reject(err);
671
- else
672
- resolve();
673
- });
674
- });
675
- }
714
+ await settleWrites();
715
+ federationQueue?.close();
716
+ if (running !== undefined)
717
+ await closeServer(running, writes.refusing);
718
+ releaseFiles?.();
719
+ releaseFiles = undefined;
676
720
  admin.close();
677
721
  store.close();
678
722
  },
679
723
  };
680
724
  }
725
+ /** How long a drained server waits for its connections to end before it closes them. */
726
+ const GENTLE_CLOSE_MS = 30_000;
727
+ /**
728
+ * Stop listening and resolve once every connection has ended.
729
+ *
730
+ * A drained server closes gently. `http.Server#close` closes idle keep-alive
731
+ * connections at once, racing a client that is about to reuse one, which
732
+ * then sees a reset. `net.Server#close` leaves them: each one either carries
733
+ * `Connection: close` on its next response or ends on the keep-alive timeout
734
+ * the client was told, which a client honours by closing first.
735
+ */
736
+ function closeServer(running, gently) {
737
+ return new Promise((resolve, reject) => {
738
+ const done = (err) => {
739
+ if (err)
740
+ reject(err);
741
+ else
742
+ resolve();
743
+ };
744
+ if (!gently) {
745
+ running.close(done);
746
+ return;
747
+ }
748
+ const timer = setTimeout(() => running.closeAllConnections(), GENTLE_CLOSE_MS);
749
+ NetServer.prototype.close.call(running, (err) => {
750
+ clearTimeout(timer);
751
+ // The http server's own close clears its connection-checking interval;
752
+ // the listener is already gone, so the error it reports is expected.
753
+ running.close(() => undefined);
754
+ done(err);
755
+ });
756
+ });
757
+ }
681
758
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}