Shared ESLint configuration for Braintree JavaScript projects. Current stable version is 7.0.1, requiring ESLint ^9.0.0 (flat config only, legacy .eslintrc support removed). It ships with TypeScript type declarations and provides presets for client (browserify), server (Node), and ES6 environments, as well as a JSDoc configuration. Unlike generic shareable configs (e.g., eslint-config-airbnb), it is opinionated for Braintree's internal standards and relies on plugins (e.g., @typescript-eslint/eslint-plugin, eslint-plugin-prettier) that must be installed separately. Release cadence is low; primarily updated for major ESLint versions.
Verified import paths — ran on the pinned version, not inferred.
This package uses CommonJS require() for flat config; ESM import is not supported. The correct usage for flat config is 'module.exports = braintreeConfig;'.
Use require() to load the client (browserify) preset. For flat config, spread into array: [...braintreeClientConfig, ...otherConfig].
The server config is exported as a separate entry point, not a property of the main config. Correct path is 'eslint-config-braintree/server'.
Shows how to install and configure the Braintree ESLint config using flat config (ESLint v9+), including required plugins and custom rule overrides.
Breaking-change detection hasn't run for this library yet.
CVE tracking and dependency tree are planned for a later release.