TypeScript/ESLint/Prettier הפכו לכלים האהובים עלי לכל סוגי המשימות. עם זאת, אני עדיין מתקשה עם סקריפטים קטנים ב-Nodejs שהם רק כמה עשרות שורות קוד. כדי לכתוב סקריפט קטן ב-Nodejs עם חוויית IDE נוחה, אני צריך:
זה די הרבה טקס עבור סקריפטים קטנים. יש לי סקריפטים שבהם קבצי התצורה הללו גדולים יותר מ
קרא עוד →בפרויקטים שלי ב-Angular9 וב-Angular10 הצלחתי ליצור mixins באמצעות השלבים הבאים מתוך הבלוג Harnessing the power of Mixins in 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 קרא עוד →
אוקי, אני מנסה להגדיר TypeScript עם כללי lint של Airbnb. אבל אני לא מצליח לגרום ל-EsLint להבין שאני מייבא קובץ "פרויקט" מקומי.
אני ממשיך לראות את השגיאה הזאת:
אני בהחלט מקבל אינטיליסנס של Typescript ויכול ללחוץ Ctrl+Click על הקובץ. ניסיתי להתקין את חבילת
קרא עוד →
אני מחפש כלל ב-Typescript או ב-ESLint שאני יכול להשתמש בו כדי לכפות שימוש בערכי החזרה של פונקציות. לדוגמה
const getNum = () => 12החוק צריך לאפשר לי לקרוא לו ולאחסן את הערך כמו
const a = getNum()אבל אני לא אמור להיות מסוגל לעשות
getNum()כרגע אנ
קרא עוד →
לאחרונה התחלנו לשדרג מ-Quasar v1 ל-Quasar v2 (מ-Vue 2 ל-Vue 3).
הקוד הזה עבד היטב קודם:
// src/pages/myComponent.vue <script lang="ts"> import { defineComponent } from 'vue' export default defineComponent({ props: { appId: { type: String, required: true, }, }, setup(props) { if (!props.appId) { console.error('No application ID provided to load the correct form') } }, }) </script>אבל עם Vue 3
קרא עוד →
אני משתמש בפונקציונליות "eslint --fix on save". אתמול זה הפסיק לעבוד. אבל זה עדיין עובד טוב בטרמינל. בעיה זו מופיעה רק ב-WebStorm.
IDE מחזיר שגיאה:
Error: Failed to load plugin '@typescript-eslint' declared in '.eslintrc.json » ./node_modules/gts/#overrides[0]': No valid exports main found for '/Users/yurygrinko/WebstormProjects/lynx-project-app/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils' Referenced from: /Users/yurygrinko/WebstormProjects קרא עוד →אני משתמש ב-https://www.npmjs.com/package/react-native-dotenv
כדי להשתמש בכך כראוי, יש לי את הכרזת המודול הזאת:
declare module '@env' { export const SOME_VAR: any; }יובא כדלקמן:
import { SOME_VAR } from '@env';ESLint ממשיך להוציא אחד מהדברים האלה כשאני מייבא אותו, למרות זאת:
לא הצלחתי להבין למה. הנה ה-.eslintrc.js
קרא עוד →
אני עובד על בסיס קוד של TypeScript שמשתמש במודולים בצורה כזו.
export module Foo { const foos = [] export function getFoos() { return getLastFoo(); } function getLastFoo() { return foos[-1] } }צילום מסך של השגיאה:
קרא עוד →חיפשתי דרך להגדיר את eslint (או tslint) כך שידרוש סוגריים מסולסלות בפונקציות חץ למעט כשאנו משתמשים בהחזרה מרומזת. צפיתי בכלל arrow-body-style שמקרב אותנו יותר לסטנדרט הרצוי לנו מאשר יש לנו כרגע, אבל אני לא רואה דרך לאסור פונקציית חץ עם ביטוי אחד חוץ מתי שיש בפועל ערך מוחזר (אפילו אם ההחזרה הזו מצוינת כ- void).
/* valid */ const example = () => ({ foo: 'bar' }); const example2 = () => { return { foo: 'bar' } }; /* If t קרא עוד →אנו מיישמים מודול בקרת גישה בפרויקט שלנו. כאשר משתמש נכנס למערכת, ההרשאות שלו ייטענו בהתאם לתפקידו. והתוכנה תקבע מה הוא יכול לעשות אך ורק על סמך רשימת ההרשאות במקום מי הוא או מהו תפקידו.
כדי להבטיח שהקודים יכבדו בקפידה את העיצוב, אני רוצה להוסיף כלל eslint כדי למנוע ערכים מסוימים להופיע בקבצי מקור מסוימים.
לדוגמה, הקוד הבא לא אמור להיות מותר
// should throw error because superadmin is in blackist if(user.isSuperAdmin) { // do something }או
קרא עוד →