
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
@zendeskgarden/eslint-config
Advanced tools
:seedling: Garden is the design system by Zendesk
This package exposes a shareable ESLint config and a selection of associated plugins.
npm install eslint @zendeskgarden/eslint-config
Add a eslint.config.mjs to your project like this:
import config from '@zendeskgarden/eslint-config';
export default config;
Now Garden linting rules will apply to your project. See the ESLint Documentation for more details on using shareable configuration files.
The following shared plugins are also available.
Install the following dependency in addition to those listed above.
npm install jest
Update the default configuration.
import config from '@zendeskgarden/eslint-config';
import jestPlugin from '@zendeskgarden/eslint-config/plugins/jest.js';
export default [...config, jestPlugin];
In some cases, it may be useful to limit the scope of the Jest rules via
files.
export default [
...config,
{
files: ['**/*.spec.*'],
...jestPlugin
}
];
The React plugin bundles rules for React, React Hooks, and JSX accessibility. Install the following dependency in addition to those listed above.
npm install react
Update the default configuration.
import config from '@zendeskgarden/eslint-config';
import reactPlugin from '@zendeskgarden/eslint-config/plugins/react.js';
export default [...config, reactPlugin];
Install the following dependency in addition to those listed above.
npm install typescript
Update the default configuration.
import config from '@zendeskgarden/eslint-config';
import typescriptPlugin from '@zendeskgarden/eslint-config/plugins/typescript.js';
export default [...config, typescriptPlugin];
For mixed JS and TS codebases, it may be useful to limit the scope of the
TypeScript rules via files.
export default [
...config,
{
files: ['**/*.{ts, tsx}'],
...typescriptPlugin
}
];
The typescript plugin covers rules for syntax checking. An additional
typescript-type-checked plugin provides rules based on semantics. The
typescript-type-checked plugin requires type information in order to execute.
Set languageOptions.parserOptions.project to a valid TSConfig for the project. See
typescript-eslint documentation
for details.
export default [
...config,
typescriptPlugin,
typescriptTypeCheckedPlugin,
{
languageOptions: {
parserOptions: {
project: ['./tsconfig.json'],
requireConfigFile: false
}
}
}
];
Shout-outs for a mostly reasonable set of lint rules go to:
Thanks for your interest in Garden! Community involvement helps make our design system fresh and tasty for everyone.
Got issues with what you find here? Please feel free to create an issue.
If you'd like to take a crack at making some changes, please follow our contributing documentation for details needed to submit a PR.
Community behavior is benevolently ruled by a code of conduct. Please participate accordingly.
Copyright 2024 Zendesk
Licensed under the Apache License, Version 2.0
FAQs
Garden ESLint config
We found that @zendeskgarden/eslint-config demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.