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

OSCHINA-MIRROR/mirrors-handlebars.js

Клонировать/Скачать
CONTRIBUTING.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.06.2025 13:31 f8026e7

Как участвовать

Сообщение о проблемах безопасности

Пожалуйста, обратитесь к нашей политике безопасности.

Сообщение о проблемах

Пожалуйста, обратитесь к нашей FAQ для решения распространенных проблем.

Если вы столкнулись с другими проблемами проекта, не стесняйтесь сообщить нам об этом, создав [проблему][issue]!

В общем, мы можем попросить вас предоставить пример проблемы, который может быть простым, как jsfiddle/jsbin/и т.д. Мы подготовили шаблон jsfiddle [пример][jsfiddle] для упрощения этого. (Мы будем поддерживать эту ссылку актуальной при новых выпусках, так что не стесняйтесь проверять здесь).

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

Проблемы документации на сайте handlebarsjs.com должны быть сообщены на handlebars-lang/docs.

Ветки- Ветка 4.x содержит текущую версию. Исправления ошибок должны быть сделаны в этой ветке.

  • Ветка master содержит следующую версию. Дата выпуска еще не определена. Менеджеры должны регулярно объединять ветку 4.x с веткой master.
  • Ветка 3.x содержит устаревшую версию 3.x. Исправления ошибок применяются отдельно (если необходимо). Ветка не будет объединена с любой из других веток.## Пул-реквесты

Мы также принимаем [пул-реквесты][pull-request]!

В общем, мы любим видеть пул-реквесты, которые

  • Сохраняют существующий стиль кода
  • Ориентированы на одно изменение (то есть избегают крупных рефакторингов или стилистических изменений в неизмененном коде, если это не основная цель пул-реквеста)
  • Имеют хорошие сообщения коммитов
  • Имеют тесты
  • Не значительно уменьшают текущую охватываемость кода (см. coverage/lcov-report/index.html)

Сборка

Чтобы собрать Handlebars.js, вам потребуются несколько установленных компонентов.

Перед сборкой убедитесь, что подмодуль Git spec/mustache включен (то есть директория spec/mustache не должна быть пустой). Чтобы включить его, если вы используете Git версии 1.6.5 или выше, используйте git clone --recursive вместо git clone. Или, если вы уже клонировали без --recursive, используйте git submodule update --init. Зависимости проекта могут быть установлены с помощью команды npm install.

Для сборки Handlebars.js с нуля вам нужно запустить grunt в корневой директории проекта. Это соберет Handlebars и выведет результаты в папку dist/. Для повторного запуска тестов выполните grunt test или npm test. Вы также можете запустить наш набор бенчмарков с помощью команды grunt bench.

Команда grunt dev позволяет наблюдать за тестами и позволяет выполнять тестирование в браузере по адресу http://localhost:9999/spec/.Если вы заметили какие-либо проблемы, пожалуйста, сообщите о них в трекере проблем GitHub по адресу http://github.com/handlebars-lang/handlebars.js/issues.

Запуск локальных тестов

Чтобы запустить локальные тесты, сначала установите все зависимости.

npm install

Клонируйте спецификации Mustache в папку spec/mustache.

cd spec
rm -r mustache
git clone https://github.com/mustache/spec.git mustache

Из корневой директории запустите тесты.

npm test

Проверка и форматирование кода

Handlebars использует eslint для обеспечения лучших практик и prettier для автоматического форматирования файлов. Мы выполняем проверку и форматирование в двух фазах:

  • Внесенные в коммит файлы проверяются и форматируются в предкоммит-хуке. На этом этапе ошибки eslint запрещены, в то время как предупреждения допустимы.
  • GitHub CI-задание также проверяет все файлы и проверяет, правильно ли они отформатированы. На этом этапе предупреждения запрещены.

Вы можете использовать следующие скрипты, чтобы убедиться, что CI-задание не завершится ошибкой:- npm run lint выполнит eslint и завершится ошибкой при появлении предупреждений

  • npm run format выполнит prettier на всех файлах
  • npm run check-before-pull-request выполнит большинство проверок, которые выполняет наше CI-задание в его сборочном задании, за исключением "интеграционного тестирования".
  • npm run test:integration выполнит интеграционные тесты (используя старые версии NodeJS и интеграции с webpack, babel и т.д.) Эти тесты работают только на машине с операционной системой Linux с установленным nvm (для запуска тестов в нескольких версиях NodeJS).## Выпуск последней версии

Перед попыткой выпуска Handlebars убедитесь, что у вас есть следующие права доступа:

  • Право коммита к handlebars-lang/handlebars.js
  • Право публикации на npmjs.com для пакета handlebars
  • Право публикации на gemfury для пакета handlebars-source
  • Право коммита к репозиторию для устаревших менеджеров пакетов: components/handlebars
  • Право коммита к репозиторию производства сайта Handlebars: handlebars-lang/handlebarsjs.com-github-pagesПри выпуске предыдущей версии Handlebars обратитесь к CONTRIBUTING.md в соответствующей ветке.

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

npm ci
npx grunt
npm publish

cd dist/components/
gem build handlebars-source.gemspec
gem push handlebars-source-*.gem

После выпуска следует проверить, что все места действительно обновлены. Особенно убедитесь, что теги latest в этих местах всё ещё указывают на последнюю версию.

Когда всё в порядке, сайт handlebars должен быть обновлен.

Перейдите в ветку master репозитория handlebars-lang/docs и сделайте минимальное изменение в README. Это активирует github-action, который перезапускает сайт, извлекая последний номер версии из npm-регистра. (отметим, что основной веткой этого репозитория не является master, а регулярные изменения делаются в репозитории handlebars-lang/docs).[generator-release]: https://github.com/walmartlabs/generator-release [pull-request]: https://github.com/handlebars-lang/handlebars.js/pull/new/master [issue]: https://github.com/handlebars-lang/handlebars.js/issues/new [jsfiddle]: https://jsfiddle.net/4nbwjaqz/4/

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

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-handlebars.js.git
git@api.gitlife.ru:oschina-mirror/mirrors-handlebars.js.git
oschina-mirror
mirrors-handlebars.js
mirrors-handlebars.js
master