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

OSCHINA-MIRROR/smallwhite110-pinus

Клонировать/Скачать
CONTRIBUTING.md 4.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 07.06.2025 14:25 463b9cb

Вклад в проект pinus

Разработочные нормы

Множество NPM-пакетов в одном репозитории?

Да, мы используем lerna + yarn для управления пакетами, обеспечивая связность и возможность единой публикации и управления.

Наша структура директорий

  • scripts => некоторые скрипты
  • packages => все пакеты находятся здесь
    • конкретный NPM-пакет
      • src => исходный код
      • dist => скомпилированный код
      • test => функциональные тесты

Команды, которые должны быть доступны для каждого пакета

  • yarn => установка всех зависимостей
  • yarn run build => компиляция
  • yarn run lint => выполнение проверки src и test директорий
  • yarn run test => выполнение тестов
  • yarn run cov => покрытие тестов
  • yarn run gen-api-ref => генерация API-Reference

Команды, доступные из корневой директории

  • yarn run bootstrap => lerna bootstrap
  • yarn run test => выполнение юнит-тестов для всех пакетов
  • yarn run cov => выполнение тестового покрытия для всех пакетов
  • yarn run build => выполнение сборки для всех пакетов
  • yarn run publish => публикация на npm
  • yarn run clean => lerna clean
  • yarn run purge => удаление всех зависимостей
  • yarn run gen-api-ref => генерация полного API-Reference
  • yarn run ci => выполнение CI

Разработка новых функций

  1. checkout новой ветки features/xxx
  2. разработка функций
  3. слияние в ветку develop (через MR или PR)
  4. слияние в develop

Как выполнять юнит-тесты

  • yarn run test
  • также можно выполнить Mocha через IDE

Контроль качества### Юнит-тесты

  1. Инструменты
    • тестовый фреймворк: Mocha
    • инструмент для проверок: expect из chai
    • инструмент для моков: mm
    • инструмент для покрытия тестов: istanbul
  2. Требования
    • тестовое покрытие: Statement 90% и выше, Branch 80% и выше

Статический анализ

Улучшение надежности и безопасности программного обеспечения требует выполнения статического анализа и применения ограничений.

  1. Типовая система

    • использование TypeScript
    • типовая система может предоставлять ограничения в виде интерфейсов или способность к типовому анализу, что полезно для обнаружения проблем в программном обеспечении
  2. Проверка сторонних пакетов

    • использование nsp
    • выполнение nsp в процессе интеграции

Стиль кода

  1. Инструменты
    • использование TSLint для проверки стиля кода
  2. Способы выполнения
    • до сборки

Нормы отладки

const debug = require('debug')('pinus:packageName:ClassName');
  • прямое использование пакета debug
  • имя точки отладки состоит из трех частей
    • pinus
    • имя пакета
    • имя класса или компонента

Нормы документации

  1. Инструменты
    • использование typedoc для генерации API-Reference

О версиях

  1. Все версии в pinus фиксированы, все обновления отражаются в изменении версий pinus
  2. Аналогично Linux, чётные версии обозначают стабильные версии, нечётные — разработочные версии

Операционные системы* Linux

  • Mac
  • Windows

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

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

1
https://api.gitlife.ru/oschina-mirror/smallwhite110-pinus.git
git@api.gitlife.ru:oschina-mirror/smallwhite110-pinus.git
oschina-mirror
smallwhite110-pinus
smallwhite110-pinus
master