website/docs: document npm install-script blocking#22461
Open
GirlBossRush wants to merge 3 commits into
Open
Conversation
The repo's `.npmrc` sets `ignore-scripts=true` to neutralize the dominant npm supply-chain attack pattern (preinstall/postinstall payloads, as used by the recent "Shai-Hulud" and "Mini Shai-Hulud" incidents). The trade-off is that a handful of packages that ship native binaries — esbuild, chromedriver, tree-sitter — need to be rebuilt explicitly when their install step is required. Today this is implicit; a new contributor whose build fails because esbuild's binary didn't unpack has no obvious next step except to disable the protection. Documenting it in both setup guides points them at `npm rebuild --foreground-scripts <pkg>` and makes the "don't flip `ignore-scripts` off" guidance explicit. No code or config changes — docs only. Co-authored-by: Agent <279763771+playpen-agent@users.noreply.github.com>
✅ Deploy Preview for authentik-integrations ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #22461 +/- ##
=======================================
Coverage 93.28% 93.29%
=======================================
Files 1032 1032
Lines 60059 60059
Branches 400 400
=======================================
+ Hits 56029 56030 +1
+ Misses 4030 4029 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
✅ Deploy Preview for authentik-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
tanberry
approved these changes
May 19, 2026
Contributor
tanberry
left a comment
There was a problem hiding this comment.
Thank you @GirlBossRush, this is very helpful. Especially the "do not turn off" explicitness.
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.
Summary
Adds an
:::infoadmonition to both contributor setup guides explaining:.npmrcsetsignore-scripts=trueand why (neutralizes the dominant npm supply-chain attack class — "Shai-Hulud" / "Mini Shai-Hulud" payloads run frompreinstall)npm rebuild --foreground-scripts esbuild chromedriver tree-sitter tree-sitter-jsonignore-scriptsoff" guidanceFiles touched:
website/docs/developer-docs/setup/full-dev-environment.mdx— admonition right aftermake installwebsite/docs/developer-docs/setup/frontend-dev-environment.md— admonition right aftermake node-installThis is docs-only — no code or config changes. The motivation is that the rationale for
.npmrcis currently only present as an inline comment in.npmrcitself; a contributor whose esbuild build silently fails has no obvious next step except to disable the protection, which is exactly what we want to discourage.Test plan
make docs/ website preview) passes:::infoadmonitions render correctlyweb/package.json/ root deps