davinTI

@davinti/jeff (1.0.13)

Published 2026-05-15 12:19:27 +00:00 by tiago.inaba

Installation

@davinti:registry=https://git.davinti.com.br/api/packages/davinTI/npm/
npm install @davinti/jeff@1.0.13
"@davinti/jeff": "1.0.13"

About this package

Jeff

Este projeto é um SDK interno para definição, validação e compilação de módulos do App do Dono. Ele garante que as definições de consultas (queries) e suas implementações SQL sejam tipadas, seguras e exportáveis para um manifesto JSON consumível pelo backend.

Tecnologias

  • TypeScript (v5+)
  • Zod (Validação de esquema)
  • Commander (Interface CLI)
  • tsup (Bundler)

Instalação

npm install git+ssh://git@git.davinti.com.br:2222/davinTI/jeff.git

Como usar

  1. Definindo um módulo

Crie um arquivo .ts (ex: usuarios.module.ts):

import { createModuleFactory } from "../src/index.js"

const moduleFactory = createModuleFactory(["TOTVS", "ARIUS"]);

export default moduleFactory.createModule({
	id: "usuarios",
	label: "Usuários",
	description: "Análise dos usuários",
	entrypoint: "get_users",
	queries: {
		get_users: {
			name: "Usuários",
			params: [],
			display: {
				type: "list"
			}
		}
	},
}).withImplementations({
	TOTVS: {
		get_users: () => {
			return {
				sql: "SELECT * FROM NAUTH.USUARIO",
			}
		}
	},
	ARIUS: {
		get_users: () => {
			return {
				sql: "SELECT * FROM NAUTH.USUARIO",
			}
		}
	}
});
  1. Comandos CLI

O SDK expõe a ferramenta jeff para gerenciar os módulos:

Validar módulos: Verifica se há erros de tipagem ou implementações ausentes sem gerar arquivos.

npx tsx ./src/compiler.ts vet -i "tests/*.test.ts"

Gerar Manifesto: Compila todos os módulos em um único arquivo JSON. O campo version será automaticamente preenchido com o Git Commit Hash atual.

npx tsx ./src/compiler.ts generate -i src/**/*.ts

Dependencies

Dependencies

ID Version
@types/glob ^8.1.0
commander ^14.0.3
glob ^13.0.2
jiti ^2.6.1
reflect-metadata ^0.2.2
zod ^4.3.6

Development Dependencies

ID Version
@types/node ^25.2.3
ts-node ^10.9.2
tsup ^8.5.1
typescript ^5.9.3
vitest ^4.0.18
Details
npm
2026-05-15 12:19:27 +00:00
1
ISC
20 KiB
Assets (1)
Versions (11) View all
1.0.18 2026-06-10
1.0.17 2026-05-29
1.0.16 2026-05-29
1.0.15 2026-05-20
1.0.14 2026-05-18