
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@praxisui/specification
Advanced tools
Praxis UI specification engine: logical composition (and/or/not/xor/implies), validation and DSL helpers.
Para ver esta biblioteca em funcionamento em uma aplicação completa, utilize o projeto de exemplo (Quickstart):
@praxisui/* em um app Angular, incluindo instalação, configuração e uso em telas reais.Biblioteca TypeScript para criar validações composáveis (Specification Pattern), com DSL legível, serialização JSON, metadados ricos e registries de funções/transformações.
@praxisui/specification provê fábricas e composições para você declarar regras de validação de forma segura e expressiva:
and, or, not, xor, implies.greaterThan, contains, minLength).requiredIf).Este pacote é compatível com Angular apps (peer deps Angular), mas pode ser usado em qualquer projeto TypeScript/Node.
npm i @praxisui/specification @praxisui/specification-core
Peer dependencies (Angular v20):
@angular/core ^20.0.0@angular/common ^20.0.0Dependências em runtime:
@praxisui/specification-core (instale junto)tslib (já vem por padrão em projetos Angular/TS modernos)import { SpecificationFactory } from '@praxisui/specification';
// Regra: idade > 18, email contém '@' e telefone obrigatório se role == 'admin'
const userSpec = SpecificationFactory.and(
SpecificationFactory.greaterThan('age', 18),
SpecificationFactory.contains('email', '@'),
SpecificationFactory.requiredIf(
'phone',
SpecificationFactory.equals('role', 'admin')
)
);
// Validação
const user = { age: 25, email: 'user@company.com', role: 'admin' };
const ok = userSpec.isSatisfiedBy(user); // false (faltou phone)
// DSL legível
console.log(userSpec.toDSL());
// Ex.: age > 18 && contains(email, "@") && requiredIf(phone, role == "admin")
// JSON (persistência/transporte)
const json = userSpec.toJSON();
FunctionRegistry.getInstance().register('isValidCPF', fn).TransformRegistry.SpecificationFactory.projects/praxis-specification/docs/README.mddocs/concepts/rules-engines-and-specifications.md# build do pacote
ng build praxis-specification
# gerar tarball para inspeção (dentro do dist)
cd dist/praxis-specification && npm pack
# publicar (exige configuração de token/registry)
npm publish --access public
O pacote publicado inclui este README.md via configuração de assets no ng-package.json.
FAQs
Praxis UI specification engine: logical composition (and/or/not/xor/implies), validation and DSL helpers.
We found that @praxisui/specification demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.