Repository navigation
feat: the content-link-check plugin - #15
Merged
Merged
Conversation
A scheduled check of the links in EmDash content, moved over from the private poc repository (at fd21fe5) as fresh commits: broken links, dead domains and redirects, reported only once they persist; one check per distinct link; every run inside a sandboxed plugin's 10 bridge calls and Workers Free's 50 D1 queries and 50 outbound subrequests. Brought in line with the other packages here: private until its first release, the registry scripts renamed so npm publish does not trigger a registry publish, prepublishOnly builds, 30 s test timeouts with serial test files, a peer range with a floor and no ceiling, and plugin-test 0.2.3 (EmDash 0.40.1). packages/shared needs no change: link-check uses chain.ts, listCollections, the roles and clampNumber, all already here.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Imports the content-link-check plugin from the private proof-of-concept repository at
fd21fe5, as fresh files rather than its history, the same way analytics and content-freshness came across. Nothing is published: the package stays"private": trueand there is no changeset.What is in it
packages/content-link-check:@eisbachcode/emdash-plugin-content-link-check. A scheduled check of the links in published entries, internal and outbound. It reports broken links, dead domains and internal redirects, but only once they persist. A 401, 403 or 429 is never reported, and a rate-limited host is left alone until itsRetry-After. Each distinct link is checked once per sweep. Every run stays inside a sandboxed plugin's 10 bridge calls, and in-process inside Workers Free's 50 D1 queries and 50 outbound subrequests. It reports and never edits (content:read,schema:read,network:request:unrestricted). See its README.packages/shared: no change. Link-check useschain.ts,listCollections(), the roles andclampNumber, all already here and identical to the proof of concept's.registry:publishandregistry:loginreplace the generatedpublishandlogin;prepublishOnlybuilds the package;Verified
emdash-plugin validate, typecheck, build.fd21fe5does not exist in this repository.Before the first release
Per AGENTS.md "Releases", a separate PR will remove
privateand add the first changeset, and the first publish is manual, because npm's trusted-publisher setting needs the package to exist. Until then, the changeset bot's "No Changeset found" on this PR is expected.