Skip to content

BerwangerDigital/bwgr-content-scaffold

Repository files navigation

[WiP] Berwanger Digital - WP-Content Scaffold

Este scaffold é o ponto de partida para todos os projetos WordPress da Berwanger Digital.

Ambiente de Desenvolvimento

Requisitos

  • Node >= 16
  • NPM >= 7

Instale as dependências do projeto:

composer install
npm install

Ambiente de Desenvolvimento Local (WP-ENV)

O wp-env é uma ferramenta para configurar ambientes de desenvolvimento WordPress locais.

Instale o wp-env globalmente:

npm install -g @wordpress/env

Se você quer aprender mais sobre o wp-env, pode verificar a documentação oficial do desenvolvedor e começar por aqui.

Uso

wp-env start

Estrutura de Pastas do Projeto

Esta é a estrutura padrão do wp-content para projetos WordPress da Berwanger Digital, incluindo plugins de debug essenciais e organização modular para desenvolviment de temas e plugins customizados.

/
├── bin
├── mu-plugins
├── plugins
│   ├── query-monitor/ - Debug de queries e performance do WordPress
│   ├── debug-bar/ - Barra de debug para desenvolvimento WordPress
│   ├── debug-bar-console/ - Console de debug integrado à barra de debug
│   ├── [seus-plugins-vão-aqui]
├── themes
│   └── [seus-temas-vão-aqui]
├── uploads

Qualidade de Código

Qualidade de Código PHP (PHPCS e PHPStan)

Este projeto usa PHP CodeSniffer (PHPCS) com Padrões de Codificação WordPress para qualidade de código PHP e o PHPStan para análise estática de código PHP já aplicado as extensões para WordPress.

Configuração do PHPCS

O projeto inclui:

  • Padrões de Codificação WordPress (WPCS): Versão 3.0+
  • Compatibilidade PHP: Garante compatibilidade com PHP 8.3+
  • PHPStan: Análise estática para WordPress
  • PHP 8.3+: Requisito mínimo de versão PHP

Comandos de PHPCS

Lint de arquivos PHP (raiz do projeto)
composer phpcs
Corrigir problemas de linting PHP automaticamente (raiz do projeto)
composer phpcs-fix
Comandos do PHPStan

Antes de executar o PHPStan você precisa configurar os seus paths. Execute os seguintes passos:

  1. Renomeie o arquivo phpstan.neon.dist para phpstan.neon.

  2. Altere o conteúdo da propriedade path e adicione os plugins e temas que irá desenvolver.

includes:
    - vendor/szepeviktor/phpstan-wordpress/extension.neon

parameters:
    level: 5
    paths:
        - plugins/plugin-name
        - themes/theme-name

    # Ignora diretórios irrelevantes
    excludePaths:
        analyse:
            - vendor/*
            - node_modules/*
            - tests/*
            - */assets/*
Executar análise estática com PHPStan
composer static

Qualidade de Código Javascript (ESLint)

Este projeto usa ESLint com a configuração Standard para qualidade de código JavaScript. A configuração está localizada em themes/berwanger/.eslintrc.js.

Configuração do ESLint

A configuração do ESLint inclui:

  • Guia de Estilo Standard: Usa o guia de estilo JavaScript Standard
  • Indentação: 2 espaços
  • Aspas: Aspas simples
  • Ponto e vírgula: Sempre obrigatório
  • Finais de linha: Estilo Unix (LF)
  • Espaçamento: Regras consistentes de espaçamento para objetos, arrays e funções
  • Variáveis não utilizadas: Nível de aviso
  • Declarações console: Nível de aviso

Comandos de Lint JavaScript

Lint de arquivos JavaScript
# Roda em todos os Workspaces
npm run lint-js

# Roda em um workspace específico
npm run lint-js --workspace=@bwgr/berwanger-theme
Corrigir problemas de linting JavaScript automaticamente
# Roda em todos os Workspaces
npm run lint-js:fix 

# Roda em um workspace específico
npm run lint-js:fix --workspace=@bwgr/berwanger-theme

About

This scaffold is the starting point for all Berwanger Digital WordPress projects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published