install-time security hardening + toolchain pinning - #137
Merged
Conversation
.npmrc:
- min-release-age=7 (cooldown; @microbit/* and @microbit-foundation/* exempt)
- allow-git/remote/file/directory=root (block transitive non-registry deps)
- strict-allow-scripts=true + engine-strict=true
package.json:
- targetted allowScripts policy (esbuild, fsevents)
- engines: node >=24.0.0, npm >=11.18.0
CI workflows:
- bump GitHub-provided actions (checkout v7, setup-node v6,
upload-pages-artifact v5, deploy-pages v5)
- grab latest v11 npm directly after setup-node
Regenerated package-lock.json under the new install policy (drops the
stale apps/capacitor entry).
node version is defined by .node-version file. npm version is defined by packageManager in package.json. CloudFlare pages uses Corepack to manage package managers including npm. This allows CloudFlare deployments to use a later version of npm than the corresponding node version defined in .node-version.
Deploying microbit-connection with
|
| Latest commit: |
8225c40
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://428f3823.microbit-connection.pages.dev |
| Branch Preview URL: | https://npm-update.microbit-connection.pages.dev |
microbit-grace
marked this pull request as ready for review
July 17, 2026 08:14
microbit-matt-hillsdon
approved these changes
Jul 17, 2026
microbit-grace
marked this pull request as draft
July 17, 2026 11:23
This reverts commit ba7985c.
microbit-grace
marked this pull request as ready for review
July 17, 2026 12:54
microbit-matt-hillsdon
self-requested a review
July 17, 2026 13:00
microbit-matt-hillsdon
approved these changes
Jul 17, 2026
microbit-matt-hillsdon
left a comment
Contributor
There was a problem hiding this comment.
LGTM, thanks for checking those bits.
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.
.npmrc:
- min-release-age=7 (cooldown; @microbit/* and @microbit-foundation/* exempt)
- allow-git/remote/file/directory=root (block transitive non-registry deps)
- strict-allow-scripts=true + engine-strict=true
package.json:
- targetted allowScripts policy (esbuild, fsevents)
- packageManager: 11.18.0 - CloudFlare Pages uses Corepack to manage package managers including npm. This allows CloudFlare deployments to use a later version of npm than the corresponding node version defined in .node-version.
.node-version:
- For defining node version for building and deploying pages via CloudFlare.
CI workflows:
- bump GitHub-provided actions (checkout v7, setup-node v6,
upload-pages-artifact v5, deploy-pages v5)
- grab latest v11 npm directly after setup-node
- added cludge around npm publish
Regenerated package-lock.json under the new install policy (drops the stale apps/capacitor entry).