1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors_sveltejs-svelte

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 19 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 20:59 0850147

Участие в проекте Svelte

Svelte представляет собой новый способ создания веб-приложений. Это компилятор, который преобразует ваши декларативные компоненты в эффективный JavaScript, который точно обновляет DOM.

Сайт Open Source Guides предлагает коллекцию ресурсов для индивидуумов, сообществ и компаний. Эти ресурсы помогают людям, желающим узнать, как запустить и внести свой вклад в открытые проекты. Вкладчики и новички в области открытого программного обеспечения найдут следующие руководства особенно полезными:

Принять участие

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

  • Просто начните использовать Svelte. Пройдите через руководство для начинающих. Все работает так, как ожидалось? Если нет, мы всегда рады улучшениям. Дайте нам знать, открытое сообщение об ошибке.
  • Посмотрите открытые проблемы. Хорошим местом для начала могут стать задачи с меткой good first issue. Предложите обходные пути, попросите уточнений или предложите метки. Помогите сортировать задачи.
  • Если вы нашли проблему, которую хотите исправить, откройте запрос на вытягивание.
  • Прочитайте наши руководства. Если что-то кажется запутанным или может быть улучшено, вы можете сделать правки, нажав "Редактировать эту страницу" в нижнем левом углу страницы руководства.
  • Посмотрите на функции, запрошенные другими членами сообщества и рассмотрите возможность открытия запроса на вытягивание, если видите что-то, что вам хочется реализовать.

Вклады очень приветствуются. Если вы считаете, что вам нужна помощь в планировании вашего вклада, пожалуйста, свяжитесь с нами на Discord по адресу svelte.dev/chat и скажите, что вы ищете немного помощи.

Сортировка задач и вытягивания запросов

Один из отличных способов внести свой вклад в проект без написания кода — помочь сортировать задачи и вытягивать запросы, когда они приходят.

  • Задайте вопросы, если вы считаете, что задача не предоставляет всех необходимых деталей для ее решения.
  • Отметьте старые задачи или те, которые следует закрыть.
  • Задайте план тестирования и просмотрите код.

Наш процесс

RFCs

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

Календарь

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

Встречи поддерживателей

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

Приоритизация

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

Ошибки

Мы используем GitHub Issues для наших общественных ошибок. Если вы хотите сообщить о проблеме, взгляните вокруг и убедитесь, что кто-то еще не открыл задачу на эту проблему. Если вы уверены, что это новая ранее не сообщенная ошибка, вы можете отправить сообщение об ошибке.

Если у вас есть вопросы по использованию Svelte, свяжитесь с нами на Discord по адресу svelte.dev/chat, и мы сделаем все возможное, чтобы ответить на ваши вопросы.

Если вы видите что-либо, что хотели бы реализовать, создайте запрос на функцию.

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

  • Одно сообщение об ошибке — одна ошибка: Пожалуйста, сообщайте одну ошибку на одно сообщение об ошибке.
  • Укажите шаги воспроизведения: Перечислите все шаги, необходимые для воспроизведения ошибки. Человек, прочитавший ваше сообщение об ошибке, должен иметь возможность последовательно выполнить эти шаги для воспроизведения вашей ошибки с минимальными усилиями. Если возможно, используйте REPL для создания ваших шагов воспроизведения.

Запросы на вытягивание

Предложение изменения

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

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

Маленькие запросы на вытягивание гораздо легче проверяются и имеют больше шансов быть принятыми.

Установка

Убедитесь, что у вас установлен pnpm. После клонирования репозитория выполните команду pnpm install.

Разработка

Чтобы построить UMD версию svelte/compiler (это необходимо только для потребителей CommonJS или браузерного использования), выполните команду pnpm build внутри packages/svelte. Чтобы перестроить каждый раз, когда меняются исходные файлы, выполните команду pnpm dev.

Создание ветки

Ответвите репозиторий и создайте свою ветку из main. Если вы никогда раньше не отправляли запрос на вытягивание GitHub, вы можете узнать, как это сделать, из этого бесплатного видеопособия.

Тестирование

Хороший план тестирования включает точные команды, которые вы выполнили, и их вывод, а также предоставляет скриншоты или видео, если запрос на вытягивание изменяет интерфейс пользователя.

  • Если вы изменили API, обновите документацию.

Письмо тестов

Все тесты расположены в папке /test.

Примеры тестов хранятся в папке /test/xxx/samples.

Выполнение тестов

ПРЕДУСЛОВИЕ: Установите chromium через playwright, выполнив команду pnpm playwright install chromium

  1. Для выполнения теста выполните команду pnpm test.

  2. Для выполнения конкретного набора тестов используйте команду pnpm test <suite-name>, например:

    pnpm test validator
  3. Для фильтрации тестов внутри набора тестов используйте команду pnpm test <suite-name> -- -t <test-name>, например:

    pnpm test validator -- -t a11y-alt-text

    (Вы также можете использовать FILTER=<test-name> pnpm test <suite-name>, что удалит другие тесты вместо простого пропуска их — это приведет к более быстрому и компактному результату тестирования, но это неконвенционально. Выберите своего бойца.)

Обновление файлов .expected
  1. Наборы тестов, такие как snapshot и parser, утверждают, что сгенерированный выход совпадает со существующими снимками.
  2. Чтобы обновить эти снимки, выполните команду UPDATE_SNAPSHOTS=true pnpm test.

Проверка типов

Чтобы проверить типы кодовой базы, выполните команду pnpm check внутри packages/svelte. Чтобы проверить типы в режиме просмотра, выполните команду pnpm check:watch.

Стилевая грамотность

Eslint поймёт большинство стилевых проблем, которые могут существовать в вашем коде. Вы можете проверить стиль вашего кода, выполнив команду pnpm lint.

Конвенции кодирования

  • snake_case для внутренних имён переменных и методов.
  • camelCase для публичных имён переменных и методов.

Генерация типов

Типы автоматически создаются из источника, но результат проверяется, чтобы убедиться, что случайные изменения не были внесены. Выполните команду pnpm generate:types, чтобы перегенерировать типы.

Отправка вашего запроса на вытягивание

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

  1. Опишите ваш план тестирования в описании вашего запроса на вытягивание. Убедитесь, что вы протестировали свои изменения.
  2. Убедитесь, что ваш код проходит проверку стиля (pnpm lint).
  3. Убедитесь, что ваши тесты проходят (pnpm test).

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

Разрушительные изменения

Когда добавляется новая разрушительная изменение, следуйте этому шаблону в вашем запросе на вытягивание:

### Новая разрушительная изменение здесь

- **Кому это влияет**:
- **Как мигрировать**:
- **Почему делать эту разрушительную изменение**:
- **Степень серьёзности (число людей, затронутых x усилия)**:

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

Если вы хотите вручную протестировать запрос на вытягивание в другом pnpm проекте, вы можете сделать это, выполнив команду pnpm add -D "github:sveltejs/svelte#path:packages/svelte&branch-name" в этом проекте.

Лицензия

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

ВопросыЕсли у вас есть вопросы о нашем процессе, как продолжать работу и т.д., смело обращайтесь в канал #contributing на Discord.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors_sveltejs-svelte.git
git@api.gitlife.ru:oschina-mirror/mirrors_sveltejs-svelte.git
oschina-mirror
mirrors_sveltejs-svelte
mirrors_sveltejs-svelte
main