GithubHelp home page GithubHelp logo

danielrentz / eslint-ts-patch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from antfu/eslint-ts-patch

0.0 0.0 0.0 190 KB

Support loading eslint.config.mjs and eslint.config.ts as flat config files for ESLint.

License: MIT License

JavaScript 59.46% TypeScript 40.54%

eslint-ts-patch's Introduction

eslint-ts-patch

npm version npm downloads bundle JSDocs License

Support loading eslint.config.mjs or eslint.config.ts as flat config file for ESLint.

Configure files will be searched in the following order, the first one found will be used:

  • eslint.config.js
  • eslint.config.mjs
  • eslint.config.cjs
  • eslint.config.ts
  • eslint.config.mts
  • eslint.config.cts

For .js, .cjs, and .mjs files, they will be loaded by Node's native import().

For .ts, .cts, and .mts files, they will be loaded using jiti.

Context:

Install

npm i -D eslint-ts-patch eslint@npm:eslint-ts-patch

It should make your eslint CLI work for those config files automatically. If it's still not, you can try switching the CLI to eslint-ts.

Compatibility

Tested with the following tools:

Package Managers

  • npm
  • pnpm
  • yarn

Integrations

  • eslint CLI ✅
  • VSCode ESLint extension ✅ (as it's executing your local node_modules/.bin/eslint)

Haven't gotten chance to test with other integrations, contributions are welcome.

Versioning

This package proxies all ESLint exports, it should be compatible by aliasing the eslint package. The version of this package is the same as the latest supported ESLint version in addition to a patch number suffix indicating the patches of this package (e.g. 8.55.0-1). It's using ^ relaxed dependency of eslint, so it should work with any newer versions of ESLint.

How it works

As the support of eslint.config.js seems to be quite hard-coded in ESLint, this package proxies all exports of ESLint and installs this register beforehand. The register will swap some internal code of ESLint at runtime to make it work.

Disclaimer

It's only recommended to install this as top-level development dependency (user-aware). For plugin and library authors, it's ok to document the usage of this package for better DX. But we suggest avoiding having this as the dependency of your library or plugin, otherwise, take your own risk.

Troubleshooting

Is the Patch Working

This patch is designed to be as transparent as possible. If you want to verify if it's working, you can add DEBUG="eslint-ts-patch" environment variable to your command to see the debug logs.

➜ DEBUG="eslint-ts-patch" npx eslint -v

  eslint-ts-patch initialized +0ms
  eslint-ts-patch patched lib/eslint/flat-eslint.js +59ms

v8.55.0

Sponsors

License

MIT License © 2023-PRESENT Anthony Fu

eslint-ts-patch's People

Contributors

antfu avatar karlhorky avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.