فيجوال ستوديو كود - كيف تحل تعارض قواعد التنقيح (linting) في VSCode بين eslint و 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

اقرأ أكثر →

إعدادات المسافات في ESLint لكتلة try/catch في TypeScript

في تايبسكريبت لدي:

try { } catch(err) { }

الكتل وكتل التقاط بدون وسيط:

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 بين الجمع الصفري والتسلسل الاختياري

لنفترض أن لدينا هذه التعابير الثلاثة مفحوصة بواسطة eslint:

const exp1 = a ?? b; // ok const exp2 = a?.b // ok const exp3 = a?.b ?? c // Parsing error: ':' expected.

جميع الأعمال تعمل ويتم تجميعها بنجاح باستخدام تايب سكريبت، ولكن التعبير الأخير يطلق خطأ eslint Parsing error: ':' expected. يبدو أن هناك مشكلة في الجمع بين معامل الانصهار الصفري والسلسلة الاختيارية. هل هناك من واجه هذه المشكلة؟

package.json

"eslint": "5.16.0"

اقرأ أكثر →

تايبسكريبت - استمر في الحصول على تحذير ESLint "معرّف لكن لم يُستخدم أبداً. (no-unused-vars)" عند تعريفه

أنا أستخدم بيئة تطوير WebStorm لمشروعي بلغة TypeScript مع تمكين ESLint و Prettier. أتلقى تحذيراً:

لهذا الكود:

import { ToastAndroid } from 'react-native'; import { TProjectsList, IProject } from '../types'; export const reduceRecursively = (data: IPro

اقرأ أكثر →

reactjs - قاعدة Eslint للتحقق من حالة باسكال لأسماء مكونات React (فقط لامتداد .tsx)

أحاول استخدام Eslint لفرض PascalCase على مكونات React الخاصة بي. لقد راجعت جميع الإضافات/القواعد الموجودة التي استطعت العثور عليها، وهذه هي مشاكلي:

أنا أستخدم Typescript (امتدادات .tsx)، لذا لن تعمل react/jsx-pascal-case بالنسبة لي. بالنسبة للملفات التي ليست مكونات، أود السماح بـ kebab-case، لذا أرغب في تصفية الملفات التي لها الامتداد .tsx فقط.

ملخص - أود وجود قاعدة في Eslint تفرض استخدام PascalCase، ولكن فقط على الملفات التي تنتهي بـ .tsx. شكرًا!

اقرأ أكثر →

TypeScript - إضافة Eslint للتحقق من محتويات النصوص

أميل إلى ترميز بعض النصوص بشكل ثابت عن طريق الخطأ مثل اسم التطبيق داخل رسائل الخطأ. لدي الاسم متاح في ثابت لكني أنسى استخدام الثابت وأكتب اسم التطبيق في عنصر JSX أو نص TypeScript. يستخدم المشروع ESLint للتحقق من صحة الكود. هل لدى ESLint أي قاعدة أو إضافة لفحص محتوى عناصر JSX ونصوص TypeScript للكلمات/الجمل المحظورة؟

اقرأ أكثر →

تايب سكريبت - Eslint --max-warnings إلى Tslint

أحاول إضافة قاعدة lint-staged مثل eslint --max-warnings=0 ولكن باستخدام tslint. إذن، السؤال هو هل هذا ممكن وإذا كان كذلك كيف؟ لا يوجد شيء مفيد على موقعهم الوثائقي.

اقرأ أكثر →

reactjs - ESLint لا يقترح الاشتراكات اللازمة لـ useEffect (CRA + TS + ESLint + Prettier)

عندما حاولت إنشاء هوك مخصص واجهت بعض المشاكل. 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; } expo

اقرأ أكثر →

node.js - دعم البرمجة النصية الخفيفة TypeScript مع ESLint و Prettier

أصبحت TypeScript/ESLint/Prettier أدواتي المفضلة لجميع أنواع المهام. ومع ذلك، ما زلت أواجه صعوبة مع سكربتات Nodejs الصغيرة التي تتكون فقط من بعض العشرات من الأسطر. لكتابة سكربت Nodejs صغير مع تجربة IDE مريحة، أحتاج إلى:

  • إنشاء ملف package.json
  • تكوين tsconfig (الترجمة الصارمة)
  • تكوين ESLint
  • تكوين بريتير
  • قم بالترجمة إلى جافا سكريبت إذا كنت تهتم بأداء بدء التشغيل (انظر أدناه)

هذا الكثير من الطقوس للسكربتات الصغيرة. لدي سكربتات حيث تكون ملفات ال

اقرأ أكثر →

جافاسكريبت - كيفية إنشاء Mixin في Angular11 باستخدام ESLint

في مشاريعي Angular9 و Angular10 تمكنت من إنشاء mixins باستخدام الخطوات التالية من مدونة استخدام قوة Mixins في Angular

constructor.mixin.ts

export type Constructor<T = {}> = new (...args: any[]) => T;

my-mixin.mixin.ts

import {Constructor} from './constructor.mixin'; import {BehaviorSubject} from 'rxjs'; export const myMixin = <T extends Constructor>

اقرأ أكثر →