Socket
Socket
Sign inDemoInstall

eslint-config-moon

Package Overview
Dependencies
18
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-config-moon


Version published
Maintainers
1
Created

Readme

Source

eslint-config-moon

build status npm version npm license

A modern and strict ESLint configuration with optional presets and first-class TypeScript support. Expands upon the amazing Airbnb config to provide the latest ECMAScript features, enforce popular patterns, and align with the wider community.

yarn add --dev eslint eslint-config-moon

Setup

Extend the moon config in your root .eslintrc.js. Additional presets are available for additional rules.

module.exports = {
  root: true,
  extends: ['moon'],
};

Presets

The following additional configs can also be extended, but are not enabled by default.

  • moon/browser - Sets the environment to the browser/DOM and enables the compat plugin. Should not be used with the node preset.
  • moon/node - Sets the environment to Node.js and enables the node plugin. Should not be used with the browser preset.
  • moon/react - Enables the react, react-hooks, react-perf, and jsx-a11y plugins.
    • Only applies to *.tsx files and also extends the browser preset.
    • Enables automatic JSX runtime if react version is 17+.
  • moon/solid - Enables the solid plugin.
    • Only applies to *.tsx files and also extends the browser preset.

Features

  • Extends the airbnb-base config and enables additional rules.
  • Prefers named exports over default exports.
  • Enforces async/await/promise best practices with the promise plugin.
  • Sorts imports/exports in a logical way using the simple-import-sort plugin.
  • Encourages readable tests with the jest plugin. Only applies to test files.
  • Enables additional awesome rules from the unicorn plugin.
  • Automatically sets parserOptions.project based on the root tsconfig.json.
  • Avoids any type and unsafe operations.
  • Uses tabs over spaces for accessibility compliance.

Requirements

  • Source files must be located in a src folder.
  • Tests files must end in *.test.* and be located within a tests or __tests__ folder.
  • Relies on TypeScript for parsing files.
  • Root package.json contains a Node.js engine for the target runtime.

Keywords

FAQs

Last updated on 09 Jun 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc