Convert from yarn to npm#723
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
| ## Contributing | ||
|
|
||
| Run `yarn` to download dependencies, and then run `yarn prepare` to build the library. | ||
| Run `npm install` to download dependencies, and then run `npm run prepare` to build the library. |
There was a problem hiding this comment.
🔒 Agentic Security Review
Severity: MEDIUM
The migration removes the prior install-time lifecycle-script safeguard (--ignore-scripts true in .yarnrc) but now instructs contributors to run plain npm install.
Impact: A compromised dependency can execute preinstall/install/postinstall scripts automatically in developer or CI environments, increasing supply-chain command-execution and secret-exfiltration risk.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ab5348a. Configure here.
| 'lib/io/react-native/native-bridge.js', | ||
| 'lib/node/index.js', | ||
| 'lib/util/nym.js' | ||
| ] |
There was a problem hiding this comment.
Missing ESLint build ignores
Medium Severity
Removing .eslintignore dropped global excludes for lib/, root types.js / types.mjs / types.js.flow, and android/src/main/assets/, but eslint.config.mjs only ignores a handful of lib/ files. After npm install runs prepare, npm run verify’s eslint . can lint generated build output that was never meant to be checked.
Reviewed by Cursor Bugbot for commit ab5348a. Configure here.
| ## Unreleased | ||
|
|
||
| - changed: Migrate the package manager from yarn to npm. Replace yarn.lock with package-lock.json, convert package.json scripts and resolutions to overrides, and update documentation references. | ||
| - fixed: Apply Socket-recommended patch/minor security upgrades for vulnerable transitive dependencies. |
There was a problem hiding this comment.
Wrong CHANGELOG prefix security
Low Severity
The Unreleased entry uses the fixed: prefix for Socket-recommended transitive dependency version bumps. Those are dependency maintenance changes, not a correction of incorrect behavior in this library’s own code, so the prefix does not match the repo’s semantic CHANGELOG conventions.
Triggered by learned rule: CHANGELOG entries must use correct semantic prefix
Reviewed by Cursor Bugbot for commit ab5348a. Configure here.


CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
noneDescription
noneNote
Low Risk
Changes are limited to package manager, CI scripts, lockfile, and lint config; runtime library code is untouched, though temporarily relaxed ESLint rules reduce guardrails until a follow-up.
Overview
Switches the repo from Yarn to npm for installs, CI, and docs: Travis runs
npm run verify, README/CHANGELOG usenpm install/npm run *,.yarnrcis removed, andpackage-lock.jsonis no longer gitignored (per CHANGELOG:yarn.lock→ lockfile, scripts, and Yarnresolutions→ npmoverrides).Linting moves to ESLint 9 flat config:
.eslintrc.json/.eslintignoreare dropped in favor ofeslint.config.mjswitheslint-config-standard-kitv1. Several legacylib/andflow-typedpaths are ignored because the default parser cannot parse them yet, and a large block of style/rules is turned off temporarily so CI passes (follow-up expected).No application/runtime code changes appear in this diff—only developer workflow, lockfile, dependency overrides, and lint tooling.
Reviewed by Cursor Bugbot for commit 8b03935. Bugbot is set up for automated code reviews on this repo. Configure here.