Skip to content

Парадигма

  • Именование классов по БЭМ, разметка в pug, стилизация Sass.
  • Каждый БЭМ-компонент находится в своей директории внутри своего слоя в ./src/components/. Имена файлов в папке должны совпадать с именем блока. Смотри Компоненты.
  • Есть файл конфигурации, определяющий попадание в сборку дополнительных файлов и неиспользованных в разметке блоков. Смотри project.config.js.
  • Список pug-примесей ./src/layout/mixins.pug генерируется автоматически и содержит include существующих pug-файлов всех блоков, не хранится в git.
  • Диспетчер подключения стилей ./src/styles/style.scss генерируется автоматически и содержит импорты стилевых файлов использованных в разметке блоков и импорты дополнительных файлов, указанных в project.config.js, не хранится в git.
  • Входная точка обработки js (./src/scripts/entry.js) генерируется автоматически и содержит импорты js-файлов использованных в разметке блоков и дополнительных файлов, указанных в project.config.js, не хранится в git.
  • В проекте применяется строгий код-гайд, который проверяется с помощью ESLint, Stylelint, Pug-lint и Prettier перед коммитом (с использованием husky, lint-staged) или вручную.
  • Есть команда быстрого создания нового блока:
    sh
    # создаст в директории слоя `atoms` директорию `my-component`
    # и в ней одноимённые scss-, pug-, js-файлы
    node new atoms my-component pug js
    sh
    # создаст в директории слоя `atoms` директорию `my-component`
    # и в ней одноимённые scss-, pug-, js-файлы
    deno new atoms my-component pug js
    sh
    # создаст в директории слоя `atoms` директорию `my-component`
    # и в ней одноимённые scss-, pug-, js-файлы
    bun new atoms my-component pug js