Updating NPM Packages
Read docs/development.md "Tracking Upstream Dependencies" section for full context.
Rules
- Dependencies are split into three groups:
dependencies— runtime packages bundled into the extensiondevDependencies— build tools only (minimum for Azure DevOps pipeline)optionalDependencies— lint, type-checking, and test tools (for development and GitHub Actions)
- Always use
npm install --include=optionalto get all three groups. - The
.npmrcuses an Azure Artifacts mirror; read its comments for authentication instructions. - When updating
engines.vscodefollow the "Tracking Upstream Dependencies" section ofdocs/development.md. - Update the ESLint packages (
eslint,@eslint/js,typescript-eslint,eslint-config-prettier) together and fix any new lint warnings. - After updating, verify:
npm run compile,npm run lint,npm audit. - For vulnerabilities in transitive dependencies identified by
npm audit, add anoverridesentry inpackage.jsonrather than usingnpm audit fix --forcewhich may downgrade our packages. - Check that each
overridesentry is still necessary.