fix(e2e): harden Obsidian runner lifecycle#254
Merged
Conversation
Deploying podnotes with
|
| Latest commit: |
38d6502
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://684ffb02.podnotes.pages.dev |
| Branch Preview URL: | https://chore-typecheck-obsidian-e2e.podnotes.pages.dev |
chhoumann
marked this pull request as ready for review
July 10, 2026 00:54
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.
Strictly type-check every JavaScript file in the Obsidian E2E runner subsystem and harden the lifecycle defects the new checks exposed.
This adds shared JSDoc declarations and structural unknown-error guards, enables
checkJsfor all script MJS files, and reduces the runner diagnostic baseline from 121 to zero withoutany, TypeScript suppressions, lint suppressions, or weakened strictness.Three defects were reproduced with failing tests before correction:
userDataPath, so exported resolver/launcher composition could emit--user-data-dir=undefined; the path is now derived once withobsidianHomeESRCHnow means dead,EPERMmeans alive, and other errors abort cleanupMalformed registry entries are filtered structurally, parser option keys are exhaustive, child-process output is explicitly UTF-8, collections and injected dependencies have exact contracts, and the production ES2020 target remains unchanged. The test/tool library is raised only to ES2021 for the Node 22 runners.
Validation:
node scripts/*.mjs --helpentry points pass6f593e89c049bc84a8a9b3da90a5f002ccc5b8e1066ae05aef671dbc12cd5ebcReal runtime proof:
podnotes-podnotesdev:errorsreported no errorsTwo independent read-only reviews found and then cleared the array-guard issue. Final verdict: no actionable findings.