יש לי כלי מחולל טיפוסים שמייצר לי טיפוסים בתוך התיקייה src שלי. אני רוצה ש-eslint יתעלם מהקבצים האלה, איך אני מגדיר אותו לעשות את זה?
ניסיתי להוסיף את הרשומה הגלובוסית הבאה ל-.eslintignore:
אבל לזה לא היה שום אפקט
קרא עוד →אני ממיר כללים מותאמים אישית של tslint לכללים מותאמים אישית של eslint. עם tslint, אנחנו יכולים בקלות למצוא את כל הייבוא באמצעות פונקציה אחת 'findImports(..)', אבל עם typescript-eslint, אין פונקציה כזו. הבעיה שלי היא, האם יש פתרון חלופי לזה, או איך לכתוב פונקציות כאלה.
קרא עוד →
יש לי את כללי ה-eslint שלי כך
module.exports = { env: { es6: true, node: true, mocha: true }, extends: [ "standard-with-typescript" ], parser: '@typescript-eslint/parser', globals: { Atomics: 'readonly', SharedArrayBuffer: 'readonly' }, parserOptions: { ecmaVersion: 2018, sourceType: 'module', project: "./tsconfig.json" }, rules: { "quotes": ["warn", "single"], "indent": ["warn", "tab", { "ignoreComments": true }], קרא עוד →בטייפסקריפט יש לי:
try { } catch(err) { }בלוקים ובלוקי catch ללא ארגומנט:
try { } catch { }בכללי ESLint יש לי (קטע ערוך מ-eslint.yaml):
space-before-function-paren: [error, {anonymous: never, named: never, asyncArrow: always}] space-before-blocks: warn keyword-spacing: [warn, {before: true, after: false, overrides: {catch: {after: true}}}]עם הכללים האלה, ESLint מתלונן על בלוק ה-try/catch הראשון ולא על
קרא עוד →נניח שיש לנו את שלושת הביטויים האלה שסומנו על ידי eslint:
const exp1 = a ?? b; // ok const exp2 = a?.b // ok const exp3 = a?.b ?? c // Parsing error: ':' expected.כל העבודות עובדות ומצוינות ומקובצות בהצלחה עם TypeScript, אבל הביטוי האחרון מעורר שגיאת eslint Parsing error: ':' expected. נראה שיש בעיה בשילוב של Nullish coalescing ו-optional chaining. האם מישהו נתקל בבעיה הזו?
חבילת.json
"eslint": "5.16.0", "eslint-config-airbnb-bas קרא עוד →
אני משתמש ב-IDE של WebStorm עבור פרויקט TypeScript שלי עם ESLint ו-Prettier מופעלים. אני מקבל אזהרה:
לגבי הקוד הזה:
import { ToastAndroid } from 'react-native'; import { TProjectsList, IProject } from '../types'; export const reduceRecursively = (data קרא עוד →אני מנסה להשתמש ב-Eslint כדי לאכוף PascalCase על רכיבי ה-React שלי. הסתכלתי על כל התוספים/החוקים הקיימים שיכולתי למצוא, והנה הבעיות שלי:
אני משתמש ב-Typescript (סיומות .tsx), אז react/jsx-pascal-case לא יעבוד בשבילי. עבור קבצים שאינם קומפוננטות, אני כן רוצה לאפשר kebab-case, אז אני רוצה לסנן רק את הקבצים עם סיומת .tsx.
סיכום - אני רוצה כלל של Eslint שיחייב PascalCase, אבל רק על קבצים שמסתיימים ב־.tsx. תודה!
יש לי נטייה להקשות בטעות על חלק מהמחרוזות כמו שם היישום בתוך הודעות שגיאה. השם זמין לי כקבוע אבל אני שוכח להשתמש בקבוע וכותב את שם היישום בתוך אלמנט JSX או מחרוזת TypeScript. הפרויקט משתמש ב-ESLint לאימות קוד. האם ל-ESLint יש חוק או תוסף שבודק את תוכן אלמנטי JSX ומחרוזות TypeScript עבור מילים/משפטים אסורים?
קרא עוד →אני מנסה להוסיף כלל ל-lint-staged כמו eslint --max-warnings=0 אבל עם שימוש ב-tslint. אז, השאלה היא האם זה אפשרי ואם כן איך? אין שום דבר שימושי באתר התיעוד שלהם.
קרא עוד →כשניסיתי ליצור hook מותאם אישית נתקלתי בכמה בעיות. ESLint לא הציע לי מנויים ל-useEffect. (fetch לא הוצע ומילאתי אותו ידנית) ניסיתי גם eslint-plugin-react-hooks, זה גם לא עבד.
useEffect(() => { fetch(); }, [fetch]);אותו בעיה עבור useCallback
קוד מלא של הוק מותאם אישית
import { useState, useEffect, useCallback } from "react"; import { server } from "./server"; interface State<TData> { data: TData | null; } export const useQuery קרא עוד →