Catalog npm
PACKAGE EXPLORERView in registry

@0x6368656174/wp-builder

npm

WordPress CLI for fast build modern site

Versions collected61
Direct dependencies44From release 1.6.1
Last observed20 Oct, 22:38 UTC

README

Current package documentation

@0x6368656174/wpbuild

Утилита командной строки для продуктивной работы с WordPress при помощи интеграции с WebPack.

Зачем нужен данная утилита

Утилита пытается решить следующие проблемы разработки на WordPress:

  1. Разделение кода и представления, при помощи twig-шаблонов, в виде интеграции с Timber;
  2. Модульности JavaScript-кода, при помощи Babel и WebPack;
  3. Модульности CSS-кода, при помощи Sass/Scss и использовании БЭМ-методологии;
  4. Использование пакных менеджеров, при помощи интеграции с npm и Composer;
  5. Быстрый старт и развертывание проекта;
  6. Использование литеров, для автоматического контроля и исправления стиля написания кода;
  7. Сборка проекта из исходников и его распространение, для возможности интеграции проекта с CI.

Установка

Для установки, необходимо выполнить команду:

# npm install -g @0x6368656174/wp-builder

Использование

Инициализация нового проекта

Для инициализации нового пустого проекта, необходимо выполнить команду:

# wpbuild init

Структура нового проекта

  • composer/ - каталог со скриптами composer. По-умолчанию, там создается скрипт, который следит за тем, чтоб добавление и обновление пакетов через composer не затирало основные параметры dist/wp-config.php.
  • dist/ - каталог с результатом сборки проекта.
  • dist/vendors/ - каталог с установленными пакетами пакетного менеджера composer. После инициализации проекта в него будет автоматически установлено расширение для использования twig-шаблонов WordPress - Timber.
  • dist/wp-content/ - стандартная папка wp-content из поставки WordPress. Она вынесена отдельно, чтоб она не затиралась, в случае обновления WordPress через composer. В dist/wp-content/название_темы/ будет автоматически собираться тема проекта.
  • dist/.htaccess - файл конфигурации веб-сервера Apache, для работы WordPress из подкаталога wordpress.
  • dist/wordpress/ - каталог автоматической установки WordPress из composer.
  • dist/index.php - переделанный стандартный index.php WordPress для работы его из подкаталога wordpress.
  • dist/wp-config.php - стандартный файл с настройками WordPress. Параметры DB_NAME, DB_USER, DB_PASSWORD, DB_HOST и WP_DEBUG не будут перезатераться при обновлении WordPress через composer.
  • node_modules/ - каталог с установленными пакетами пакетного менеджера npm.
  • src/название_темы/ - каталог с исходниками темы.
  • .editorconfig - файл описания стиля кода для IDE.
  • .eslintrc - файл конфигурации линтера JavaScript - ESLint.
  • .gitignore - файл описания игнорируемых файлов системой контроля версии git.
  • .lintstagedrc - файл описания автоматического применения литеров, при создании коммита в git.
  • .php_cs.dist - файл конфигурации линтера PHP - PHP-CS-Fixer.
  • .prettierrc - файл конфигурации утилиты автоматического форматирования кода Prettier.
  • .stylelintrc - файл конфигурации линтера CSS/Sass/Scss - StyleLint.
  • composer.json - стандартный файл описания проекта пакетного менеджера composer.
  • composer.lock - служебный файл пакетного менеджера composer.
  • wpbuild.json - файл конфигурации проекта. Описание конфигурации смотри ниже.
  • package.json - стандартный файл описания проекта пакетного менеджера npm.
  • tsconfig.json - файл конфигурации TypeScript.
  • tslint.json - файл конфигурации линтера TypeScript - TSLint.

Утилита позволяет разбить проект WordPress (тему), на независимы модули, компонтенты (бллоки), каждый из которых содержит в себе отдельные реализации на PHP, HTML (twig) CSS (так же поддерживаются Sass и Scss), и JavaScript (так же поддерживается TypeScript). Релизации внутри модуля могут быть автономными, а могу быть связаны со смежными модулями. Для CSS части связь реализуется только в вариантах написанных на Sass/Scss, при помощи @import диррективы. Для JavaScript части связь реализуется при помощи ES-модулей.

Утилита собирает все модули в готовый проект, при этом все CSS-части компилируются в несколько оптимизированных CSS-файлов, а JS-части компилируются при помощи Babel или TypeScript в ES6, и собираются в отдельные JS-модули при помощи WebPack.

Принципы организации файлов с исходниками темы

Все файлы с исходниками принято располагать в папке src/название_темы/.

Файлы PHP рекомендуется размещать внутри вложенных папок сгруппированных по назначению. Например, файлы описывающие пользовательские мето-боксы можно разместить в папке src/название_темы/MetaBox. Утилита автоматически настраивает RSR-4 автолоад файлов PHP по их пространству имен. Она создает пространство имен вида название_темы в CamelCase стиле (например для темы test-theme утилита создаст пространство имен TestTheme) и прописывает PSR-4 автолоад для поиска пространства имен темы в папке src/название_темы/. Поэтому для PHP-файлов можно задать пространство имен (nampespace) и потом автоматически их подключать при помощи PSR-4 автолоада. Например для файла описывющего пользовательский мето-бокс для главной страницы Front темы test-theme можно задать пространтсво имен namespaces TestTheme\MetaBox и потом использовать его при помощи PSR-4 автолоада use TestTheme\MetaBox\Front. Важно соблюдать правила именования PSR-4, т.е. название папки должно совпадать с названием пространства имен, а название класса с названием файла.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 61

Collected releases
VersionPublishedDirect dependenciesOpen version
1.6.1Registry latest29 Jan 201944
1.6.028 Jan 201944
1.5.028 Jan 201943
1.4.028 Jan 201944
1.3.229 Nov 201842
1.3.128 Nov 201842
1.3.028 Nov 201842
1.2.112 Nov 201843
1.2.012 Nov 201843
1.1.89 Nov 201849
1.1.78 Nov 201849
1.1.68 Nov 201849
1.1.58 Nov 201849
1.1.48 Nov 201849
1.1.38 Nov 201849
1.1.28 Nov 201849
1.1.18 Nov 201849
1.1.08 Nov 201849
1.0.5111 Oct 201849
1.0.4828 Sept 201849

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
0x6368656174/wb-builder

Shared repository data · GitHub

License detected in repository
Not collected

Repository

ACCESSIBLE
0x6368656174/wp-builder

Shared repository data · GitHub

License detected in repository
LGPL-3.0
License branch / ref
master
Last push
29 Jan 2019
Archived
No
Contributor identities
— · partial collection

Public sponsor counts have not been collected. These signals belong to the repository owner.

Downloads & popularity

0count
Gauge · observed snapshots24 Oct 2026
10.50
2026-10-24: 0 · observed 2026-10-24T12:18:04.8244482Z
24 Oct24 Oct

github · 1 observations shown. Missing days are unknown.

View observed values
Date / source periodValueObserved at
2026-10-2402026-10-24T12:18:04.8244482Z

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:38 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:14df27fc761ceb4876799c98baef8c759f17ff6fdcd406656c6d5862e468ca92