Skip to content

fix: un-ignore vendored theme's FontAwesome/Bootstrap JS files - #73

Merged
scriptautomate-bc merged 1 commit into
saltstack:mainfrom
scriptautomate-bc:fix/vendor-node-modules-gitignore
Aug 21, 2026
Merged

scriptautomate-bc merged 1 commit into
saltstack:mainfrom
scriptautomate-bc:fix/vendor-node-modules-gitignore

Conversation

@scriptautomate-bc

Copy link
Copy Markdown
Contributor

.gitignore's node_modules/ rule (meant for a top-level npm install, from before the theme was vendored) also matched the theme's vendored npm-mounted files at any depth:

_vendor/.../pydata-hugo-theme/node_modules/@fortawesome/.../all.min.js
_vendor/.../pydata-hugo-theme/node_modules/bootstrap/.../bootstrap.bundle.min.js

git silently skips ignored paths on git add, so every re-vendoring commit this cycle quietly omitted these two files -- they existed locally (from local npm ci runs) so local builds always looked fine, but a fresh CI checkout never had them. The theme's head/fontawesome.html and head/bootstrap-js.html partials wrap the lookup in {{ with resources.Get ... }}, which silently emits nothing when the resource is missing -- no build error, just a deployed site missing the FontAwesome icon-kit JS and Bootstrap's JS bundle (dropdowns) entirely. This is why CI reported success on the build that's currently live and broken.

Narrow the gitignore rule to the repo root only (/node_modules/) and force-add the two files. Confirmed via a full audit (diff of every file on disk under _vendor/ vs every file git tracks there) that these were the only two files affected.

.gitignore's node_modules/ rule (meant for a top-level npm install,
from before the theme was vendored) also matched the theme's
*vendored* npm-mounted files at any depth:

  _vendor/.../pydata-hugo-theme/node_modules/@fortawesome/.../all.min.js
  _vendor/.../pydata-hugo-theme/node_modules/bootstrap/.../bootstrap.bundle.min.js

git silently skips ignored paths on `git add`, so every re-vendoring
commit this cycle quietly omitted these two files -- they existed
locally (from local npm ci runs) so local builds always looked fine,
but a fresh CI checkout never had them. The theme's
head/fontawesome.html and head/bootstrap-js.html partials wrap the
lookup in `{{ with resources.Get ... }}`, which silently emits
nothing when the resource is missing -- no build error, just a
deployed site missing the FontAwesome icon-kit JS and Bootstrap's JS
bundle (dropdowns) entirely. This is why CI reported success on the
build that's currently live and broken.

Narrow the gitignore rule to the repo root only (/node_modules/) and
force-add the two files. Confirmed via a full audit (diff of every
file on disk under _vendor/ vs every file git tracks there) that
these were the only two files affected.
@scriptautomate-bc scriptautomate-bc self-assigned this Aug 21, 2026
@scriptautomate-bc
scriptautomate-bc merged commit 50ea308 into saltstack:main Aug 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant