elavora / api-datatypes
Pacote agregador dos DataTypes Elavora API.
Package info
github.com/Elavora/api-datatypes
Language:JavaScript
pkg:composer/elavora/api-datatypes
Requires
- php: >=8.3
- elavora/api-datatype-base64: ^1.0
- elavora/api-datatype-cnpj: ^1.0
- elavora/api-datatype-cpf: ^1.0
- elavora/api-datatype-date-time: ^1.0
- elavora/api-datatype-email: ^1.0
- elavora/api-datatype-file-name: ^1.0
- elavora/api-datatype-file-path: ^1.0
- elavora/api-datatype-folder-name: ^1.0
- elavora/api-datatype-folder-path: ^1.0
- elavora/api-datatype-json: ^1.0
- elavora/api-datatype-storage-key: ^1.0
- elavora/api-datatype-url: ^1.0
- elavora/api-datatype-uuid: ^1.0
Requires (Dev)
- elavora/code-standards: ^1.1
- phpunit/phpunit: ^10.5 || ^11.0 || ^12.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main / 1.0.x-dev
- 1.0.0
- v0.2.0
- v0.1.1
- dev-ci/adota-pipeline-central
- dev-tmp/scriptplayeragent/api-datatypes-pr-unico-10301854
- dev-automation/shared-semver-release
- dev-ci/packagist-sync
- dev-fix/estabiliza-pacote
- dev-ci/valida-pr-antes-merge
- dev-docs/adiciona-codeowners
- dev-docs/adiciona-badges-readme
- dev-docs/adiciona-processo-release
- dev-docs/adiciona-templates-github
- dev-docs/adiciona-contribuicao
- dev-docs/adiciona-licenca
- dev-ci/adiciona-quality
- dev-security/adiciona-codeql
- dev-docs/adiciona-politica-seguranca
- dev-chore/configura-dependabot
- dev-latest-release
- dev-docs/documenta-publicacao-composer
- dev-release/composer-publicacao
This package is auto-updated.
Last update: 2026-11-01 02:19:30 UTC
README
Pacote agregador dos DataTypes Elavora API.
Guia de uso, com a lista dos pacotes e exemplos: docs/USO.md.
Uso
Instale apenas o DataType que sua aplicação usa:
composer require elavora/api-datatype-email composer require elavora/api-datatype-cpf
Se quiser todos os DataTypes mantidos pelo Elavora API, use o agregador:
composer require elavora/api-datatypes
use Elavora\Api\DataTypes\Brazil\Cpf; use Elavora\Api\DataTypes\Email; $cpf = Cpf::from('529.982.247-25'); $email = Email::from('team@api.dev');
Todos os tipos implementam Elavora\Api\Framework\Contracts\DataType, por isso
podem ser usados em attributes do framework:
#[RequiredFields(['email' => Email::class, 'cpf' => Cpf::class])]
Desenvolvimento e testes
Este pacote não tem código próprio (não há src/): ele só reúne os DataTypes, e os testes conferem que eles
funcionam juntos. Por isso não roda PHPStan.
Você só precisa de Docker. O ambiente é a imagem ghcr.io/elavora/php-dev:8.3-latest: abra o repositório no VS Code
com Dev Containers: Reopen in Container, ou rode no PowerShell:
docker run --rm --mount "type=bind,source=$($PWD.Path),target=/workspace" -w /workspace ghcr.io/elavora/php-dev:8.3-latest sh -lc 'git config --global --add safe.directory /workspace && composer install --no-interaction --prefer-dist && composer check'
Scripts do Composer:
composer check # lint e testes composer test # testes PHPUnit composer lint # sintaxe (elavora-standards lint)
O código dos testes segue o padrão PER-CS, com as regras do pacote elavora/code-standards. No devcontainer, o arquivo é
formatado ao salvar; no PR, o CI formata o que faltou e commita a correção (style: organiza o código).
Os testes rodam no CI, no workflow Qualidade, em todo PR. O passo a passo, o que roda no CI e como reproduzi-lo
estão em Desenvolvimento e testes.
Como contribuir
- Crie uma branch a partir da
main(feat/...,fix/...oudocs/...). - Faça commits em português do Brasil, no padrão Conventional Commits (
feat: ...,fix: ...,docs: ...). - Rode
composer checkantes de abrir o PR. - Abra o PR para a
main, preencha o template e aplique as labels que definem a versão (Versões e release). - Confira o comentário do pipeline de qualidade no PR. Ele não bloqueia o merge, mas quem revisa olha o resultado.
Versões
Versão 1.0.0: exige PHP 8.3 ou superior e atualiza os 13 datatypes de ^0.1 para ^1.0 (base64, cnpj, cpf,
date-time, email, file-name, file-path, folder-name, folder-path, json, storage-key, url e uuid),
que usam o elavora/api-datatype-core ^2.0 e o elavora/api-framework ^2.0. Antes eram PHP 8.1 e ^0.1, que não
funcionam mais com o framework atual. A versão traz duas quebras, que vêm dos datatypes 1.0:
- o construtor de cada datatype deixa de ser público: a criação é só por
X::from(...); - valor inválido lança
InvalidArgumentExceptioncom a mensagemValor invalido para <classe>.
Os detalhes, a lista dos pacotes com a versão mínima e a migração estão no Guia de uso.
Cada PR integrado na main gera uma versão automaticamente, conforme as labels do PR: sem a label release sai uma
beta (1.1.0-beta.1), com ela sai a estável (1.1.0). As tags novas não têm o prefixo v, e as notas de cada
GitHub Release são geradas em português a partir dos PRs. Veja Versões e release.
Documentação
- Guia de uso: os pacotes que o agregador traz e exemplos.
- Desenvolvimento e testes: ambiente, como rodar os testes e o que roda no CI.
- Automação do repositório: workflows, Dependabot, estilo de código, labels e versões.
Licença
MIT