Publier un package NPM en moins de 5 minutes !

Comment publier un package NPM facielement en ligne sur le site NPMjs directement lié via son compte Github et installable avec $ npm install ...
Publier un package NPM en ligne de commande
Publier un package NPM facilement

Publier un package NPM sur NPMjs est une superbe idée pour faire profiter à la communauté de son code. Je viens juste de créer un helper pour pouvoir faire des espaces plus facilement depuis le framework CSS Bulma. Il y a une issue ouverte sur Github car certains membres de la communauté ont demandé cette feature, qui ne sera finalement pas implémentée par le développeur.

J’ai donc pris la liberté de créer un package bulma-helper-spacing avec le code que j’ai créé pour créer les classes CSS n’existant pas par défault sur Bulma.

0 – Avoir un compte Github

La première étape est d’avoir un compte Github, ce n’est pas obligatoire mais je vous le recommande fortement dans votre démarche de partage de votre code ; cela rendra également la mise en ligne de votre package NPM encore plus facile !

Cela vous permettra notamment d’avoir le même README sur les deux sites et d’avoir un lien vers votre repo git directement depuis votre projet NPMjs.

https://github.com/join

1 – Avoir un compte NPMjs

Pour publier un package NPM, il va vous falloir un compte NPMjs. Ici il est recommandé de choisir un pseudo identique à celui de son compte Github.

https://www.npmjs.com/signup

2 – Créer un repo sur Github

Si ce n’est pas déjà fait, vous pouvez créer un nouveau dépôt sur Github. Une fois votre dépôt créé, clonez-le sur votre machine.

Exemple :

git clone git@github.com:Dinath/bulma-helper-spacing.git

Si votre dépôt n’est pas relié à votre projet je vous invite à consulter cet article.

Git : Se connecter à un repo en ligne

Pensez à faire en sorte que votre repo soit à jour avec la dernière version de votre code.

3 – Publier votre projet sur NPMjs

Publier votre projet sur NPMjs vous permettra d’avoir un package installable avec la commande npm install ou npm i !

La commande ci-dessous se chargera de récupérer les éléments généré avec la commande git init.

Créer un projet NPM

Une fois dans votre projet, lancez la commande npm init.

alex@antergos:~/Projects/bulma-helper-spacing$ npm init
...
Press ^C at any time to quit.
package name: (bulma-helper-spacing) Comment publier un package NPM en ligne sur le site NPMjs directement lié via son compte Github.
version: (1.0.0) 0.0.1
description: A simple spacing helper to use with Bulma !
entry point: (index.js) 
test command: 
git repository: (https://github.com/Dinath/bulma-helper-spacing.git) 
keywords: bulma, helper
author: dinath
license: (ISC) 

Ce qui génère le fichier package.json suivant :

{
  "name": "bulma-helper-spacing",
  "version": "0.0.1",
  "description": "A simple spacing helper to use with Bulma !",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Dinath/bulma-helper-spacing.git"
  },
  "keywords": [
    "bulma",
    "helper"
  ],
  "author": "dinath",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/Dinath/bulma-helper-spacing/issues"
  },
  "homepage": "https://github.com/Dinath/bulma-helper-spacing#readme"
}

Publier un projet NPM

Une fois votre initialisation terminée, vous pouvez modifier le fichier package.json par exemple pour y inclure des dépendances nécessaires à l’exécution correcte de votre projet.

Pour publier votre package NPM en ligne, lancez la commande npm publish.

alex@antergos:~/Projects/bulma-helper-spacing$ npm publish
npm notice 
npm notice bulma-helper-spacing@0.0.1
npm notice === Tarball Contents === 
npm notice 569B package.json
npm notice 1.0kB README.md 
npm notice 2.3kB spacing.sass
npm notice 207B styles.scss 
npm notice === Tarball Details === 
npm notice name: bulma-helper-spacing 
npm notice version: 0.0.1 
npm notice package size: 1.4 kB 
npm notice unpacked size: 4.1 kB 
npm notice shasum: 26d6349fad88cf79c5dc87f4feef39f1330e4afa
npm notice integrity: sha512-tPxguRBhQB5gQ[...]B8NCxx0u+t+Tw==
npm notice total files: 4 
npm notice 
+ bulma-helper-spacing@0.0.1

Et voilà, votre package est en ligne, disponible pour tous et accessible depuis votre compte NPMjs !

https://www.npmjs.com/settings/{utilisateur}/packages

Erreurs

En réinstallant le projet une nouvelle fois, je suis tombé sur l’erreur suivante.

npm ERR! Linux 5.0.0-37-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "publish"
npm ERR! node v8.10.0
npm ERR! npm  v3.5.2
npm ERR! code ENEEDAUTH

npm ERR! need auth auth required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`

npm ERR! Please include the following file with any support request:
npm ERR!     /home/alex/projects/bulma-helper-spacing/npm-debug.log

Je l’ai corrigé comme ceci :

npm adduser
Username: dinath
Password: 
Email: (this IS public) dinath.contact@gmail.com

Il ne vous reste plus qu’à republier votre module NPM.

npm publish
+ bulma-helper-spacing@0.0.2

Article publié le

Dernière modification le

1 réponse sur “Publier un package NPM en moins de 5 minutes !”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.