npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

formulatejs

v1.0.29

Published

Framework para projetos SSR node.js

Downloads

34

Readme

FormulateJS

FormulateJS é uma estrutura de pastas base para criação de aplicações Node.js, projetada para fornecer uma organização eficiente e consistente para seus projetos. Tem a finalidade de acelerar o desenvolvimento de aplicações web de forma fácil, para que qualquer programador somente com o básico de JavaScript possa operar o framework sem dificuldade evitando curvas de aprendizagem longas cansativas.

Instalação:

inicie uma nova aplicação node.js


  npm init -y

Baixe o framework FormulateJS.

 npm i formulatejs

Faça a instalação do Framework

   npx create-formulatejs

A estrutura é composta pelos seguintes elementos:

Arquivo app.js:

O arquivo principal da aplicação, responsável por conter as URLs das páginas principais (como login, home, esqueci minha senha, novo cadastro, etc.), bem como as configurações do roteador e SSL.

Pasta Public:

Esta pasta contém os recursos do frontend da aplicação, incluindo:

src:

Um repositório para arquivos CSS e JavaScript, fornecendo a base para o estilo e interatividade da aplicação. pages: Um repositório para as páginas que compõem a aplicação, facilitando a organização e manutenção do código do frontend.

reports:

Um repositório para armazenar relatórios gerados pela aplicação.

Pasta API:

Esta pasta contém os arquivos de backend e as configurações da API, incluindo:

utils:

Um repositório para arquivos JSON de configuração, permitindo a personalização e ajustes na configuração da aplicação.

routes:

Contém o arquivo do roteador da aplicação, que gerencia as rotas e controla o fluxo de requisições no backend.

FormulateJS oferece uma estrutura clara e intuitiva para o desenvolvimento de aplicações Node.js, facilitando o gerenciamento de código e permitindo um desenvolvimento mais eficiente e organizado.

MakeaFormsDB: Esta função cria arquivos de configuração com campos e botões para cada tabela do banco de dados fornecido. makeFormView: Gera HTML para uma visualização de formulário com base nos dados de entrada. saveHTMLView: Salva o HTML gerado em um arquivo no sistema de arquivos. MakeaTableDB: Cria arquivos de configuração para visualizações de tabela. makeTableView: Gera HTML para uma visualização de tabela. saveHTMLTableView: Salva o HTML gerado para a visualização de tabela em um arquivo no sistema de arquivos.

Fluxo Principal:

-- A função MakeaFormsDB é chamada para criar arquivos de configuração com campos e botões para cada tabela do banco de dados. -- A função makeFormView é chamada para gerar a visualização do formulário. -- A função saveHTMLView é chamada para salvar o HTML gerado em um arquivo. Similarmente, funções semelhantes são usadas para tabelas.

Processamento de Dados:

O código faz uso extensivo de consultas SQL para obter informações sobre as tabelas e campos do banco de dados. Com base nessas informações, ele gera configurações de campos e botões para as visualizações de formulário e tabela. Manipulação de Arquivos:

A biblioteca utiliza o módulo fs para manipulação de arquivos, incluindo verificação de existência, escrita e leitura de arquivos. Em resumo, esta biblioteca é útil para automatizar a geração de formulários e visualizações de tabela para um banco de dados MySQL, simplificando o processo de desenvolvimento web para aplicativos que interagem com bancos de dados.

###Funções Disponíveis

MakeaFormsDB(srcRoot, dataConection, opc)

Esta função gera um arquivo de configuração com os campos e botões para cada tabela do banco de dados indicado no objeto de configuração.

srcRoot: O caminho raiz onde os arquivos serão criados. dataConection: Os detalhes da conexão com o banco de dados. opc: Uma opção opcional. ###MakeaTableDB

MakeaTableDB(srcRoot, dataConection, opc)

Esta função gera um arquivo de configuração com os campos para a view de tabela no objeto de configuração.

srcRoot: O caminho raiz onde os arquivos serão criados. dataConection: Os detalhes da conexão com o banco de dados. Abaixo segue o exemplo de dados de conexão:

var conection = {
    host: 'ip_servidor',
    user: 'usuário',
    password: 'senha',
    database: 'Nome DB'
}

opc: Uma opção opcional. ###makeFormView

makeFormView(url, view, operation)

Esta função gera o HTML da tabela informada para inclusão ou edição.

url: O caminho para a pasta onde o arquivo JSON de configuração está localizado. view: A view da tabela para a qual o HTML será gerado. operation: A operação a ser realizada ('new' ou 'edit'). ###makeTableView

makeTableView(url, view, operation)

Esta função gera o HTML da tabela informada para visualização.

url: O caminho para a pasta onde o arquivo JSON de configuração está localizado. view: A view da tabela para a qual o HTML será gerado. Operation: A operação a ser realizada ('new' ou 'edit').

###saveHTMLView

saveHTMLView(outputSRC, URLInput, view, operation)

Esta função gera e salva um arquivo HTML na pasta indicada.

outputSRC: O caminho onde o arquivo HTML será salvo. URLInput: O caminho para a pasta onde o arquivo JSON de configuração está localizado. view: A view da tabela para a qual o HTML será gerado. operation: A operação a ser realizada ('new' ou 'edit').

###saveHTMLTableView

saveHTMLTableView(outputSRC, URLInput, view)

Esta função gera e salva um arquivo HTML da tabela na pasta indicada.

outputSRC: O caminho onde o arquivo HTML será salvo. URLInput: O caminho para a pasta onde o arquivo JSON de configuração está localizado.

view: A view da tabela para a qual o HTML será gerado. ###Exemplo de Uso

const { MakeaFormsDB, saveHTMLView } = require('nomedalib');

const srcRoot = './caminho/para/os/arquivos';
const dataConection = {
  host: 'localhost',
  user: 'root',
  password: 'senha',
  database: 'meubanco'
};

MakeaFormsDB(srcRoot, dataConection);
saveHTMLView(srcRoot, './caminho/para/o/arquivo.json', 'minhaView', 'new');


### Endpoint: **/MakeaViewFile**

*   **Descrição:** Este endpoint é responsável por criar arquivos de visualização (HTML) com base nos arquivos de configuração presentes nos diretórios **configTableview** e **configFormView**.
    
*   **Método HTTP:** POST
    
*   **Parâmetros:**
    
    *   Nenhum parâmetro é necessário.
        
*   **Resposta:**
    
    *   **Status 200 OK:** Retorna uma mensagem indicando que os arquivos de configuração foram criados com sucesso.
        
    *   **Status 400 Bad Request:** Retorna uma mensagem de erro em caso de falha ao criar os arquivos de configuração.
        

### Endpoint: **/MakeaConfigData**

*   **Descrição:** Este endpoint é responsável por gerar os arquivos de configuração com base nos dados fornecidos.
    
*   **Método HTTP:** POST
    
*   **Parâmetros:**
    
    *   Nenhum parâmetro é necessário.
        
*   **Resposta:**
    
    *   **Status 200 OK:** Retorna uma mensagem indicando que os arquivos de configuração foram criados com sucesso.
        
    *   **Status 400 Bad Request:** Retorna uma mensagem de erro em caso de falha ao criar os arquivos de configuração.
        

### Endpoint: **/getaformview**

*   **Descrição:** Este endpoint é responsável por obter uma visualização de formulário HTML com base no nome da tabela e na operação especificada.
    
*   **Método HTTP:** POST
    
*   **Parâmetros:**
    
    *   **table**: O nome da tabela.
        
    *   **operation**: A operação a ser realizada (por exemplo, "editar", "inserir", etc.).
        
*   **Resposta:**
    
    *   **Status 200 OK:** Retorna o formulário HTML correspondente à tabela e à operação especificadas.
        
    *   **Status 400 Bad Request:** Retorna uma mensagem de erro em caso de falha ao obter os dados HTML.
        

### Endpoint: **/getatableview**

*   **Descrição:** Este endpoint é responsável por obter uma visualização de tabela HTML com base no nome da tabela especificada.
    
*   **Método HTTP:** POST
    
*   **Parâmetros:**
    
    *   **table**: O nome da tabela.
        
*   **Resposta:**
    
    *   **Status 200 OK:** Retorna a visualização da tabela HTML correspondente ao nome da tabela especificado.
        
    *   **Status 400 Bad Request:** Retorna uma mensagem de erro em caso de falha ao obter os dados HTML.

    ## Utilitários

### sendMailPlus
- **Descrição:** Realiza o envio de e-mails utilizando a biblioteca nodemailer.
- **Exemplo de uso:**
  ```javascript
      const  transporter ={
        host: '',
        port: '',
        secure: '',
        auth: {
          user: '',
          pass: ''
        }
      };

  var msg = 'msg de teste';
  sendMailPlus('[email protected]', '[email protected]', 'Nova Solicitação email!', msg,transporter);

### exportTable

**Descrição:** Faz a exportação de uma tabela html que esteja utilizando o plugn datatables.

**Exemplo de Uso:**
```javascript
    exportTable('pedidosOCX', 'CSV', 'Pedido OCX, Pedido V11, Status V11, Split, Data, Cliente, Valor, Form. Pgto', 'PedidosOCX', 'N', 6);

Parametros: 1°: id da tabela a ser exportada

2°: formato de exportação

3°:Titulo das Colunas do arquivo

4°:Titulo do arquivo

5°: S para remover coluna de opções ou N para não remover.

6°: Indice da coluna onde contem valores monetarios BR.

7°: tipo de separador das colunas em caso de CSV. se não passado, é atribuido como default o separador ','

8°: objeto com as configurações de acesso do email a ser utilizado para envio.

FormataValorBRL

  • Descrição: Converte valores monetários do padrão americano para o padrão brasileiro.
  • Exemplo de uso:
    FormataValorBRL(3000.00); // Retorna R$3.000,00

removerCaracteresEspeciais

  • Descrição: Remove caracteres especiais de uma string passada como parâmetro.

removerCaracteresEspeciais

  • Descrição: Remove caracteres especiais de uma string passada como parâmetro.
  • Exemplo de uso:
    removerCaracteresEspeciais('Não quero mais caracteres especiais!!!%$*~^`;') 
    // Retorna 'Nao quero mais caracteres especiais!!!;'```
    

removerItensDuplicados

  • Descrição: Recebe um array como parâmetro e remove os itens duplicados, retornando um novo array simplificado.
  • Exemplo de uso:
    var array1 = [1, 2, 2, 5, 1, 7, 5];
    removerItensDuplicados(array1); // Retorna [1, 2, 5, 7]
    

isEmailValid

  • Descrição: Verifica se o email passado por parâmetro é válido.
  • Exemplo de uso:
    isEmailValid('[email protected]');```
    

Dataextenso

  • Descrição: Traz a data atual por extenso.
  • Exemplo de uso:
    Dataextenso(); // Retorno: 'terça-feira, 5 de março de 2024'```
    

getdateNow

  • Descrição: Retorna a data e hora atual no padrão americano.```

  • Exemplo de uso:

    getdateNow();

    formataDataBR

  • Descrição: Formata a data e hora passada como parâmetro do padrão americano para o padrão brasileiro.

  • Exemplo de uso:

    formataDataBR('2024-01-01 12:55:00'); // Retorno: '01/01/2024, 12:55:00'

FormataCPFCNPJView

  • Descrição: Retorna CPF ou CNPJ com máscara (Utilizado em Views).
  • Exemplo de uso:
    FormataCPFCNPJView('20649397096'); // Retorno: '206.493.970-96'

mascaraCPFCNPJ

  • Descrição: Aplica máscara de CPF ou CNPJ em um input passado como parâmetro.
  • Exemplo de uso:
    const cpfInput = document.getElementById('CPf');
    mascaraCPF(cpfInput);

mascaraTelefone

  • Descrição: Aplica máscara de telefone ou celular em um input passado como parâmetro.
  • Exemplo de uso:
    const telefoneInput = document.getElementById('inputTelefone');
    mascaraTelefone(telefoneInput);