Packages NPM scoped (@)

TG
  • Tommy Gingras
    Studio Webux S.E.N.C
    11 Décembre 2019

NPM et les packages scoped (@)

Introduction

cet article couvre comment publier vos packages sous cette forme : ‘@studiowebux/route’ au lieu de ‘webux-route’

Prérequis

  • Du code JavaScript prêt à être déployé sur NPM (il va être visible publiquement par défaut)
  • Un système avec NPM d’installé
  • un compte sur NPM
  • une organisation liée avec votre compte

Étape 1 - Préparer le package.json

à la source de votre projet, où se trouve le package.json, lancer cette commande npm init --scope=@votre-organisation Il est aussi possible de le faire directement avec votre username npm init --scope=@votre-username

Étape 2 - Se connecter sur npmjs

Lancer cette commande: npm login Entrez les mêmes informations que vous avez utilisées pour créer votre compte NPM

Étape 3 - Commit le code, créer une version et publier

Pour commit le code, il faut utiliser les commandes standard pour git, tel que:

git add --all
git commit -m "une description"
git push

Créer une version

Les types de versions : major | minor | patch

Version 0.0.0 npm version patch (0.0.1) npm version minor (0.1.0) npm version major (1.0.0)

Puis pour publier les changements dans le répertoire scoped en mode public, npm publish --access public

Extra

Supprimer un package

Cette commande est à utiliser avec précaution (Il est préférable de marquer le package comme ‘deprecated’), car elle peut briser des dépendances

Pour enlever toutes les versions,

npm unpublish @studiowebux/Package_name --force

Pour enlever une version spécifique

npm unpublish @studiowebux/Package_name@1.0.0

Marquer un package comme deprecated

Pour laisser le package sur NPM, tout en avertissant les usagers que la version n’est plus supportée

npm deprecate @studiowebux/package_name@1.0.0 "Veuillez utiliser @studiowebux/remplacement"

Pour marquer plusieurs versions,

npm deprecate @studiowebux/package_name@1"< 0.2.3" "Message"

Pour remettre le package,

En utilisant "" pour le message, le package sera ‘un-deprecated’

npm deprecate @studiowebux/package_name@1.0.0 ""

Sources