Repository navigation
Conversation
Sources with "options": { "down": true } in a generator's sources.json
were still generated and published as working plugins, so dead sites
showed up in the app and failed (e.g. in global search). Every generator
now filters its list through a shared activeSources helper that skips
them and logs which ones were skipped. The entries stay in sources.json.
This currently removes 36 down sources from the generated plugins.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
[Medium impact] The change affects which multisource plugins appear in new catalogs. Safe to merge with a non-blocking cleanup gap in the playground command. Findings
SummaryAdds
Reviews (1) · Last reviewed commit: "feat(multisrc): skip sources marked down" · Reviewed by Greptile |
dev:start runs generation without clean:multisrc, so plugins of sources that are now skipped (marked down) or renamed stayed on disk and in the playground. Each generator's old files are removed once generateAll has succeeded, so a broken generator keeps its output. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Sources marked
"options": { "down": true }in a generator'ssources.jsonwere still generated and published as working plugins: no generator and neithergenerate-multisrc-plugins.jsnorbuild-plugin-manifest.jsread the flag. Dead sites therefore stayed in the app's plugin list and failed when used, e.g. in global search (JSON Parse error: Unexpected character: <for EzNovels and MTL Novel (RU)). This was raised in the review of #2746.Changes
plugins/multisrc/activeSources.js: a small helper that filters out sources withoptions.downand logs which ones were skipped ([madara]: Skipping down source …).const list = activeSources(allSources, '<generator>')), a two-line change each. The entries stay insources.json, so marking and unmarking a source keeps working as before.generate-multisrc-plugins.jsremoves each generator's previous output before writing the new one (only aftergenerateAllsucceeded).dev:startruns generation withoutclean:multisrc, so otherwise skipped or renamed sources would linger in an existing checkout and in the playground.This currently stops generating 36 sources that are already marked down (18 madara, 7 lightnovelwp, 4 hotnovelpub, 3 webnovelworld, 2 readwn, 1 fictioneer, 1 mtlnovel). Users who already installed one keep it; it just disappears from the published list.
Testing
npm run build:multisrcbefore/after: 162 → 126 generated plugins; exactly the 36 down sources disappear, none are added, all 13 generators run without errors and log the skipped sources.tsc+build:manifest): the manifest no longer contains the down sources (285 plugins); working sources are unchanged.dev:startdoes) over leftover files of EzNovels, MTL Novel (RU) and a renamed source removes them and leaves exactly the 126 current plugins; standalone plugins are untouched, and a generator that throws keeps its previous output.npm run linton the changed files passes.Related: #2746 (review comment "Dead sources still look available").
Checklist
type(scope): description(e.g.feat(<generator>): add new source)This change was written with an AI coding agent (Claude Code) and reviewed and tested by the author.
🤖 Generated with Claude Code