Vô hiệu hóa quy tắc eslint cho thư mục


180

Có cách nào để vô hiệu hóa các quy tắc cụ thể cho một thư mục? Ví dụ: tôi không muốn yêu cầu bình luận JSDoc cho tất cả các tệp thử nghiệm của mình trong testthư mục. Có cách nào để làm việc này không?


eslint-babel dường như bỏ qua mọi tệp và cài đặt .eslint-bỏ qua.
ivanixmobile

Câu trả lời:


300

Để bỏ qua một số thư mục từ các quy tắc eslint, chúng ta có thể tạo tệp .eslintignoretrong thư mục gốc và thêm đường dẫn đến thư mục mà chúng ta muốn bỏ qua (giống như cách cho .gitignore).

Dưới đây là ví dụ từ các tài liệu của ESLint về Bỏ qua các tệp và thư mục :

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js

34
Giải pháp này không thực sự trả lời câu hỏi ban đầu, yêu cầu làm thế nào để vô hiệu hóa các quy tắc cụ thể cho một thư mục cụ thể. Ở đây bạn đang vô hiệu hóa tất cả các quy tắc cho các thư mục nhất định. Câu trả lời tốt hơn là ở đây: stackoverflow.com/a/41316801/882638
ericgio

3
Trích từ tài liệu của ESLint " Ngoài bất kỳ mẫu nào trong tệp .eslintignore, ESLint luôn bỏ qua các tệp trong / node_modules / * và / bower_components / *. " Vì vậy, không cần phải thêm /node_modules, /distchỉ cần loại trừ cả hai thư mục là đủ. . Ngoài ra mô hình toàn cầu được hỗ trợ trong khi chỉ định thư mục (phụ).
ozanmuyes

Có cách nào để làm điều đó với vue.config.js hoặc pack.json không?
Serge

3
Có cách nào để cấu hình thư mục nào cần bỏ qua trong .eslintrc.jsonchính tệp cấu hình để chúng tôi không cần tệp .estlint khác và chúng tôi có thể kế thừa các giá trị bỏ qua từ một eslint-config-myconfigcấu hình được chia sẻ không?
Joshua Pinter

1
Có nhiều bài viết tương tự về điều này. Tôi cần: --ignore-pathvà / hoặc --ignore-pattern, và tôi nghĩ rằng cũng trả lời chính xác câu hỏi này.
Neil Guy Lindberg

49

Các câu trả lời trước đã đi đúng hướng, nhưng câu trả lời đầy đủ cho điều này sẽ chỉ vô hiệu hóa các quy tắc cho một nhóm tệp , bạn sẽ tìm thấy tài liệu cần thiết để vô hiệu hóa / bật quy tắc cho một số thư mục (Vì trong một số trường hợp bạn không cho Tôi không muốn bỏ qua toàn bộ, chỉ vô hiệu hóa các quy tắc nhất định). Thí dụ:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}

2
Câu trả lời này tốt hơn vì bạn có thể tắt một quy tắc cụ thể cho một thư mục nhất định. Thay vì chỉ tắt tất cả các quy tắc cho một thư mục.
Storm Muller

1
Điều này ban đầu không làm việc cho tôi. Hãy chắc chắn rằng bạn không có .eslintrc.jstrong thư mục đó với một extends: "../.eslintrc.js"!
Florian Wendelborn

2

Phiên bản YAML:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

Ví dụ về các quy tắc cụ thể cho các bài kiểm tra mocha:

Bạn cũng có thể đặt một env cụ thể cho một thư mục, như thế này:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

Cấu hình này sẽ sửa thông báo lỗi về describeitkhông được xác định, chỉ dành cho thư mục kiểm tra của bạn:

/myproject/test/init-tests.js
6: 1 lỗi 'mô tả' không được định nghĩa không undef
9: 3 lỗi 'nó' không được định nghĩa không undef

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.