Repository navigation
fix(deps): resolve a single compatible js-yaml so the Astro build completes - #46
Open
polylane[bot] wants to merge 1 commit into
Open
polylane[bot] wants to merge 1 commit into
polylane[bot] wants to merge 1 commit into
Conversation
|
|
scotwells
previously approved these changes
Oct 28, 2026
This was referenced Nov 1, 2026
ecv
force-pushed
the
polylane/autofix/2zvek9jffc9d
branch
from
November 9, 2026 13:14
32a0213 to
3e906e0
Compare
ecv
force-pushed
the
polylane/autofix/2zvek9jffc9d
branch
from
November 9, 2026 13:26
3e906e0 to
6080e5e
Compare
This was referenced Nov 10, 2026
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.
The GitHub Pages deploy for cloudvalid.com failed on every build because the static site could not load its YAML parser. The dependency install put two js-yaml majors in place, and the one Node picked for the externalized import has no default export, so static route generation stopped and nothing deployed. With a single js-yaml 4.x at the top level the build completes and the site deploys.
Detection evidence
Affected:
int_17ad4b457001o98datdn4tkmWhy this fix
The committed lockfile hoisted
markdownlint-cli2's js-yaml 5.2.2 (an ESM-only package with no default export) to the top level, while astro kept a nested 4.x copy. Astro's prerender chunk keepsimport yaml from "js-yaml"externalized, so Node resolved it to the hoisted 5.2.2 and the build aborted at "generating static routes". Pinning the top level to js-yaml 4.x restores the CommonJS copy with the default export astro expects. The main remaining check is the green CI run, which is only observable on GitHub after this merges.Fix walkthrough
Watch the fix explained (1:22). Recorded for commit
3e906e0a7b66e6ec0e96952f0e47249cbc6bd4b8.Out of scope
server.mjsis a different mechanism on the same repository and is tracked by its own issue.Production impact: Astro build completes with a single js-yaml 4.x
The change is confined to the dependency graph of datum-cloud/cloudvalid.com (package.json overrides plus a lockfile regeneration). It pins js-yaml to a single CommonJS 4.x copy, which is the version astro and starlight declare and the version that provides the default export the externalized import needs. I reproduced the failing
bun install && bun run buildand the passing build after the change;bun run lintstays green because markdownlint-cli2 uses only the namedloadexport present in 4.x. No deployed resource graph nodes are connected to this workspace, so no resource behavior is degraded.Observability
Deploy Astro site to Pages->Build with Astrostep: exit code and thegenerating static routeslog line show whether the build completes.node_modules/js-yaml/package.jsonversion shows the single resolved major.Polylane assessed this pull request at
32a0213.Causal chain
import yaml from "js-yaml"externalized. At runtime Node resolves the bare specifier from dist/.prerender/ upward to the hoisted node_modules/js-yaml, which bun resolved to the ESM-only js-yaml 5.2.2 (no default export), so the default import throws and static route generation aborts.defaultfor 5.2.2; 4.3.1 supplies both default and namedloadGenerated by Polylane. You can ask follow-ups by mentioning @polylane in a comment.