Skip to content

Convert to npm#21

Open
peachbits wants to merge 4 commits into
masterfrom
convert-to-npm
Open

Convert to npm#21
peachbits wants to merge 4 commits into
masterfrom
convert-to-npm

Conversation

@peachbits
Copy link
Copy Markdown
Contributor

@peachbits peachbits commented May 26, 2026

Note

Low Risk
Tooling and CI only—no runtime library or native build logic changes in this diff.

Overview
Migrates the React Native library from Yarn to npm for installs and CI.

Adds a root .npmrc with legacy-peer-deps and ignore-scripts (replacing .yarnrc’s ignore-scripts). .gitignore no longer ignores package-lock.json so the npm lockfile is committed. .travis.yml runs npm ci and npm run lint / prepare, adds Node 18, and drops the frozen Yarn install path in favor of npm (per the updated pipeline).

Reviewed by Cursor Bugbot for commit 9a10cba. Bugbot is set up for automated code reviews on this repo. Configure here.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0bed030. Configure here.

Comment thread .travis.yml
- "12"
install:
- yarn install --frozen-lockfile
- npm ci
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Travis Node twelve breaks npm ci

High Severity

Travis still targets Node 12, whose bundled npm cannot install from a package-lock.json with lockfileVersion 3. The install step now uses npm ci, and the lockfile is no longer gitignored, so CI is likely to fail on the install phase.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0bed030. Configure here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 9a10cba: bumped Travis node_js from 12 to 18, so the bundled npm supports package-lock.json lockfileVersion 3 and npm ci installs successfully on CI.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Comment thread .travis.yml
- "12"
install:
- yarn install --frozen-lockfile
- npm ci
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Agentic Security Review
Severity: HIGH

Switching CI from Yarn with --ignore-scripts true to npm ci removes install-script hardening, so dependency lifecycle scripts can now execute during install.

Impact: A compromised or malicious package in the lockfile can run arbitrary commands in CI before build/test steps, which can tamper outputs or exfiltrate CI-accessible secrets.

Copy link
Copy Markdown
Contributor

@j0ntz j0ntz Jun 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did this one change?

/slop:
This is the inverse of the other ignore-scripts findings: moving CI from yarn --ignore-scripts true to npm ci does re-enable dependency lifecycle scripts during install. That is standard npm ci behavior and an accepted consequence of the yarn→npm migration; dependency provenance is governed at the registry/lockfile level rather than by install-script suppression here.

peachbits added 2 commits June 2, 2026 00:54
socket fix --all --range-style preserve --minimum-release-age 7d --no-major-updates
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.

2 participants