feat: install and configure @rmdes/indiekit-endpoint-microsub

Adds Microsub social reader endpoint at /microsub, enabling feed
subscription and management via the Microsub protocol.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
svemagie
2026-03-10 08:16:12 +01:00
parent 038b94a606
commit 1be5baa60f
3 changed files with 56 additions and 0 deletions
+4
View File
@@ -311,6 +311,7 @@ export default {
"@rmdes/indiekit-endpoint-activitypub", "@rmdes/indiekit-endpoint-activitypub",
"@rmdes/indiekit-endpoint-youtube", "@rmdes/indiekit-endpoint-youtube",
"@rmdes/indiekit-endpoint-blogroll", "@rmdes/indiekit-endpoint-blogroll",
"@rmdes/indiekit-endpoint-microsub",
], ],
"@indiekit/store-github": { "@indiekit/store-github": {
user: githubUsername, user: githubUsername,
@@ -432,5 +433,8 @@ export default {
maxItemAge: 7, maxItemAge: 7,
fetchTimeout: 15000, fetchTimeout: 15000,
}, },
"@rmdes/indiekit-endpoint-microsub": {
mountPath: "/microsub",
},
}; };
+51
View File
@@ -21,6 +21,7 @@
"@rmdes/indiekit-endpoint-github": "^1.2.3", "@rmdes/indiekit-endpoint-github": "^1.2.3",
"@rmdes/indiekit-endpoint-homepage": "^1.0.22", "@rmdes/indiekit-endpoint-homepage": "^1.0.22",
"@rmdes/indiekit-endpoint-lastfm": "^1.0.12", "@rmdes/indiekit-endpoint-lastfm": "^1.0.12",
"@rmdes/indiekit-endpoint-microsub": "^1.0.43",
"@rmdes/indiekit-endpoint-podroll": "^1.0.11", "@rmdes/indiekit-endpoint-podroll": "^1.0.11",
"@rmdes/indiekit-endpoint-posts": "^1.0.0-beta.25", "@rmdes/indiekit-endpoint-posts": "^1.0.0-beta.25",
"@rmdes/indiekit-endpoint-webmention-io": "^1.0.7", "@rmdes/indiekit-endpoint-webmention-io": "^1.0.7",
@@ -2467,6 +2468,47 @@
"@indiekit/indiekit": ">=1.0.0-beta.25" "@indiekit/indiekit": ">=1.0.0-beta.25"
} }
}, },
"node_modules/@rmdes/indiekit-endpoint-microsub": {
"version": "1.0.43",
"resolved": "https://registry.npmjs.org/@rmdes/indiekit-endpoint-microsub/-/indiekit-endpoint-microsub-1.0.43.tgz",
"integrity": "sha512-Af3Hd3eOvo/wZjENnWKFI+nQ/qGt5ixL3QJ7hMpqPf5nf45GYHGl8YtJf1i2XWQ2CRS62bp1mW1W39XUuAHuvA==",
"license": "MIT",
"dependencies": {
"@indiekit/error": "^1.0.0-beta.25",
"@indiekit/frontend": "^1.0.0-beta.25",
"@indiekit/util": "^1.0.0-beta.25",
"debug": "^4.3.2",
"express": "^5.0.0",
"feedparser": "^2.2.10",
"htmlparser2": "^9.0.0",
"ioredis": "^5.3.0",
"luxon": "^3.4.0",
"microformats-parser": "^2.0.0",
"sanitize-html": "^2.11.0"
},
"engines": {
"node": ">=20"
}
},
"node_modules/@rmdes/indiekit-endpoint-microsub/node_modules/htmlparser2": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz",
"integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==",
"funding": [
"https://github.com/fb55/htmlparser2?sponsor=1",
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
],
"license": "MIT",
"dependencies": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.3",
"domutils": "^3.1.0",
"entities": "^4.5.0"
}
},
"node_modules/@rmdes/indiekit-endpoint-podroll": { "node_modules/@rmdes/indiekit-endpoint-podroll": {
"version": "1.0.11", "version": "1.0.11",
"resolved": "https://registry.npmjs.org/@rmdes/indiekit-endpoint-podroll/-/indiekit-endpoint-podroll-1.0.11.tgz", "resolved": "https://registry.npmjs.org/@rmdes/indiekit-endpoint-podroll/-/indiekit-endpoint-podroll-1.0.11.tgz",
@@ -6164,6 +6206,15 @@
"node": "20 || >=22" "node": "20 || >=22"
} }
}, },
"node_modules/luxon": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz",
"integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==",
"license": "MIT",
"engines": {
"node": ">=12"
}
},
"node_modules/make-fetch-happen": { "node_modules/make-fetch-happen": {
"version": "15.0.4", "version": "15.0.4",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.4.tgz", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.4.tgz",
+1
View File
@@ -33,6 +33,7 @@
"@rmdes/indiekit-endpoint-github": "^1.2.3", "@rmdes/indiekit-endpoint-github": "^1.2.3",
"@rmdes/indiekit-endpoint-homepage": "^1.0.22", "@rmdes/indiekit-endpoint-homepage": "^1.0.22",
"@rmdes/indiekit-endpoint-lastfm": "^1.0.12", "@rmdes/indiekit-endpoint-lastfm": "^1.0.12",
"@rmdes/indiekit-endpoint-microsub": "^1.0.43",
"@rmdes/indiekit-endpoint-podroll": "^1.0.11", "@rmdes/indiekit-endpoint-podroll": "^1.0.11",
"@rmdes/indiekit-endpoint-posts": "^1.0.0-beta.25", "@rmdes/indiekit-endpoint-posts": "^1.0.0-beta.25",
"@rmdes/indiekit-endpoint-webmention-io": "^1.0.7", "@rmdes/indiekit-endpoint-webmention-io": "^1.0.7",