Skip to content

Instantly share code, notes, and snippets.

@fidelisrafael
Last active December 23, 2015 11:19
Show Gist options
  • Save fidelisrafael/6627867 to your computer and use it in GitHub Desktop.
Save fidelisrafael/6627867 to your computer and use it in GitHub Desktop.
Tradução [resumida] da página : https://npmjs.org/doc/developers.html

NPM

Node Package Manager

O que é um pacote ?

Um pacote é :

a) uma pasta contendo um programa descrito por um arquivo package.json b) um tarball compactado contendo (a) c) uma URL que resolva para (b) d) um <nome>@<versão> que aponta para (c) e) um <name>@<tag> que aponte para (d) f) um <nome> que é o 'latest' tag satisfazendo (e) g) uma URL git que quando clonada resultado resultada em (a)

Mesmo que você nunca publique seu pacote, você pode ter bastante beneficios usando o npm se você deseja escrever um programa node(a)

O arquivo package.json

O arquivo package.json fica na raiz do seu projeto. É basicamente toda a interface.

  • name : Deve ser uma string que identifica seu projeto. Não precisa necessariamente casar com o sue nome de repositorio no github.
  • version : A versão do seu pacote.
  • engines : Espefica a versão do node(ou qualquer outro) que seu programa executa.
  • author : Seu nome , email , créditos.
  • scripts :
  • main : Se você tem um modulo único que serve como ponto de entrada para seu programa. (ex: foo -> require('foo')) então você deve incluri ele aqui.
  • directories : Este é um hash de sub pastas. Os melhores para serem incluidos são lib e doc mas se você especificar uma pasta cheia de man-pages in man elas serão instaladas como esses.

Você pode usar npm init na raiz do seu pacote para gerar um package.json base para começar o desenvolvimento.

Mantendo arquivos fora do seu pacote

Use um arquivo .npmignore para manter arquivos temporarios e inutéis fora do seu pacote. Se não existir um .npmignore mas sim um .gitignore, o npm vai ignorar as coisas que estiverem nos padrões do .gitignore. Se você deseja incluir algo que está incluido em seu arquivo .gitignore , você pode criar um arquivo .npmignore vazio para sobrescrever ele.

Por padrão, os seguintes arquivos e pastas são ignorados , entõ não é necessário adicionar-los ao .npmignore :

.*.swp 	
._* 	
.DS_Store 	
.git 	
.hg 	
.lock-wscript 	
.svn 	
.wafpickle-* 	
CVS 	
npm-debug.log 	

Adicionalmente, tudo que estiver em npm_modules sera ignorado , exceto para as bundled dependencies. npm automaticamente gerencia isto para você, então não se preocupe em adicionar npm_modules ao seu arquivo .npmignore.

Os seguintes arquivos nunca são ignorados, então adicionar-los ao .npmignore não faz sentido :

package.json 	
README.* 	

Link packages

npm link é destinado para instalar um pacote em desenvolvimento e ver as mudanças em tempo real sem a necessidade de ter que reinstalar-lo. Você precisar re-linkar or npm rebuild -g para atualizar os pacotes compilados, obviamente.

Antes de publicar tenha certeza que seu pacote instala e funciona

Isso é importante

Se você não consegue instalar-lo localmente,você terá problemas para publicar-lo. Ou pior ainda, você irá publicar um pacote quebrado ou sem sentido.

Na pasta raiz do seu pacote execute : npm install . -g , isto irá te mostrar se está funcionando. Se você preferir , criar um link simbolico para seu pacote, para que aponte para seu diretorio de trabalho, execute isso : npm link.

Use npm ls -g para verificar se ele está lá. Para testar uma instalação local, vá para outra pasta e execute npm install /mypackage/folder/myPackage, em seguida vá execute o node-repl e tente usar : require('myPackage') para trazer o modulo principal do seu pacote.

Crie uma conta de usuário

Crie um conta usando : npm adduser e então prossiga nos prompts

Publique seu pacote

Essa parte é fácil , para publicar sue pacote use : npm publish Você pode uma url para um tarball , ou um nome de arquivo de um tarball, ou o caminho para uma pasta.

Tenha em mente que tudo que estiver na pasta será exposto por padrão. Então se você tem arquivos secretos(como arquivos com senhas, e informações sigilosas) use o arquivo .npmignore para listar todos eles.

Gabe-se disso

Twitte , compartilhe no github, no facebook, escreva no seu blog. Mostre para o mundo como é fácil instalar seu programa.

Referências/Créditos

NPM JS Docs
Tradução

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment