מדריך ל-ESLint

במדריך זה נבצע התקנה והגדרה ראשונית של ESLint, כלי לאיתור בעיות בקוד JavaScript שמומלץ מאוד להכיר.

אז מה זה ESLint ומדוע זה כלי כל כך מדהים?

ESLint הוא כלי אשר מבצע בדיקות לקוד JavaScript שאנו כותבים, הוא מוצא בעיות כלליות (למשל, חסר גרש או סגירת סוגריים) ובמידה ולוקחים את זה צעד אחד קדימה (מה שמומלץ מאוד) ניתן "להכריח" אותנו לכתוב קוד בסטנדרטים של צוותי פיתוח אשר הפיצו חוקי ה-linting שלהם, למשל, של צוות הפיתוח של Airbnb.
שימוש ב-ESLint "יכריח" אתכם לכתוב קוד טוב יותר, תקין יותר, קריא יותר ובמידה ואתם עובדים בצוות – קוד אחיד, שזה חשוב מאוד.
אין ספק ש-ESLint (או כל כלי linting אחד) הוא אחד מהכלים שלוקחים כל מפתח JavaScript צעד אחת קדימה בדרך להיות מפתח מקצועי יותר.
אז איך עושים את כל הטוב הזה? בקלות, בואו נתחיל.

על מנת להתנסות ב-ESLint נפתח תיקייה חדשה וניצור קובץ package.json עם npm:

npm init

התקנה של ESLint

ראשית, נצטרך להתקין את ESLint כגלובלי או כמקומי לפרוייקט, בפרוייקט זה אעשה זאת באופן מקומי, כלומר לפרוייקט בלבד:

npm install eslint --save-dev

יצירת קובץ eslintrc

על מנת ליצור את קובץ הקונפיגורציה של ESLint נצטרך להריץ פקודה פשוטה:

npx eslint --init

לאחר שנריץ את הפקודה נקבל סט של שאלות:

בשאלה הראשונה ESLint שואל אותנו כיצד נרצה שהוא יבדוק אותנו ובאיזה אופן, האם רק syntax, גם syntax וגם problems ובאופציה השלישית זה גם syntax, גם problems וגם code style שעל אופציה זו נרחיב בהמשך, כרגע האופציה השנייה והדיפולטיבית היא בסדר גמור.

כך זה נראה בשאלה הראשונה:

השאלה הראשונה שנשאל על ידי ESLint.
השאלה הראשונה שנשאל על ידי ESLint.

בשאלה השנייה נשאל באיזה modules אנו משתמשים JavaScript modules כלומר import/export או CommonJS כלומר require/exports או אופציה שלא כוללת אף אחד מהן. תבחרו בהתאם למה שאתם כותבים.

השאלה השלישית תהיה אם אתם עושים שימוש ב-freamework מסויים React, vue.js או אף אחד מהם.

השאלה הבאה תהיה אם הפרוייקט הנוכחי משתמש ב-TypeScript או לא.

השאלה החמישית חשובה ובה נשאל האם ה-JavaScript שלנו רץ בדפדפן או שאנחנו כותבים Node.

מיד מסיימים!
השאלה האחרונה תהיה באיזה פורמט נרצה את קובץ הקונפיגורציה של ESLint, זה לא כזה משנה, אני בחרתי ב-JSON.
זהו זה! מיד נראה שנוצר קובץ eslintrc.json שנראה משהו כזה:

כך נראה הקובץ eslintrc.json כרגע.
כך נראה הקובץ eslintrc.json כרגע.

כעת, כל מה שנותר הוא ליצור קובץ JavaScript ולהריץ את ESLint שיבדוק אותו בשבילנו.
נשים בוא שורה אחת:

let num1 = 10;

ונריץ את ESLint (הקובץ שאני יצרתי נקרא main.js):

npx eslint main.js

ומה נקבל מיד? נזיפה קטנה:

ניתן לראות ש-ESLint מתריע בפנינו.
ניתן לראות ש-ESLint מתריע בפנינו.

בלשונית ה-problems ב-Visual Studio Code נראה כי ESLint מתריע בפנינו שיש לנו משתמש אחד שהצהרנו עליו והשמנו אליו נתון אבל הוא מיותר כי אנחנו לא עושים בו שימוש בשלב זה (ברור, זו השורה היחידה כרגע :)).

הרצה אוטומטית של ESLint

להריץ את ESLint באופן ידני בכל פעם עלול להיות מעייף ולכן אני ממליץ לכם להתקין תוסף נהדר ל-Visual Studio Code בשם ESLint והוא יעשה זאת עבורכם באופן אוטומטי.
אגב, אם אתם לא משתמשים ב-Visual Studio Code אני בהחלט ממליץ לכם לבדוק אותו ולקרוא את הפוסטים שכתבתי בנושא: Visual Studio Code – טיפים, תוספים ודברים שכדאי לדעת ו- הרחבות ל-Visual Studio Code שכדאי להכיר

הגדרות ESLint של Airbnb

עכשיו בואו נדבר על איך לקחת את זה צעד אחד קדימה ונראה איך אפשר ש-ESLint יקבל את הגדרות ESLint של צוות הפיתוח של Airbnb כמו שמופץ בחבילת ה-npm בשם eslint-config-airbnb-base.

ניתן לעשות זאת בכמה דרכים, דרך אחת היא על ידי כך שבעת יצירת קובץ ה-eslintrc, בשאלה הראשונה נבחר באופציה ה-3 ומיד נקבל אפשרות לבחור ב-code style נפוץ, אחת מהן תהיה של Airbnb. דרך מומלצת אם אתם יודעים שאתם רוצים להשתמש בקובץ ההגדרות של Airbnb מלכתחילה.
אופציה אחרת היא פשוט להתקין את ההרחבה הרלוונטית עם התלויות שלה:

npx install-peerdeps --dev eslint-config-airbnb-base

וכל מה שנותר הוא לשנות בקובץ eslintrc את שורת extends לזה:

"extends": "airbnb-base",

ובכך אמנו ל-ESLint להשתמש בהרחבה שהתקנו עבור קובץ ההגדרות של Airbnb.

אחת ההגדרות שקובץ ההגדרות של Airbnb מרחיב את ההגדרות הבסיסיות היא האזהרה שתופיע כאשר ישנה שורת console.log בקוד, נוסיף כזו ונשמור את הקובץ ומיד נקבל אזהרה בחלון ה-problems:

ניתן לראות שאנחנו מקבלים התראה אחרי שהוספנו את שורת ה-console.log.
ניתן לראות שאנחנו מקבלים התראה אחרי שהוספנו את שורת ה-console.log.

דריסה של הגדרות

במידה ונרצה לדרוס של הגדרה כלשהי, במקרה זה no-console, נוכל להיכנס לאתר של ESLint ולהקיש בתיבת חיפוש no-console, מיד נקבל עמוד הסבר מה מותר, מה אסור וגם איך ניתן לשנות את ההגדרה.
את השינויים אנו עושים ב-rules בקובץ ה-eslintrc שלנו, במקרה הזה זה יראה כך:

"דריסה" של הגדרות קודמות.
"דריסה" של הגדרות קודמות.

שמירה של הקובץ ומיד האזהרה תיעלם.
כמובן שניתן לשנות ולהוסיף אילו הגדרות שתרצו.

בהצלחה!

נהנת ממאמר זה? הירשם לרשימת התפוצה וקבל עדכונים על מאמרים חדשים!


2 תגובות בנושא “מדריך ל-ESLint”

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *