Socket
Socket
Sign inDemoInstall

@jellydn/eslint-fixer

Package Overview
Dependencies
Maintainers
0
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jellydn/eslint-fixer

Welcome to @jellydn/eslint-fixer 👋


Version published
Maintainers
0
Created
Source

Welcome to @jellydn/eslint-fixer 👋

Version

Prerequisites

  • Node.js >= 18.20.0 or later

Motivation

We will continue to use @typescript-eslint/parser and @typescript-eslint/eslint-plugin to lint TypeScript files until this issue ☂️ Type-aware linter · Issue #3187 · biomejs/biome is resolved.

Enabled rules

The following rules are enabled to effectively lint TypeScript files:

{
  "@typescript-eslint/await-thenable": "error",
  "@typescript-eslint/no-floating-promises": "error",
  "@typescript-eslint/no-for-in-array": "error",
  "@typescript-eslint/no-misused-promises": "error",
  "@typescript-eslint/no-redundant-type-constituents": "error",
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
  "@typescript-eslint/require-await": "error"
}

Usage

# Install eslint-fixer
npm install -g @jellydn/eslint-fixer

# Or Run eslint-fixer
npx @jellydn/eslint-fixer "examples/**/*.ts,examples/**/*.tsx"

How to use with Neovim

To use eslint-fixer with lazy.nvim and nvim-lint, you should define as a custom linter:

return {
  {
    "mfussenegger/nvim-lint",
    event = "VeryLazy",
    opts = {},
    init = function()
      -- Register customer linter
      require("lint").linters.eslint_fixer = {
        name = "eslint_fixer",
        cmd = "eslint-fixer", -- e.g: npm install -g @jellydn/eslint-fixer
        stdin = false,
        stream = "stdout",
        ignore_exitcode = true,
        parser = function(output, bufnr)
          local trimmed_output = vim.trim(output)
          if trimmed_output == "" then
            return {}
          end
          -- Skip if Parsing error on output
          if string.match(trimmed_output, "Parsing error") then
            return {}
          end

          -- Parse output base on Eslint errorformat
          local diagnostic = require("lint.parser").from_errorformat("%f %l:%c %m", {
            error = vim.diagnostic.severity.ERROR,
          })(trimmed_output, bufnr)

          return diagnostic
        end,
      }
    end,
    config = function(_, opts)
      -- Your setup here
    end,
    keys = {
      {
        -- Run lint by name
        "<leader>rl",
        function()
          local items = {
            -- Eslint fixer
            "eslint_fixer", -- npm install -g @jellydn/eslint-fixer
          }

          vim.ui.select(items, {
            prompt = "Select Linter to run",
          }, function(choice)
            if choice ~= nil then
              run_linter_by(choice)
            end
          end)
        end,
        desc = "Run Nvim Lint",
      }
    }
  },
}

GitHub Actions

To use eslint-fixer in GitHub Actions, follow these steps:

name: ESLint Fixer

on:
  push:
    branches:
      - main

jobs:
  eslint-fixer:
    name: ESLint Fixer
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx --yes @jellydn/eslint-fixer@0.0.0 "examples/**/*.ts" # change to the latest release
  oxlint:
    name: Lint JS
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx --yes oxlint@0.0.0 --deny-warnings # change to the latest release
  quality:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup Biome
        uses: biomejs/setup-biome@v2
        with:
          version: latest
      - name: Run Biome
        run: biome ci .

How to publish

make release

Resources

Author

👤 Dung Huynh

Show your support

Give a ⭐️ if this project helped you!

kofi paypal buymeacoffee

Keywords

FAQs

Package last updated on 30 Jul 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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc