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

@agtm/sindri-framework

v2.5.4

Published

Segunda versão do Sindri Framework agora enxuto e simplificado

Downloads

69

Readme

Projeto Sindri Framework 2.0

Framework minimalista para nodejs que tem como objetivo principal ter uma base de código pronta para o rápido inicio de projeto e codificação, utilizando tecnologias já disponíveis.

Instalação

Para ajudar no desenvolvimento de projetos utilizando o framework, foi criado uma ferramenta chamada sindri-cli.

Instale com o seguinte comando:

$ npm i -g @agtm/sindri-cli

Para criar um novo projeto digite:

$ sindri create

NOTA: O diretório deve estar vazio

Responda as perguntas conforme abaixo:

? Nome do projeto? <Nome do projeto, por padrão o nome da pasta, não pode conter caracteres especiais>
? Descrição do projeto: <Descrição Simples>
? Versão 0.0.1 <Versão no padrão X.Y.Z>
? Seu nome: <Seu nome e sobrenome, será usado ao configurar o projeto com npm>
? Informe um e-mail válido 
? Você precisa criar pelo menos um app para este projeto, selecione um nome: helloWorld

<Todo projeto precisa de pelo menos um app padrão, digite o nome desejado aqui, também não pode conter caracteres especiais>

Pronto, este script irá:

  • Criar a estrutura de diretório básica.
  • Criar um projeto nodejs (npm init)
  • Inicializar o git no diretório atual (se instalado)
  • Instalar dependencias (como sindri-framework)

Para verificar se tudo ocorreu como esperado, execute:

$ sindri install-assets

e execute a aplicação com:

$ node main.js

Agora, no seu navegador acesso a url:

http://localhost:3001

Você deverá ver algo como isto Screen01

Entendendo o Sindri Framework

Clique aqui para entender como o framework funciona

Objetivos e Funcionalidades

Os principais objetivos deste projeto são:

  • Exclusivo para Backend(nodejs)
  • Utilização do framework ExpressJs (mais utilizado no momento da criação do Sindri-Framework)
  • Padrão ES6 ou mais novo

Suporte Integrado à

  • Apps - Possibilidade de importar outros modulos desenvolvido no Sindri Framework, como por exemplo um painel administrativo completo ou um simples gerenciador de erros. Apps funcionam como plugins que podem ser facilmente integrados ao framework.
  • Socket e Cluster (integração com a biblioteca SocketCluster)
  • Compilação binária (Intergração com o pacote pkg )
  • Log Robusto (Integração com Winstonjs e GrayLog )
  • Configuração - (Integrado com o config )
    • https://itnext.io/node-js-configuration-and-secrets-management-acd84375ca7
    • https://github.com/schikin/example-node-config
    • Remoção do suporta a passar parâmetros via argumentos (argv). Não funciona no docker e não é recomendável. Deve ser implementado pela aplicação.

Outras funcionalidades podem ser facilmente implementada através de apps.

Gerando Versão

  git commit
  git push
  npm version patch|minor|major
  npm publish  

Guia de Estilo

Sindri também disponibiliza um guia de estilo para melhorar qualidade e padronização de codificação:

Clique Aqui

Versões Nodejs:

Um dos objetivos do framework é a possibilidade de criar versões comerciais (binario) com a ferramenta pkg.

A ferramenta PKG utiliza uma versão própria do nodejs para gerar o binário e infelizmente nem sempre a ultima versão disponível pelo PKG é a ultima versão disponível do nodejs.

Então, caso pretenta criar binários do seu projeto, para evitar incompatibilidades, recomenda-se utilizar no desenvolvimento a mesma versão disponível pelo pkg.

Abaixo segue a ultima versão do nodejs em que o Sindri Framework foi desenvolvido e que também está disponível para geração de binário com PKG:

Versão do Framework (Apenas major e minor) seguido da versão do NODEJS

IMPORTANTE: Sempre que atualizar o Sindri Framework, verificar ultimas versões e atualizar aqui. Mantenha o histórico e sempre atualize a versão minor do sindri.

DICA: Verifique as versões do nodejs instaladas para o node-pkg aqui: /home/andre/.pkg-cache/

Arquitetura

Clique aqui para entender mais a fundo a arquitetura do framework

Guia de Desenvolvimento

Guia para desenvolvedores do Sindri Framework:

Guia de Desenvolvimento

TODOs

  • Suporte CDN https://github.com/niftylettuce/express-cdn
  • JS-2-DOC MARDKDOWN