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

random-dev-excuses

v1.0.1

Published

developers excuses

Downloads

1

Readme

npm-concepts && random-dev-excuses

Este proyecto lo hice a modo de aprender como es el proceso para publicar en npm. Incluye una pequeña app que via bash nos devuelve las excusas mas comunes utilizadas por los desarrolladores.

Necesitas una excusa? , simplemente toma tu consola y tipea random-dev-excuses

Instalacion

npm install -g random-dev-excuses

Uso

random-dev-excuses

Teoria

Que es npm? ( Node Package Manager )

Es un gesto de paquetes el mas popular que tiene JS donde encontraremos una gran cantidad de recursos para implementar en nuestros proyectos. Tambien vamos a poder generar nuestros propios paquetes y compartilos con la comunidad.

https://www.npmjs.com/

Cuento con npm en mi maquina?

Para saber esto corremos los siguientes comandos

npm -v
 node -v

Como actualizo npm?

sudo npm install npm@latest -g

Como inicializo/configuro un proyecto?

 npm init

Esto nos generara un archivo package.json el cual vamos a tener una configuracion establecida, descripcion del proyecto y demas valores.

Configuracion Rapida ( yes to all)

 npm init -y

Configuraciones Globales

 npm set init.author.email "[email protected]"
 npm set init.author.name "silnose"
npm set init.license "MIT"

Dependencias

Tipos

Recursos que vamos a utilizar dentro de nuestros proyectos. Todos van a coexisitir en /node_modules

  • Desarrollo (devDependencies)

Dependencias requeridas por el desarrollador pero no necesarias para el funcionamiento de la aplicacion

npm install date-fns --save-dev
 npm i date-fns -D
  • Produccion (dependencies)

Dependencias requeridas para el correcto funcionamiento del la app

 npm install moment
 npm install moment --save
 npm i moment -S
  • Global

Dependencias globales utilizadas

 sudo npm install -g nodemon
Como saber que paquetes tengo instalados globalmente?
 npm list -g --depth 0
  • Opcional (optionalDependencies)

Dependencias opcionales como bien dice su nombre, si fallan npm no nos indicara error

npm install chalk --save-optional
 npm i chalk -O

Instalacion

  • Simulacion (amague de instalar dependencias)

Dependencias que emularan ser instaladas pero no!, solo queremos ver el output de la instalacion

 npm install react --dry-run
  • Forzado

Instalar la ultima version desde los servidores de npm

 npm install webpack -f
  • Versiones

Instalar una version espesifica

npm install [email protected] npm i [email protected]

Actualizacion

  • Que depedencias tengo desactualizadas?
 npm outdate -dd
  • Como actualizo las dependencias de mi proyecto?
npm update //segun la version
npm install json-server@latest // actualizar a la ultima ultima!

Eliminar

npm uninstall json-server // elimandolo tb del archivo package.json
npm uninstall json-server --no-save // eliminarlo pero conservarlo en package.json

Package.lock

  • Versionado

  • "^" : Actualizaciones "minor" y "patch"
  • "~" : Actualizaciones patch
  • "<" : Versión menor a la indicada.
  • "<=" : Versión menor o igual a la indicada.
  • ">" : Versión mayor a la indicada.
  • ">=" : Versión mayor o igual a la indicada.
  • " " : Version exacta

A partir de la version 5 de npm nos encontramos con el archivo package-lock.json que nos da una "foto/imagen" de las configuraciones de nuestro proyecto que versiones tenemos que dependencias etc...


Scrips

Comandos que podemos establecer para ejecutar desde la consola


Issues

  • Ver mas detalle del error:
--dd // verbose
  • Limpiar la cache
npm cache clean --force
npm cache verify
  • Reinstalar dependencias
rm -rf node_modules
npm install

O tambien podemos usar una dependencia

sudo npm install -g rimraf
rimraf node_modules
npm install

Seguridad / Auditoria

Debemos revisar y validar que nuestra aplicacion se encuentra sin potenciales vulnerabilidades y esto npm nos los permite validar

npm audit
npm update <pak> --depth n

OR ( automatico)

npm audit fix

Publicar en NPM

1- Emular proyecto global de forma local y testeamos

sudo npm link

OR

sudo npm install <project_path>

2- Nos logueamos en npm

npm adduser
npm adduser
npm publish

Actualizar en NPM

npm version patch/minor/major

Tools

  • Visual studio extensions

Name: npm Id: eg2.vscode-npm-script Description: This extension supports running npm scripts defined in the package.json file and validating the installed modules against the dependencies defined in the package.json. Version: 0.3.13 Publisher: egamma VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=eg2.vscode-npm-script

  • Seguridad

https://snyk.io/ find and fix vulnerabilities in open source libraries and containers.