Жемчужины репозиториев этой недели: 5 репозиториев TypeScript, которые вам нужно проверить

Жемчужины репозиториев этой недели: 5 репозиториев TypeScript, которые вам нужно проверить

12 января 2024 г.

Привет 👋

В ходе анализа на этой неделе мы обнаружили 5 репозиториев TypeScript, которые обожают 1% лучших разработчиков.

Готовы ознакомиться с ними?

Image description


Как определить «1% лучших» разработчиков? 🔎

Вы когда-нибудь слышали о DevRank?

Проще говоря, DevRank использует алгоритм Google PageRank для измерения насколько важен разработчик в области открытого исходного кода на основе его вклада. репозитории с открытым исходным кодом.

Найдя репозитории, в которых отметились 1% лучших разработчиков, мы вычисляем вероятность того, что эти лучшие разработчики будут активировать репо, по сравнению с вероятностью того, что нижние 50% этого не сделают. 📊👇

Image description

Примечание. Я понимаю, что этот метод ранжирования еще не идеален, поэтому мы продолжаем совершенствовать наш модель. Мы будем рады любым отзывам по этому поводу. 🙏


Приведенные ниже репозитории будут особенно полезны, если вы захотите создавать свои собственные проекты.

Если вы хотите создавать небольшие приложения, попробуйте Creator Quests — конкурс с открытым исходным кодом, в котором разработчики получают вознаграждение за создание классных приложений с помощью ChatGPT, Claude, Gemini и других. 🙃 💰

Последний квест для авторов предлагает вам создать инструменты разработчика с использованием GenAI.

Текущий призовой фонд составляет 2048 долларов США, и он будет увеличиваться по мере присоединения большего числа участников. Чтобы принять участие, вы можете просмотреть Квесты на Quine.sh.

Теперь, когда мы изучили методологию, давайте углубимся в пять фантастических репозиториев TypeScript, которые могут поднять вашу работу на новый уровень 🚀


🧩 amilajack/eslint-plugin-compat

Инструмент для проверки совместимости вашего кода с браузером

Image description

Почему вас это должно волновать? Eslint-plugin-compat гарантирует совместимость вашего кода с целевыми браузерами. Этот инструмент проверяет ваш код JavaScript, чтобы отметить функции, которые могут не работать в среде браузера. Это полезно для предотвращения проблем, связанных с браузером, и обеспечения единообразного взаимодействия с пользователем на разных веб-сайтах.

Настройка: npm install eslint-plugin-compat

Пример использования:

# 1. Update ESLint Config in .eslintrc.json:

{
  "plugins": ["compat"],
  "extends": ["plugin:compat/recommended"],
  "env": {
    "browser": true
  }
  // ...
}

# 2. Configure Target Browsers in your package.json:

{
  // ...
  "browserslist": ["defaults"]
}

https://github.com/amilajack/eslint-plugin-compat


🔗 Джеффиджо/typesync

Устанавливает недостающие типы TypeScript в ваших зависимостях

Image description

Почему это вас должно волновать? TypeSync автоматически устанавливает определения типов TypeScript для всех зависимостей в проекте. Инструмент сканирует ваш файл package.json и автоматически добавляет соответствующий @types/package, избавляя вас от необходимости добавлять их вручную. Это действительно экономит время и гарантирует, что проверка типов вашего проекта правильна и совместима с вашими зависимостями.

Настройка: npm install -g typesync

Пример использования:

typesync [path/to/package.json] [--dry]

# Path is relative to the current working directory. If omitted, defaults to package.json.
# If --dry is specified, will not actually write to the file, it only prints added/removed typings.

https://github.com/jeffijoe/typesync


👯‍♀️ scinos/yarn-deduulate

Дедупликация файлов Yarn.lock

Image description

Почему это вас должно волновать? Это помогает устранить зависимости проекта. Это делает ваш проект легче и потенциально быстрее, удаляя дубликаты пакетов из вашего файла Yarn.lock. Этот инструмент удобен, если вы используете Yarn v1, поскольку он не поддерживает встроенную дедупликацию пакетов, как Yarn v2.

Настройка: npm install -g Yarn-Deduulate ИЛИ Yarn Global Add Yarn-Deduulate

Пример использования: просто запустить

yarn-deduplicate yarn.lock

https://github.com/scinos/yarn-deduulate


⭕️ дискорд/кольца фокусировки

Помогает отображать индикаторы фокуса в любом месте веб-страницы.

Image description

Почему это вас должно волновать? Индикаторы фокуса – это визуальные подсказки, указывающие, какой элемент на веб-странице выбран в данный момент. React-focus-rings — это инструмент для создания последовательного и красивого визуального фокуса в веб-приложениях. Это упрощает использование колец фокусировки и обеспечивает эффективность и доступность вашего веб-сайта для всех пользователей, включая пользователей навигации с помощью клавиатуры.

Настройка: npm i response-focus-rings

Пример использования:

import * as React from "react";
import ReactDOM from "react-dom";

import { FocusRing, FocusRingScope } from "react-focus-rings";
import "react-focus-rings/src/styles.css";

function App() {
  const containerRef = React.useRef<HTMLDivElement>(null);
  return (
    <div className="app-container" ref={containerRef}>
      <FocusRingScope containerRef={containerRef}>
        <div className="content">
          <p>Here's a paragraph with some text.</p>
          <FocusRing offset={-2}>
            <button onClick={console.log}>Click Me</button>
          </FocusRing>
          <p>Here's another paragraph with more text.</p>
        </div>
      </FocusRingScope>
    </div>
  );
}

ReactDOM.render(<App />, document.body);

https://github.com/discord/focus-rings


🔦 g-plane/селектор-типизированных запросов

Лучше типизировать querySelector и querySelectorAll

Image description

Почему это вас должно волновать? Typed-query-selector улучшает стандартные функции querySelector и querySelectorAll, обеспечивая более удобный ввод текста с использованием литеральных типов шаблонов TypeScript. Это означает, что вы получите гораздо большую точность для элементов DOM, что сделает ваш код TypeScript более безопасным и простым в использовании; особенно при работе со сложными селекторами или действиями непосредственно с элементами DOM в типобезопасном режиме.

Настройка: npm i -D typed-query-selector

Пример использования:

import 'typed-query-selector'

document.querySelector('div#app') // ==> HTMLDivElement

document.querySelector('div#app > form#login') // ==> HTMLFormElement

document.querySelectorAll('span.badge') // ==> NodeListOf<HTMLSpanElement>

anElement.querySelector('button#submit') // ==> HTMLButtonElement

https://github.com/g-plane/typed-query-selector


Я надеюсь, что эти открытия будут для вас полезны и помогут вам создать более надежный набор инструментов Typescript! ⚒️

Пришло время программировать, развлекаться и получать потрясающие награды. 🤘

Image description

PS: Пожалуйста, рассмотрите возможность поддержки этих проектов, сняв их в главных ролях. ⭐️ Я не связан с ними. Я просто считаю, что великие проекты заслуживают большого признания.

Увидимся на следующей неделе,

Ваш приятель по Хакернуну 💚

Бап


Также опубликовано здесь.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE