Это часть 1 руководства по участию в проектах с открытым исходным кодом Angular.

Участие в программных проектах с открытым исходным кодом дает много личных и профессиональных преимуществ. Они могут включать в себя расширенный опыт обучения, эмоциональную обратную связь о помощи сообществу или создание вашего публичного профиля и создание репутации.

Если вы посещали ng-conf (или другую Конференцию сообщества Angular) или разговаривали с прошлым посетителем, вы, возможно, видели или слышали об удивительном инклюзивном сообществе Angular. Возможно, вы почувствовали желание принять более активное участие или помочь сообществу. Эта серия публикаций поможет вам в этом, уменьшив при этом некоторые из неизвестных и проблем, с которыми впервые сталкиваются многие новые участники.

Что и где?

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

Когда новый участник смотрит на организацию Angular на GitHub, это может показаться немного пугающим. Существует 189 репозиториев, которые охватывают AngularJS (версия 1.x), Angular (версия 2+), тестирование, сборки, инструменты, документация и компоненты.

В этой серии публикаций мы собираемся разбить это на части и устранить неоднозначность этих репозиториев ... В этом первом посте мы сосредоточимся на основном репозитории Angular Framework и связанных с ним пакетах. В будущих публикациях мы рассмотрим интерфейс командной строки Angular, компоненты материалов и подробно расскажем о некоторых вспомогательных репозиториях и шаблонах именования.

Репозиторий angular / angular

URL: github.com/angular/angular

Описание

В этом репозитории размещается Angular Framework, его основные пакеты и документация.

Основные пакеты находятся в каталоге packages/ и включают:

анимация

Код, связанный с анимацией HTML-элементов с помощью CSS. "Руководство"

базель

Код, связанный со сборкой Angular с использованием открытого исходного кода Bazel build system

жим лежа

Код, связанный со сквозным тестированием производительности Angular с использованием бенчмаркинга. "Руководство"

обычный

Код, связанный с общими каналами (JSON, дата, асинхронность и т. Д.), Директивами (*ngIf, *ngFor, ngStyle, ngPlural и т. Д.), Стратегиями расположения и пути, а также интернационализацией (локализация, форматирование даты / числа / валюты и т. Д. .)

compiler-cli

Код, связанный с интерфейсами командной строки (CLI) компилятора ngcc и ngtsc

компилятор

Код, связанный с компилятором Angular, включая Ahead of Time (AOT), Just In Time (JIT), интернационализацию, парсеры (шаблоны, выражения, CSS), компилятор представления и служебные программы компилятора

ядро ​​

Код, относящийся к обнаружению изменений, внедрению зависимостей, средствам визуализации, компоновщику, очистке, метаданным и представлению

элементы

Код, относящийся к упаковке Угловых компонентов как Пользовательские элементы. "Руководство"

формы

Код, связанный с интеграцией Angular с Forms с использованием шаблонного или реактивного стиля. "Руководство"

http

Код, связанный с интеграцией приложений Angular с API серверной части с использованием протокола HTTP. "Руководство"

языковая служба

Код, связанный со службой Angular Language Service, которая обеспечивает расширенную поддержку редакторов, обеспечивающих автозавершение кода, выделение ошибок, подсказки и навигацию по коду. "Руководство"

платформа- *

Код, связанный с конкретными платформами, которые поддерживает Angular, включая рендеринг на стороне сервера (сервер), веб-браузеры (браузер, динамический браузер) и Web Workers (веб-воркер, динамический веб-работник)

маршрутизатор

Код, относящийся к Angular Router. "Руководство"

сервисный работник

Код, связанный с использованием Service Workers с Angular. "Руководство"

обновить

Код, связанный с обновлением или понижением версии модулей для перехода с AngularJS на Angular. "Руководство"

Документация

Кроме того, в этом репозитории размещен код для сайта первичной документации: angular.io (сокращенно aio в репозитории). Если вы хотите помочь с документацией, вам нужно будет следовать Руководству разработчика AIO.

Руководство по участию

Angular Contribution Guide охватывает множество тем, в том числе, где отправлять вопросы, где сообщать об ошибках, как отправлять запросы функций, как создавать запросы на вытягивание и как присоединиться к живому сообществу. чат »для получения помощи в режиме реального времени. Он также охватывает стандарты кодирования, рекомендации по сообщениям коммитов Git и подробную информацию о подписании лицензионного соглашения для участников (CLA).

Кроме того, вы можете присоединиться к списку рассылки Angular или участвовать в нем через Группы Google. Список рассылки - хорошее место, чтобы задать вопросы, которые могут возникнуть перед отправкой сообщения об ошибке или запроса функции.

Помощь с новыми проблемами

Вклад заключается не только в обновлении исходного кода. Отличный способ начать вносить свой вклад - это комментировать недавно обнаруженные проблемы, о которых вы знаете. Это включает в себя помощь в воспроизведении на StackBlitz или локальную отладку чьей-либо проблемы, чтобы посмотреть, сможете ли вы ее воспроизвести. Это также может включать в себя некоторое исследование и просмотр документации API, чтобы убедиться, что проблема, о которой сообщается, правильно использует API и имеет ли он правильный синтаксис. Если вы не готовы начать исправлять ошибки или обновлять документы, это отличный способ учиться и вносить свой вклад в сообщество.

Помощь при проверке запросов на вытягивание

Если вы опытный разработчик или хотите выйти за рамки помощи другим в решении проблем, вы можете помочь, просмотрев запросы на вытягивание. Во многих случаях полезно просто вежливо попросить кого-нибудь объяснить, почему они выбрали тот или иной подход. Иногда, когда автор запроса на вытягивание объясняет свой подход рецензенту, он понимает, что есть лучший способ, который он раньше не рассматривал. В других случаях они понимают, что не рассматривали некоторые крайние случаи. Ответы и обсуждения авторов запроса на вытягивание могут помочь вам узнать больше о проекте и лучше подготовить вас к внесению изменений в исходный код.

Если у вас есть вопросы по любой из этих тем, оставьте комментарий, и я постараюсь дать вам ответ.

Хорошие первые выпуски

Вы можете найти проблемы, которые будут интересны новым участникам, здесь. Эти вопросы обычно ограничены по объему и содержат лучшие рекомендации и инструкции, чем стандартные вопросы.

Если у вас есть вопросы или опасения по поводу одной из этих проблем, опубликуйте их в качестве комментария к проблеме. Учтите, что здесь нет глупых вопросов. Если вам нужна помощь или руководство, оставьте комментарий, чтобы попросить об этом. Вот для чего предназначены эти выпуски.

Обратите внимание, что на некоторые вопросы, требующие значительных усилий, может быть получен ответ, который направит вас на конкретный образовательный ресурс. Это может быть сообщение в блоге, документ Markdown, подкаст и т. Д.

Кодекс поведения

Обратите внимание, что Кодекс поведения Angular применяется ко всем взаимодействиям внутри сообщества Angular. Это включает в себя публичное и частное общение между членами сообщества Angular. Ниже приведены некоторые примеры того, где вы должны соблюдать Кодекс поведения: GitHub, Gitter, IRC, списки рассылки, Twitter, конференции, подкасты, обмен мгновенными сообщениями, личное общение, конференц-связь, интервью, пресс-релизы, контент веб-сайтов и блогов. и т. д. Любые вопросы или нарушения следует присылать на адрес [email protected].

Руководство разработчика

Руководство разработчика Angular содержит подробную информацию о предварительных требованиях, получении исходного кода, установке зависимостей, построении фреймворка Angular и локальном запуске тестов.

Следующие шаги

Я планирую аналогичным образом задокументировать участие в Angular Command Line Interface (CLI), Angular Component Dev Kit (CDK) и Angular Material Components.

Я также планирую вникнуть в некоторые детали на основе отзывов и вопросов, поднятых сообществом. Это особенно актуально для Руководства разработчика, но я жду, когда появятся несколько моих PR, которые помогут сгладить некоторые острые углы.

Подпишитесь на публикацию ng-conf, чтобы получать уведомления об этих обновлениях.

EnterpriseNG выходит 4 и 5 ноября 2021 года.

Приходите послушать ведущих спикеров сообщества, экспертов, лидеров и команду Angular, которые в течение двух дней обсудят все, что вам нужно, чтобы максимально использовать Angular в ваших корпоративных приложениях.
Темы будут сосредоточены на следующих четырех областях:
• Monorepos
• Микро-интерфейсы
• Производительность и масштабируемость
• Удобство обслуживания и качество
Подробнее здесь ›› https://enterprise.ng-conf.org/