Finding 1 on #407: the install guidance references a root install script that does not exist on release/7.22.
client/.npmrc:5 said the root install script runs the client's postinstall for you.
CONTRIBUTING.md said the "composite install script in the root package.json (which installs both subprojects)" does not run under ignore-scripts.
The root package.json has no install or postinstall script at all (scripts holds build-frontend, the lint* wrappers, jo and prepare), so both statements send the reader after something missing. The install sequence the repo actually needs - root npm ci, then client and sas explicitly - is unchanged; only the reason given for it is now true.
Also in this section
The same section contradicted itself: it opened by telling the reader to write the SheetJS registry token into client/.npmrc, and closed by explaining that client/.npmrc is a tracked policy file which must not carry a token - and that the pre-commit hook rejects one. The first block now puts the token in ~/.npmrc, matching the closing paragraph.
Verification
Prose only, no code or configuration moved. client/.npmrc keeps ignore-scripts=true and save-exact=true; the two .npmrc claims left in CONTRIBUTING (root and sas/ set ignore-scripts=true) were checked against both files and hold.
prettier --check CONTRIBUTING.md fails on this file, but it fails identically at release/7.22 before this change, so the diff deliberately does not carry a whole-file reformat - it would bury the three edits and conflict with the release PR.
## What this closes
Finding 1 on #407: the install guidance references a root install script that does not exist on `release/7.22`.
- `client/.npmrc:5` said the root install script runs the client's postinstall for you.
- `CONTRIBUTING.md` said the "composite `install` script in the root `package.json` (which installs both subprojects)" does not run under `ignore-scripts`.
The root `package.json` has no install or postinstall script at all (`scripts` holds `build-frontend`, the `lint*` wrappers, `jo` and `prepare`), so both statements send the reader after something missing. The install sequence the repo actually needs - root `npm ci`, then `client` and `sas` explicitly - is unchanged; only the reason given for it is now true.
## Also in this section
The same section contradicted itself: it opened by telling the reader to write the SheetJS registry token into `client/.npmrc`, and closed by explaining that `client/.npmrc` is a tracked policy file which must not carry a token - and that the pre-commit hook rejects one. The first block now puts the token in `~/.npmrc`, matching the closing paragraph.
## Verification
Prose only, no code or configuration moved. `client/.npmrc` keeps `ignore-scripts=true` and `save-exact=true`; the two `.npmrc` claims left in CONTRIBUTING (root and `sas/` set `ignore-scripts=true`) were checked against both files and hold.
`prettier --check CONTRIBUTING.md` fails on this file, but it fails identically at `release/7.22` before this change, so the diff deliberately does not carry a whole-file reformat - it would bury the three edits and conflict with the release PR.
The root `package.json` carries no install or postinstall script, so the
guidance to rely on "the composite install script ... which installs both
subprojects" sends the reader after something that does not exist, and
`client/.npmrc` told them the same thing in a comment.
The install section also contradicted itself: it opened by telling the reader
to write the SheetJS registry token into `client/.npmrc`, and closed by
explaining that `client/.npmrc` is a tracked policy file that must not carry a
token (the pre-commit hook rejects one). The token goes in the user config,
which is what the first block now says.
The install sequence itself is unchanged - root `npm ci`, then `client` and
`sas` explicitly - because that is what the repo actually needs.
Reviewed the diff (CONTRIBUTING.md install sequence, client/.npmrc comment). Checked the claims against the tree: root package.json carries no install script, and root and sas/ .npmrc both set ignore-scripts=true and save-exact=true, so the rewritten instructions match what the repo does.
Reviewed the diff - no blocking issues found.
REVIEWED ON 2026-11-02 08:51 UTC
Reviewed the diff (CONTRIBUTING.md install sequence, client/.npmrc comment). Checked the claims against the tree: root package.json carries no `install` script, and root and sas/ .npmrc both set ignore-scripts=true and save-exact=true, so the rewritten instructions match what the repo does.
Reviewed the diff - no blocking issues found.
allan
merged commit f82f21dc3b into release/7.222026-11-02 09:39:18 +00:00
allan
deleted branch docs/install-section-current2026-11-02 09:39:19 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What this closes
Finding 1 on #407: the install guidance references a root install script that does not exist on
release/7.22.client/.npmrc:5said the root install script runs the client's postinstall for you.CONTRIBUTING.mdsaid the "compositeinstallscript in the rootpackage.json(which installs both subprojects)" does not run underignore-scripts.The root
package.jsonhas no install or postinstall script at all (scriptsholdsbuild-frontend, thelint*wrappers,joandprepare), so both statements send the reader after something missing. The install sequence the repo actually needs - rootnpm ci, thenclientandsasexplicitly - is unchanged; only the reason given for it is now true.Also in this section
The same section contradicted itself: it opened by telling the reader to write the SheetJS registry token into
client/.npmrc, and closed by explaining thatclient/.npmrcis a tracked policy file which must not carry a token - and that the pre-commit hook rejects one. The first block now puts the token in~/.npmrc, matching the closing paragraph.Verification
Prose only, no code or configuration moved.
client/.npmrckeepsignore-scripts=trueandsave-exact=true; the two.npmrcclaims left in CONTRIBUTING (root andsas/setignore-scripts=true) were checked against both files and hold.prettier --check CONTRIBUTING.mdfails on this file, but it fails identically atrelease/7.22before this change, so the diff deliberately does not carry a whole-file reformat - it would bury the three edits and conflict with the release PR.REVIEWED ON 2026-11-02 08:51 UTC
Reviewed the diff (CONTRIBUTING.md install sequence, client/.npmrc comment). Checked the claims against the tree: root package.json carries no
installscript, and root and sas/ .npmrc both set ignore-scripts=true and save-exact=true, so the rewritten instructions match what the repo does.Reviewed the diff - no blocking issues found.