Registry / testing / eslint-plugin-square

eslint-plugin-square

JSON →
library26.0.1jsnpmunverified

Square's custom ESLint plugin that consolidates frontend linting rules and configurations including base, Ember, React, strict, and TypeScript configs. Current stable version is 26.0.1, requires Node ^18.0.0 || >=20.0.0 and ESLint >= 8.40.0. Ships TypeScript types, integrates eslint-plugin-import, eslint-plugin-unicorn, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-jsx-a11y, prettier, and more. Not recommended for public use outside Square. Breaking changes in v26: dropped Node v16 support; v24 added warning on unused ESLint disable directives in base config.

npm install eslint-plugin-square
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-SQUA
E
eslint-plugin-square
testingjavascriptv26.0.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

plugin
module.exports = { extends: ['plugin:square/base'] }
module.exports = { plugins: ['square'] }
Use the extends syntax to load a preset config; adding as a plugin alone does not activate rules.
configs
import { configs } from 'eslint-plugin-square'; const baseConfig = configs.base;
const baseConfig = require('eslint-plugin-square').base;
ESM-only since v26? Check package.json exports. Named export 'configs' contains all preset configurations.
rules
import { rules } from 'eslint-plugin-square'; const noRestrictedFilesRule = rules['no-restricted-files'];
const noRestrictedFilesRule = require('eslint-plugin-square').rules['no-restricted-files'];
ESM import for custom rules; use named export 'rules'. Available since v23.1.0.
FlatConfig
import { FlatConfig } from 'eslint-plugin-square'; export default [...FlatConfig];
ESM-only, available in v26+? Type exported for flat config usage. Not available in CJS.

Shows how to install, configure the base preset in a .eslintrc.cjs file, and set up npm-run-all scripts.

// Install: // yarn add --dev eslint eslint-plugin-square npm-run-all // .eslintrc.cjs (CommonJS): module.exports = { extends: ['plugin:square/base'], env: { browser: true, node: true }, }; // package.json scripts: { "scripts": { "lint": "npm-run-all --continue-on-error --aggregate-output --parallel lint:*", "lint:js": "eslint --report-unused-disable-directives --cache ." } } // Then run: // yarn lint
Debug
Known issues
breakingNode v16 support dropped in v26.0.0. Must use Node ^18.0.0 || >=20.0.0.
fix
Upgrade Node to 18 or 20+.
affects: >=26.0.0
breakingUnused ESLint disable directives now warn by default in base config since v24.0.0.
fix
Use --report-unused-disable-directives to check, or disable with 'no-unused-disable-directives': 'off'.
affects: >=24.0.0
deprecatedeslint-plugin-unicorn v46+ introduced breaking changes; base config updated in v25.0.0.
fix
Ensure you're using eslint-plugin-square v25+ if you depend on Unicorn rules.
affects: >=25.0.0
gotchaThe plugin is not recommended for public use outside Square; configs may change without notice.
fix
If using externally, pin to a specific version and expect breaking changes.
affects: *
gotchaESM projects must use .eslintrc.cjs instead of .eslintrc.js when using CommonJS config export.
fix
Rename to .eslintrc.cjs or use ESM config format (eslint.config.js with export default).
affects: *
Errors
Common errors & fixes
Error: ESLint couldn't find the plugin "eslint-plugin-square".
Missing installed package or incorrect configuration.
fix
Run 'yarn add --dev eslint-plugin-square' or check node_modules.
Oops! Something went wrong! :( ESLint: 8.x. Error: Configuration for rule "unicorn/xxx" is invalid.
Breaking change in eslint-plugin-unicorn major version bump.
fix
Update eslint-plugin-square to v25+ or pin eslint-plugin-unicorn to compatible version.
TypeError: Cannot destructure property 'configs' of 'require(...)' as it is undefined.
Trying to import named exports via require() in a CJS file; plugin may be ESM-only in recent versions.
fix
Use dynamic import() or switch to ESM (eslint.config.js) with import statement.
Upgrade
Version history
26.0.1latest on npm
Audit
Dependencies
eslintrequiredpeer dependency — core linter required to run rules and configurations
npm-run-alloptionalrecommended for running parallel lint scripts in package.json
eslint-plugin-unicornrequiredbundled dependency for base config rules
eslint-plugin-importrequiredbundled dependency for base config rules
prettieroptionalused via eslint-plugin-prettier in configs
Agent activity
2 hits · last 30 days
node
2
Resources
eslint-plugin-square — npm install eslint-plugin-square · libregistry