SDK JavaScript / TypeScript

O SDK oficial do CriptEnv para JavaScript e TypeScript. Funciona com Node.js, Deno e navegadores. Tipos TypeScript inclusos.

Instalação

bash
npm install @criptenv/sdk

Inicialização

1

Importe o SDK

Importação
import { CriptEnv } from '@criptenv/sdk';
2

Crie uma instância

Inicialização
const criptenv = new CriptEnv({
  token: process.env.CRIPTENV_TOKEN!,
  projectId: 'seu-project-id',
  environment: 'production', // opcional, padrão: 'production'
});
3

Descriptografe suas variáveis

Uso básico
// Carrega todas as variáveis de ambiente
const env = await criptenv.load();

// As variáveis estão disponíveis como objeto
console.log(env.DATABASE_URL);
console.log(env.API_SECRET);

// Ou injeta no process.env
await criptenv.loadToProcess();

Referência da API

Construtor

ParâmetroTipoDescrição
tokenobrigatóriostringToken de API do CriptEnv.
projectIdobrigatóriostringID do projeto no CriptEnv.
environmentstringAmbiente alvo. Padrão: "production".
cachebooleanHabilitar cache local. Padrão: true.
cacheTTLnumberTempo de vida do cache em segundos. Padrão: 300.

Métodos

criptenv.load()
// Retorna todas as variáveis como um objeto
const env: Record<string, string> = await criptenv.load();
criptenv.get(key)
// Retorna uma variável específica
const dbUrl = await criptenv.get('DATABASE_URL');
criptenv.loadToProcess()
// Injeta todas as variáveis no process.env
await criptenv.loadToProcess();
// Agora process.env.DATABASE_URL está disponível

Exemplos Práticos

Com Express.js

server.ts
import express from 'express';
import { CriptEnv } from '@criptenv/sdk';

const criptenv = new CriptEnv({
  token: process.env.CRIPTENV_TOKEN!,
  projectId: 'seu-project-id',
});

async function main() {
  // Carrega as variáveis antes de iniciar o servidor
  await criptenv.loadToProcess();

  const app = express();
  const port = process.env.PORT || 3000;

  app.listen(port, () => {
    console.log(`Servidor rodando na porta ${port}`);
  });
}

main();

Com Next.js

criptenv.ts (lib)
import { CriptEnv } from '@criptenv/sdk';

const criptenv = new CriptEnv({
  token: process.env.CRIPTENV_TOKEN!,
  projectId: process.env.CRIPTENV_PROJECT_ID!,
  environment: process.env.VERCEL_ENV || 'development',
});

export default criptenv;

Info

Em produção, recomendamos usar criptenv.loadToProcess() no início da aplicação para que todas as variáveis estejam disponíveis via process.env.