ESLint plugin about ECMAScript syntactic features.

Overview

eslint-plugin-es-x

npm version Downloads/month Build Status

ESLint plugin which disallows each ECMAScript syntax.

Forked from eslint-plugin-es. As the original repository seems no longer maintained.

🏁 Goal

Espree, the default parser of ESLint, has supported ecmaVersion option. However, the error messages of new syntax are not readable (e.g., "unexpected token" or something like).

When we use this plugin along with the latest ecmaVersion option value, it tells us the readable error message for the new syntax, such as "ES2020 BigInt is forbidden." Plus, this plugin lets us disable each syntactic feature individually.

📖 Usage

See documentation

🚥 Semantic Versioning Policy

This plugin follows semantic versioning and ESLint's semantic versioning policy.

  • We will release a new minor version to add new rules when TC39 decided to advance proposals to Stage 4. In the minor releases, we don't update configs.
  • We will release a new major version to update configs when new ECMAScript snapshots are available.

📰 Changelog

See releases.

❤️ Contributing

Welcome contributing!

Please use GitHub's Issues/PRs.

Development Tools

  • npm test runs tests and measures coverage.
  • npm run clean removes the coverage result of npm test command.
  • npm run coverage shows the coverage result of the last npm test command.
  • npm run docs:build builds documentation.
  • npm run docs:watch builds documentation on each file change.
  • npm run watch runs tests on each file change.
Comments
Releases(v5.4.0)
  • v5.3.1(Aug 31, 2022)

    What's Changed

    • Fix false negatives for typed array in no-array-prototype-findlast-findlastindex rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/35

    Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.3.0...v5.3.1

    Source code(tar.gz)
    Source code(zip)
  • v5.3.0(Aug 31, 2022)

    What's Changed

    • Add no-hashbang rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/33
    • Add no-array-prototype-findlast-findlastindex rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/34

    Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.2.1...v5.3.0

    Source code(tar.gz)
    Source code(zip)
  • v5.2.1(May 19, 2022)

    What's Changed

    • no-top-level-await: Check if we are at the top-level using a depth counter by @edg2s in https://github.com/ota-meshi/eslint-plugin-es-x/pull/31

    New Contributors

    • @edg2s made their first contribution in https://github.com/ota-meshi/eslint-plugin-es-x/pull/31

    Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.2.0...v5.2.1

    Source code(tar.gz)
    Source code(zip)
  • v5.2.0(Mar 16, 2022)

    What's Changed

    • Add es-x/no-legacy-object-prototype-accessor-methods rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/23

    Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.1.0...v5.2.0

    Source code(tar.gz)
    Source code(zip)
  • v5.1.0(Mar 14, 2022)

    What's Changed

    • Add rules for Annex B by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/22

    Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v5.0.0...v5.1.0

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0(Mar 12, 2022)

    Changes

    • Rename package eslint-plugin-es to eslint-plugin-es-x by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/15
    • Updated preset and add preset for ES2022. by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/6

    New Rules

    • Add rules for prototype members by @mysticatea in https://github.com/mysticatea/eslint-plugin-es/pull/54
    • Add es-x/no-object-create rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/3
    • Add es-x/no-function-prototype-bind rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/4
    • Add es-x/no-class-fields rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/5
    • Add es-x/no-regexp-d-flag rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/7
    • Add es-x/no-top-level-await rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/9
    • Add es-x/no-object-hasown rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/10
    • Add es-x/no-class-static-block rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/11
    • Add es-x/no-private-in rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/12
    • Add es-x/no-array-string-prototype-at rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/13
    • Add es-x/no-arbitrary-module-namespace-names rule by @ota-meshi in https://github.com/ota-meshi/eslint-plugin-es-x/pull/14

    Bug Fixes

    • Fix es-x/no-logical-assignment-operators autofix by @mysticatea in https://github.com/mysticatea/eslint-plugin-es/commit/00d73851793541dc7b0d07292deb0ca2bc8a25e1

    Full Changelog: https://github.com/ota-meshi/eslint-plugin-es-x/compare/v4.1.0...v5.0.0

    Source code(tar.gz)
    Source code(zip)
  • v4.1.0(Mar 12, 2022)

Owner
Yosuke Ota
Member of @vuejs, @stylelint and @intlify. Owner of cheetah-grid. Java/JavaScript/TypeScript/Python. I use broken English.
Yosuke Ota
🎩 Coverage for EcmaScript Modules

?? ESCover Coverage for EcmaScript Modules based on ?? Putout and loaders. Why another coverage tool? When you want to use ESM in Node.js without tran

coderaiser 4 Jun 10, 2022
An npm package for demonstration purposes using TypeScript to build for both the ECMAScript Module format (i.e. ESM or ES Module) and CommonJS Module format. It can be used in Node.js and browser applications.

An npm package for demonstration purposes using TypeScript to build for both the ECMAScript Module format (i.e. ESM or ES Module) and CommonJS Module format. It can be used in Node.js and browser applications.

Snyk Labs 57 Dec 28, 2022
An ESLint plugin for writing Remix.js Apps

eslint-plugin-remix An ESLint plugin for Remix Installing Firstly, install the dependency with Yarn yarn add eslint-plugin-remix --dev or with npm npm

Alistair Smith 16 Nov 15, 2022
eslint-plugin-lodashs

eslint-plugin-lodashs 简介 关于lodash工具函数的lint。 如:get函数,取默认值。 官方解释:Gets the value at path of object. If the resolved value is undefined, the defaultValue

Gavin 5 Aug 1, 2022
ESLint plugin to disallow the optional-call operator

ESLint Plugin: no-optional-call Overview The no-optional-call ESLint plugin provides a single rule (non-configurable) that disallows any usage of the

Kyle Simpson 15 Sep 24, 2022
A Tailwind plugin that allows to create multiple groups utilities such as group-card or group-1 and works with Tailwind 3 features and all variations.

Tailwind Labeled Groups A plugin that allows to create multiple groups utilities such as group-card or group-1 and works with Tailwind 3 features and

Max 18 Nov 21, 2022
An obsidian plugin that give additional features to code blocks.

Obsidian Advanced Codeblock Add additioinal features to code blocks. Demo Feature Add line numbers to code block Add line highlight to code block Usag

lijyze 29 Jan 3, 2023
jQuery easy ticker is a news ticker like plugin, which scrolls the list infinitely. It is highly customizable, flexible with lot of features and works in all browsers.

jQuery Easy Ticker plugin jQuery easy ticker is a news ticker like plugin which scrolls a list infinitely. It is highly customizable, flexible with lo

Aakash Chakravarthy 208 Dec 20, 2022
Cross-browser plugin to remove addictive features on YouTube like thumbnails, comments, previews and more...

ZenTube Installation Features Remove some (more) elements from Youtube to make it less addictive. Mix and match between the following options: Hide or

inversepolarity 57 Dec 17, 2022
Pure JS Auto Complete plugin with extra features.

Cndk.AutoComplete.js Cndk.AutoComplete.js is a pure JavaScript plugin. It performs auto-complete operations within an INPUT. Installation Include the

ILKERC 1 Jan 25, 2022
vite-react-typescript with eslint and prettier predefined settings

Vite + React + Typescript + Eslint + Prettier A starter for React with Typescript with the fast Vite and all static code testing with Eslint and forma

The Sword Breaker 315 Dec 30, 2022
Rollup + Babel + Prettier + Strict ESlint + VSCode - Enterprise grade boilerplate

Javascript package boilerplate by HackingBay Rollup + Babel + Prettier + Strict ESlint + VSCode - Enterprise grade boilerplate Minimalist js package b

HackingBay 1 Dec 28, 2021
Rollup + React + Babel + Prettier + Strict ESlint and Stylelint + Sass + VSCode + Playground app - Enterprise grade boilerplate

React package boilerplate by HackingBay Rollup + React 17 + Babel + Prettier + Strict ESlint and Stylelint + Sass + VSCode + Playground app - Enterpri

HackingBay 2 Jan 19, 2022
This package includes some opinionated configuration for ESLint.

eslint-config-float This package includes some opinionated configuration for ESLint, used at Float and friends. Installation You can install and use t

Float 2 Jan 7, 2022
🚀Starter project with Angular 13, Ngx-admin, NestJS, Nx Workspace, Jest, Cypress, ESLint & Prettier 🚀

Angular 13 + Ngx-admin + NestJs + NX Starter project with Angular 13, Ngx-admin, NestJs, Nx Workspace, Jest, Cypress, ESLint & Prettier Features ✅ Ang

Wilfried 49 Jan 4, 2023
This package includes the sensible ESLint configuration used by our team

TypeScript + Prettier ESLint configuration for CasterlyApp team (and others)

Casterly 2 Jan 26, 2022
Shared eslint configuration for Strapi v4 plugins & applications.

This package is currently under development and should be consider ALPHA in terms of state. I/We are currently accepting contributions and/or dedicated contributors to help develop and maintain this package.

Strapi Community 6 Oct 28, 2022
An ESLint shareable configuration that used in our projects.

eslint-config An ESLint shareable configuration that used in our projects. Install npm install -D @rahagia/eslint-config or with yarn yarn add -D @rah

Organisasi Bahagia 5 Apr 18, 2022
A template project for NRWL's NX, Ionic Framework, Stylelint, Eslint, and more from the OpenForge mobile app team.

OpenForge Ionic Monorepo Example This is a template project for all Ionic + Angular Monorepos. It was generated using a combination of Nx, Ionic Thank

OpenForge 14 Oct 26, 2022