ESLint shareable config used by Etherpad and its plugins. Version 4.0.5 (stable). This package provides multiple config presets (etherpad, etherpad/node, etherpad/browser, etherpad/tests, etc.) and a plugin-oriented config that automatically applies the correct presets based on file location. It includes a workaround for ESLint's modern module resolution issue (ESLint #3458). Key differentiator: tailored specifically for Etherpad ecosystem, handles backend/frontend/test code separately, and requires explicit peer dependency on ep_etherpad-lite to satisfy Node.js plugin checks.
npm install eslint-config-etherpadVerified import paths — ran on the pinned version, not inferred.
Creates a .eslintrc.cjs file that extends the etherpad/plugin config and adds an override for shared Node/browser files.
Add 'require('eslint-config-etherpad/patch/modern-module-resolution');' at the top of .eslintrc.cjs.Run 'npm install --no-save ep_etherpad-lite@file:/path/to/etherpad-lite/src' after each npm install.
Ensure ESLint version matches the peer dependency range specified in package.json.
Refer to peerDependencies in package.json and install a compatible ESLint version.
Add 'require('eslint-config-etherpad/patch/modern-module-resolution');' at the top of your ESLint config file.Run 'npm install --save-dev typescript'.
Use the proper sub-config like 'etherpad/browser' or add env in overrides.
Ensure 'eslint-config-etherpad' is installed and the patch require() is called.