@geekity/cms 0.32.0 → 0.33.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 (99) hide show
  1. package/dist/admin/federation.d.ts +6 -2
  2. package/dist/admin/federation.d.ts.map +1 -1
  3. package/dist/admin/federation.js +14 -7
  4. package/dist/admin/federation.js.map +1 -1
  5. package/dist/admin/settings-fields.js +1 -1
  6. package/dist/admin/settings-fields.js.map +1 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +27 -18
  9. package/dist/cli.js.map +1 -1
  10. package/dist/cms/boot.d.ts +0 -10
  11. package/dist/cms/boot.d.ts.map +1 -1
  12. package/dist/cms/boot.js +7 -18
  13. package/dist/cms/boot.js.map +1 -1
  14. package/dist/config-entry.d.ts +3 -0
  15. package/dist/config-entry.d.ts.map +1 -0
  16. package/dist/config-entry.js +2 -0
  17. package/dist/config-entry.js.map +1 -0
  18. package/dist/config-loader.d.ts +10 -0
  19. package/dist/config-loader.d.ts.map +1 -1
  20. package/dist/config-loader.js +41 -24
  21. package/dist/config-loader.js.map +1 -1
  22. package/dist/config.d.ts +2 -1
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +1 -1
  25. package/dist/config.js.map +1 -1
  26. package/dist/content/index.d.ts +2 -1
  27. package/dist/content/index.d.ts.map +1 -1
  28. package/dist/content/sync.d.ts +1 -11
  29. package/dist/content/sync.d.ts.map +1 -1
  30. package/dist/content/sync.js +6 -26
  31. package/dist/content/sync.js.map +1 -1
  32. package/dist/content/tree-watch.d.ts +32 -0
  33. package/dist/content/tree-watch.d.ts.map +1 -0
  34. package/dist/content/tree-watch.js +163 -0
  35. package/dist/content/tree-watch.js.map +1 -0
  36. package/dist/content/watch-debounce.d.ts +10 -0
  37. package/dist/content/watch-debounce.d.ts.map +1 -0
  38. package/dist/content/watch-debounce.js +10 -0
  39. package/dist/content/watch-debounce.js.map +1 -0
  40. package/dist/federation/article.d.ts +5 -11
  41. package/dist/federation/article.d.ts.map +1 -1
  42. package/dist/federation/article.js +86 -42
  43. package/dist/federation/article.js.map +1 -1
  44. package/dist/federation/delivery.d.ts.map +1 -1
  45. package/dist/federation/delivery.js +14 -2
  46. package/dist/federation/delivery.js.map +1 -1
  47. package/dist/federation/federation.js +1 -1
  48. package/dist/federation/federation.js.map +1 -1
  49. package/dist/federation/inbox.d.ts.map +1 -1
  50. package/dist/federation/inbox.js +4 -7
  51. package/dist/federation/inbox.js.map +1 -1
  52. package/dist/federation/index.d.ts +1 -0
  53. package/dist/federation/index.d.ts.map +1 -1
  54. package/dist/federation/index.js +1 -0
  55. package/dist/federation/index.js.map +1 -1
  56. package/dist/federation/object-ids.d.ts +50 -0
  57. package/dist/federation/object-ids.d.ts.map +1 -0
  58. package/dist/federation/object-ids.js +134 -0
  59. package/dist/federation/object-ids.js.map +1 -0
  60. package/dist/images/icon-setting.d.ts +16 -0
  61. package/dist/images/icon-setting.d.ts.map +1 -0
  62. package/dist/images/icon-setting.js +40 -0
  63. package/dist/images/icon-setting.js.map +1 -0
  64. package/dist/images/icons.d.ts +0 -5
  65. package/dist/images/icons.d.ts.map +1 -1
  66. package/dist/images/icons.js +1 -37
  67. package/dist/images/icons.js.map +1 -1
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/plugins/site-registry.d.ts +6 -0
  73. package/dist/plugins/site-registry.d.ts.map +1 -0
  74. package/dist/plugins/site-registry.js +23 -0
  75. package/dist/plugins/site-registry.js.map +1 -0
  76. package/dist/plugins/site.d.ts +3 -7
  77. package/dist/plugins/site.d.ts.map +1 -1
  78. package/dist/plugins/site.js +3 -25
  79. package/dist/plugins/site.js.map +1 -1
  80. package/dist/site/namespace.js +1 -1
  81. package/dist/site/namespace.js.map +1 -1
  82. package/dist/store/deliveries.d.ts +2 -0
  83. package/dist/store/deliveries.d.ts.map +1 -1
  84. package/dist/store/deliveries.js +7 -0
  85. package/dist/store/deliveries.js.map +1 -1
  86. package/dist/web/conversation.d.ts.map +1 -1
  87. package/dist/web/conversation.js +46 -27
  88. package/dist/web/conversation.js.map +1 -1
  89. package/dist/web/federation-routes.d.ts.map +1 -1
  90. package/dist/web/federation-routes.js +2 -1
  91. package/dist/web/federation-routes.js.map +1 -1
  92. package/dist/web/render.d.ts.map +1 -1
  93. package/dist/web/render.js +5 -1
  94. package/dist/web/render.js.map +1 -1
  95. package/package.json +7 -3
  96. package/templates/site/geekity.config.ts +1 -1
  97. package/themes/default/partials/post-list.njk +9 -4
  98. package/themes/default/src/style.css +14 -1
  99. package/themes/default/static/style.css +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export { createSiteFederation, federatedPost, outboxPage, OUTBOX_PAGE_SIZE, SOFT
7
7
  export { followerRecipient, followersPage, FOLLOWERS_PAGE_SIZE, lastFollowersCursor, } from './followers.js';
8
8
  export { followerFrom, handleAccept, handleDelete, handleFollow, handleLoggedActivity, handleReject, handleUndo, logActivity, } from './inbox.js';
9
9
  export { ACTOR_KEY_ALGORITHMS, actorKeyFile, actorKeysDir, assertActorKeysUsable, loadActorKeyPairs, writeActorKeyFile, } from './keys.js';
10
+ export { backfillDeleted } from './object-ids.js';
10
11
  export { addFollower, appendInboxActivity, FEDERATION_DATA_DIRECTORY, federatedUsernames, followersFile, FOLLOWERS_FILE, inboxDirectory, inboxFile, inboxMonth, INBOX_DIRECTORY, inboxRowFrom, migrateFederationToFiles, readFollowers, readInboxLog, rebuildFederationIndexes, removeFollower, userDirectory, } from './records.js';
11
12
  export { acctOf, WEBFINGER_PATH } from './webfinger.js';
12
13
  export { ACTOR_PATH, createActivityId, deleteActivityId, federationOrigin, FOLLOWERS_PATH, FOLLOWING_PATH, handleHref, INBOX_PATH, NODEINFO_PATH, OUTBOX_PATH, SHARED_INBOX_PATH, updateActivityId, } from './paths.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,EACb,mBAAmB,GACpB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/federation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,EACb,mBAAmB,GACpB,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The object ids this site has sent a `Delete` for, and the ids a post was
3
+ * federated under after one of them.
4
+ *
5
+ * Mastodon keeps a `Tombstone` for every id it is sent a `Delete` of, for
6
+ * good, and from then on drops a `Create` of that id and every search that
7
+ * would fetch it. A post that comes back, published again from a draft or the
8
+ * trash or moved back to a permalink it had, therefore has to come back under
9
+ * an id nobody holds a tombstone for: its natural id (the permalink, or the
10
+ * `activitypub.id` its file names) with a revision query, `?v=2`, `?v=3`, …,
11
+ * which the permalink route ignores, so the id still dereferences to the post.
12
+ *
13
+ * Keyed by the natural id, and kept in `content/_data/federation/` beside the
14
+ * followers, because the files are the truth (decision-9): a rebuilt database
15
+ * must not forget what the fediverse has been told is gone.
16
+ */
17
+ export interface ObjectIdRecord {
18
+ readonly deleted: readonly string[];
19
+ /** The ids each natural id was federated under since, oldest first; the last is current. */
20
+ readonly reissued: Readonly<Record<string, readonly string[]>>;
21
+ }
22
+ /** Every id a post has had: its natural id, then each one it was reissued under. */
23
+ export type ObjectIds = readonly [natural: string, ...reissued: string[]];
24
+ /**
25
+ * The record, parsed once per version of the file rather than on every read:
26
+ * every object id a page or a collection names goes through here.
27
+ *
28
+ * A damaged file reads as empty, with one warning per version of it, so a
29
+ * hand edit gone wrong costs the fresh ids rather than every page and every
30
+ * fetch; {@link claimObjectId} and {@link recordDeleted} refuse to write over
31
+ * it, so nothing it held is lost.
32
+ */
33
+ export declare function readObjectIds(contentDir: string): ObjectIdRecord;
34
+ export declare function currentObjectId(record: ObjectIdRecord, naturalId: string): string;
35
+ export declare function objectIdsOf(record: ObjectIdRecord, naturalId: string): ObjectIds;
36
+ /**
37
+ * Whether `objectId` is one this site has federated the post whose natural id
38
+ * is `naturalId` under: what an inbound activity has to name to be about it.
39
+ */
40
+ export declare function isObjectIdOf(record: ObjectIdRecord, naturalId: string, objectId: string): boolean;
41
+ export declare function naturalObjectId(objectId: string): string;
42
+ export declare function recordDeleted(contentDir: string, objectId: string): Promise<void>;
43
+ /**
44
+ * Add the ids a `Delete` went out for before this file kept them, read off the
45
+ * delivery log: run at every boot, it writes only when the log names one the
46
+ * file does not, and runs before anything else can write the file.
47
+ */
48
+ export declare function backfillDeleted(contentDir: string, deletedIds: readonly string[]): void;
49
+ export declare function claimObjectId(contentDir: string, naturalId: string): Promise<string>;
50
+ //# sourceMappingURL=object-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-ids.d.ts","sourceRoot":"","sources":["../../src/federation/object-ids.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAChE;AAED,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAoB1E;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAEhE;AAmBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAEhF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjG;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAOvF;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1F"}
@@ -0,0 +1,134 @@
1
+ import { statSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { readFileIfPresentSync, withFileLock, writeFileAtomicallySync } from '../files/atomic.js';
4
+ import { messageOf } from '../util/errors.js';
5
+ import { FEDERATION_DATA_DIRECTORY } from './records.js';
6
+ const OBJECT_IDS_FILE = `${FEDERATION_DATA_DIRECTORY}/objectIds.json`;
7
+ const EMPTY = { deleted: [], reissued: {} };
8
+ const REVISION = /[?&]v=\d+$/;
9
+ function objectIdsFile(contentDir) {
10
+ return path.join(contentDir, ...OBJECT_IDS_FILE.split('/'));
11
+ }
12
+ const cache = new Map();
13
+ /**
14
+ * The record, parsed once per version of the file rather than on every read:
15
+ * every object id a page or a collection names goes through here.
16
+ *
17
+ * A damaged file reads as empty, with one warning per version of it, so a
18
+ * hand edit gone wrong costs the fresh ids rather than every page and every
19
+ * fetch; {@link claimObjectId} and {@link recordDeleted} refuse to write over
20
+ * it, so nothing it held is lost.
21
+ */
22
+ export function readObjectIds(contentDir) {
23
+ return readCached(objectIdsFile(contentDir)) ?? EMPTY;
24
+ }
25
+ function readCached(file) {
26
+ const version = versionOf(file);
27
+ const cached = cache.get(file);
28
+ if (cached?.version === version)
29
+ return cached.record;
30
+ let record;
31
+ try {
32
+ record = parseObjectIds(file);
33
+ }
34
+ catch (error) {
35
+ console.warn(`${messageOf(error)} Reading it as empty, and writing nothing to it, until it is fixed.`);
36
+ }
37
+ cache.set(file, { version, record });
38
+ return record;
39
+ }
40
+ export function currentObjectId(record, naturalId) {
41
+ return record.reissued[naturalId]?.at(-1) ?? naturalId;
42
+ }
43
+ export function objectIdsOf(record, naturalId) {
44
+ return [naturalId, ...(record.reissued[naturalId] ?? [])];
45
+ }
46
+ /**
47
+ * Whether `objectId` is one this site has federated the post whose natural id
48
+ * is `naturalId` under: what an inbound activity has to name to be about it.
49
+ */
50
+ export function isObjectIdOf(record, naturalId, objectId) {
51
+ return objectIdsOf(record, naturalId).includes(objectId);
52
+ }
53
+ export function naturalObjectId(objectId) {
54
+ return objectId.replace(REVISION, '');
55
+ }
56
+ export async function recordDeleted(contentDir, objectId) {
57
+ const file = objectIdsFile(contentDir);
58
+ await withFileLock(file, () => {
59
+ const record = parseObjectIds(file);
60
+ if (record.deleted.includes(objectId))
61
+ return;
62
+ write(file, { ...record, deleted: [...record.deleted, objectId] });
63
+ });
64
+ }
65
+ /**
66
+ * Add the ids a `Delete` went out for before this file kept them, read off the
67
+ * delivery log: run at every boot, it writes only when the log names one the
68
+ * file does not, and runs before anything else can write the file.
69
+ */
70
+ export function backfillDeleted(contentDir, deletedIds) {
71
+ const file = objectIdsFile(contentDir);
72
+ const record = readCached(file);
73
+ if (record === undefined)
74
+ return;
75
+ const missing = [...new Set(deletedIds)].filter((id) => !record.deleted.includes(id));
76
+ if (missing.length === 0)
77
+ return;
78
+ write(file, { ...record, deleted: [...record.deleted, ...missing] });
79
+ }
80
+ export async function claimObjectId(contentDir, naturalId) {
81
+ const file = objectIdsFile(contentDir);
82
+ return await withFileLock(file, () => {
83
+ const record = parseObjectIds(file);
84
+ const current = currentObjectId(record, naturalId);
85
+ if (!record.deleted.includes(current))
86
+ return current;
87
+ const reissued = record.reissued[naturalId] ?? [];
88
+ const fresh = withRevision(naturalId, reissued.length + 2);
89
+ write(file, { ...record, reissued: { ...record.reissued, [naturalId]: [...reissued, fresh] } });
90
+ return fresh;
91
+ });
92
+ }
93
+ function withRevision(naturalId, revision) {
94
+ return `${naturalId}${naturalId.includes('?') ? '&' : '?'}v=${String(revision)}`;
95
+ }
96
+ function versionOf(file) {
97
+ const stats = statSync(file, { throwIfNoEntry: false });
98
+ return stats === undefined
99
+ ? ''
100
+ : `${String(stats.ino)}:${String(stats.size)}:${String(stats.mtimeMs)}`;
101
+ }
102
+ function parseObjectIds(file) {
103
+ const source = readFileIfPresentSync(file);
104
+ if (source === undefined)
105
+ return EMPTY;
106
+ let parsed;
107
+ try {
108
+ parsed = JSON.parse(source);
109
+ }
110
+ catch (error) {
111
+ throw new Error(`${file} could not be read as JSON: ${messageOf(error)}.`, { cause: error });
112
+ }
113
+ if (!isObjectIdRecord(parsed)) {
114
+ throw new Error(`${file} should hold "deleted", a list of ids, and "reissued", ids by id.`);
115
+ }
116
+ return parsed;
117
+ }
118
+ function write(file, record) {
119
+ writeFileAtomicallySync(file, `${JSON.stringify(record, null, 2)}\n`);
120
+ cache.set(file, { version: versionOf(file), record });
121
+ }
122
+ function isObjectIdRecord(value) {
123
+ if (typeof value !== 'object' || value === null)
124
+ return false;
125
+ const { deleted, reissued } = value;
126
+ return (isStringList(deleted) &&
127
+ typeof reissued === 'object' &&
128
+ reissued !== null &&
129
+ Object.values(reissued).every(isStringList));
130
+ }
131
+ function isStringList(value) {
132
+ return Array.isArray(value) && value.every((entry) => typeof entry === 'string');
133
+ }
134
+ //# sourceMappingURL=object-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-ids.js","sourceRoot":"","sources":["../../src/federation/object-ids.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The extensions an icon may be derived from.
3
+ *
4
+ * Wider than the responsive variants' set — an SVG has no pixels to resize but
5
+ * rasterises to a square perfectly well, and only the first frame of a GIF was
6
+ * ever going to be a favicon — and narrower than "anything sharp might open",
7
+ * so a site whose icon setting points at a PDF links no icons rather than
8
+ * three that 404.
9
+ */
10
+ export declare const ICON_SOURCES: ReadonlySet<string>;
11
+ export declare function parseIconSetting(setting: string): {
12
+ source: string;
13
+ } | {
14
+ problem: 'not-an-upload' | 'not-an-image';
15
+ };
16
+ //# sourceMappingURL=icon-setting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-setting.d.ts","sourceRoot":"","sources":["../../src/images/icon-setting.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAU3C,CAAC;AAEH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,eAAe,GAAG,cAAc,CAAA;CAAE,CAcpE"}
@@ -0,0 +1,40 @@
1
+ import path from 'node:path';
2
+ import { UPLOAD_ASSET_PREFIX } from '../content/uploads.js';
3
+ /**
4
+ * The extensions an icon may be derived from.
5
+ *
6
+ * Wider than the responsive variants' set — an SVG has no pixels to resize but
7
+ * rasterises to a square perfectly well, and only the first frame of a GIF was
8
+ * ever going to be a favicon — and narrower than "anything sharp might open",
9
+ * so a site whose icon setting points at a PDF links no icons rather than
10
+ * three that 404.
11
+ */
12
+ export const ICON_SOURCES = new Set([
13
+ '.avif',
14
+ '.gif',
15
+ '.jpeg',
16
+ '.jpg',
17
+ '.png',
18
+ '.svg',
19
+ '.tif',
20
+ '.tiff',
21
+ '.webp',
22
+ ]);
23
+ export function parseIconSetting(setting) {
24
+ if (!setting.startsWith(UPLOAD_ASSET_PREFIX))
25
+ return { problem: 'not-an-upload' };
26
+ const relative = setting.slice(UPLOAD_ASSET_PREFIX.length);
27
+ if (relative === '' || relative.includes('..'))
28
+ return { problem: 'not-an-upload' };
29
+ if (!ICON_SOURCES.has(path.extname(relative).toLowerCase()))
30
+ return { problem: 'not-an-image' };
31
+ // The setting holds a URL and the lookup wants a path, so whatever the
32
+ // upload endpoint encoded comes off again here.
33
+ try {
34
+ return { source: relative.split('/').map(decodeURIComponent).join('/') };
35
+ }
36
+ catch {
37
+ return { problem: 'not-an-upload' };
38
+ }
39
+ }
40
+ //# sourceMappingURL=icon-setting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-setting.js","sourceRoot":"","sources":["../../src/images/icon-setting.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IACvD,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAC9B,OAAe;IAEf,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAElF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IACpF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAEhG,uEAAuE;IACvE,gDAAgD;IAChD,IAAI,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -75,9 +75,4 @@ export declare function manifestIcons(config: ImageConfig, setting: string | und
75
75
  * is.
76
76
  */
77
77
  export declare function deriveSiteIcon(config: ImageConfig, source: string, name: string): Promise<boolean>;
78
- export declare function parseIconSetting(setting: string): {
79
- source: string;
80
- } | {
81
- problem: 'not-an-upload' | 'not-an-image';
82
- };
83
78
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/images/icons.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAiCD,8CAA8C;AAC9C,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAiD1C,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAK1F;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,SAAS,CAEpB;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,CAiBtF;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,EAAE,CAiB9F;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAiGD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,eAAe,GAAG,cAAc,CAAA;CAAE,CAcpE"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/images/icons.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAiCD,8CAA8C;AAC9C,eAAO,MAAM,YAAY,gBAAgB,CAAC;AA4B1C,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAK1F;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,SAAS,CAEpB;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,CAiBtF;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,EAAE,CAiB9F;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -3,6 +3,7 @@ import path from 'node:path';
3
3
  import sharp from 'sharp';
4
4
  import { UPLOAD_ASSET_PREFIX, VARIANT_ASSET_PREFIX } from '../content/uploads.js';
5
5
  import { writeFileAtomically } from '../files/atomic.js';
6
+ import { ICON_SOURCES, parseIconSetting } from './icon-setting.js';
6
7
  import { derivedDir, sourceFile, sourceVersion, versioned } from './paths.js';
7
8
  /**
8
9
  * Every file derived from the site's icon, by the name it is served under.
@@ -45,26 +46,6 @@ const MANIFEST_ICONS = [
45
46
  * a circle of 40% radius, so the picture is drawn 80% wide in the middle.
46
47
  */
47
48
  const MASKABLE_SAFE_ZONE = 0.8;
48
- /**
49
- * The extensions an icon may be derived from.
50
- *
51
- * Wider than the responsive variants' set — an SVG has no pixels to resize but
52
- * rasterises to a square perfectly well, and only the first frame of a GIF was
53
- * ever going to be a favicon — and narrower than "anything sharp might open",
54
- * so a site whose icon setting points at a PDF links no icons rather than
55
- * three that 404.
56
- */
57
- const ICON_SOURCES = new Set([
58
- '.avif',
59
- '.gif',
60
- '.jpeg',
61
- '.jpg',
62
- '.png',
63
- '.svg',
64
- '.tif',
65
- '.tiff',
66
- '.webp',
67
- ]);
68
49
  /** Whether a derived filename names an icon this site offers. */
69
50
  export function isDerivedIcon(file) {
70
51
  return DERIVED_ICONS.has(file);
@@ -244,23 +225,6 @@ function squareSizes(size) {
244
225
  function isSvg(source) {
245
226
  return path.extname(source).toLowerCase() === '.svg';
246
227
  }
247
- export function parseIconSetting(setting) {
248
- if (!setting.startsWith(UPLOAD_ASSET_PREFIX))
249
- return { problem: 'not-an-upload' };
250
- const relative = setting.slice(UPLOAD_ASSET_PREFIX.length);
251
- if (relative === '' || relative.includes('..'))
252
- return { problem: 'not-an-upload' };
253
- if (!ICON_SOURCES.has(path.extname(relative).toLowerCase()))
254
- return { problem: 'not-an-image' };
255
- // The setting holds a URL and the lookup wants a path, so whatever the
256
- // upload endpoint encoded comes off again here.
257
- try {
258
- return { source: relative.split('/').map(decodeURIComponent).join('/') };
259
- }
260
- catch {
261
- return { problem: 'not-an-upload' };
262
- }
263
- }
264
228
  function iconSource(setting) {
265
229
  if (setting === undefined)
266
230
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/images/icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/images/icons.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './exports.ts';
2
- export { settleConfig } from './cms/boot.ts';
2
+ export { settleConfig } from './config-loader.ts';
3
3
  export { createCms } from './cms/create.ts';
4
4
  export type { Cms, ServeContext } from './cms/create.ts';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './exports.js';
2
- export { settleConfig } from './cms/boot.js';
2
+ export { settleConfig } from './config-loader.js';
3
3
  export { createCms } from './cms/create.js';
4
4
  //# 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":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ResolvedConfig } from '../config.ts';
2
+ import type { SettingsRegistry } from '../settings/types.ts';
3
+ import type { InstalledPlugin, PluginRegistry } from './registry.ts';
4
+ /** Every plugin the site config installs, and those from the plugins folder, registered. */
5
+ export declare function sitePluginRegistry(config: ResolvedConfig, folderPlugins: readonly InstalledPlugin[], settings: SettingsRegistry): PluginRegistry;
6
+ //# sourceMappingURL=site-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-registry.d.ts","sourceRoot":"","sources":["../../src/plugins/site-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAErE,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,SAAS,eAAe,EAAE,EACzC,QAAQ,EAAE,gBAAgB,GACzB,cAAc,CAqBhB"}
@@ -0,0 +1,23 @@
1
+ import { SITE } from '../site/namespace.js';
2
+ import { createPluginRegistry } from './registry.js';
3
+ /** Every plugin the site config installs, and those from the plugins folder, registered. */
4
+ export function sitePluginRegistry(config, folderPlugins, settings) {
5
+ return createPluginRegistry([
6
+ ...config.plugins.map((plugin, index) => ({
7
+ plugin,
8
+ source: `the site config, plugins[${String(index)}]`,
9
+ })),
10
+ ...folderPlugins,
11
+ ], {
12
+ dataDir: config.dataDir,
13
+ contentDir: config.contentDir,
14
+ settings,
15
+ allowPrivateAddress: config.federation.allowPrivateAddress ?? false,
16
+ lookup: config.hostLookup,
17
+ siteInfo: async () => ({
18
+ baseUrl: config.baseUrl,
19
+ title: await settings.get(SITE.title),
20
+ }),
21
+ });
22
+ }
23
+ //# sourceMappingURL=site-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-registry.js","sourceRoot":"","sources":["../../src/plugins/site-registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,4FAA4F;AAC5F,MAAM,UAAU,kBAAkB,CAChC,MAAsB,EACtB,aAAyC,EACzC,QAA0B;IAE1B,OAAO,oBAAoB,CACzB;QACE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM;YACN,MAAM,EAAE,4BAA4B,MAAM,CAAC,KAAK,CAAC,GAAG;SACrD,CAAC,CAAC;QACH,GAAG,aAAa;KACjB,EACD;QACE,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ;QACR,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,mBAAmB,IAAI,KAAK;QACnE,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;SACtC,CAAC;KACH,CACF,CAAC;AACJ,CAAC"}
@@ -1,16 +1,12 @@
1
1
  /**
2
2
  * The site as a plugin reaches it (decision-33): the accounts, keys and
3
- * followers behind {@link PluginSite}, and the registry a site's config
4
- * installs. Shared by requests and the command line, so a plugin's command
5
- * and its federation read the same files the same way.
3
+ * followers behind {@link PluginSite}. Shared by requests and the command
4
+ * line, so a plugin's command and its federation read the same files the same
5
+ * way.
6
6
  */
7
7
  import type { AdminStore } from '../store/admin-store.ts';
8
8
  import type { ResolvedConfig } from '../config.ts';
9
9
  import type { PluginSite } from '../plugin.ts';
10
- import type { SettingsRegistry } from '../settings/types.ts';
11
- import type { InstalledPlugin, PluginRegistry } from './registry.ts';
12
- /** Every plugin the site config installs, and those from the plugins folder, registered. */
13
- export declare function sitePluginRegistry(config: ResolvedConfig, folderPlugins: readonly InstalledPlugin[], settings: SettingsRegistry): PluginRegistry;
14
10
  export declare function pluginSite(options: {
15
11
  admin: AdminStore;
16
12
  config: ResolvedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../src/plugins/site.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAErE,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,SAAS,eAAe,EAAE,EACzC,QAAQ,EAAE,gBAAgB,GACzB,cAAc,CAqBhB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAAG,UAAU,CAwE7F"}
1
+ {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../src/plugins/site.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,cAAc,CAAC;AAG9D,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAAG,UAAU,CAwE7F"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * The site as a plugin reaches it (decision-33): the accounts, keys and
3
- * followers behind {@link PluginSite}, and the registry a site's config
4
- * installs. Shared by requests and the command line, so a plugin's command
5
- * and its federation read the same files the same way.
3
+ * followers behind {@link PluginSite}. Shared by requests and the command
4
+ * line, so a plugin's command and its federation read the same files the same
5
+ * way.
6
6
  */
7
7
  import path from 'node:path';
8
8
  import { importedFields } from '../store/admin-store.js';
@@ -13,29 +13,7 @@ import { readFileIfPresentSync } from '../files/atomic.js';
13
13
  import { actorKeyFile, loadActorKeyPairs, writeActorKeyFile } from '../federation/keys.js';
14
14
  import { addFollower, readFollowers } from '../federation/records.js';
15
15
  import { acceptUpload, refusedUpload } from '../media/uploads.js';
16
- import { SITE } from '../site/namespace.js';
17
16
  import { listUsers, setUserActorId } from '../site/users.js';
18
- import { createPluginRegistry } from './registry.js';
19
- /** Every plugin the site config installs, and those from the plugins folder, registered. */
20
- export function sitePluginRegistry(config, folderPlugins, settings) {
21
- return createPluginRegistry([
22
- ...config.plugins.map((plugin, index) => ({
23
- plugin,
24
- source: `the site config, plugins[${String(index)}]`,
25
- })),
26
- ...folderPlugins,
27
- ], {
28
- dataDir: config.dataDir,
29
- contentDir: config.contentDir,
30
- settings,
31
- allowPrivateAddress: config.federation.allowPrivateAddress ?? false,
32
- lookup: config.hostLookup,
33
- siteInfo: async () => ({
34
- baseUrl: config.baseUrl,
35
- title: await settings.get(SITE.title),
36
- }),
37
- });
38
- }
39
17
  export function pluginSite(options) {
40
18
  const { admin, config } = options;
41
19
  const { contentDir, dataDir } = config;
@@ -1 +1 @@
1
- {"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/plugins/site.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/plugins/site.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { classifyLicense, isLicenseUrl, NO_LICENSE } from '../content/license.js
4
4
  import { canonicalLocale } from '../content/locale.js';
5
5
  import { LOCATION_SHARING } from '../content/location.js';
6
6
  import { DEFAULT_TAXONOMY_BASES, taxonomyBaseProblems, taxonomyRedirectsOf, } from '../content/taxonomy.js';
7
- import { parseIconSetting } from '../images/icons.js';
7
+ import { parseIconSetting } from '../images/icon-setting.js';
8
8
  import { sourceFile } from '../images/paths.js';
9
9
  import { MAIL_PROVIDERS } from '../mail/provider.js';
10
10
  import { declareNamespace } from '../settings/declare.js';