Versioning & Packages

éditeur package.json

Modifiez un manifeste, repérez les erreurs et triez ses dépendances sans réordonner les scripts ni les conditions exports.

éditeur package.json

Manifeste source

Résultat formaté

Le manifeste reste dans ce navigateur. Aucun appel au registre ni exécution de script.

Aide sur les champs et limites

name identifie le paquet selon les règles des nouveaux noms. Il est facultatif pour un projet local.

Vérifie les règles intégrées du manifeste, les noms et la version racine. Les configurations externes sont conservées sans validation spécialisée.

Un objet, 100 000 unités UTF-16, profondeur 100. Les entiers non sûrs et débordements sont refusés. Les spécifications de dépendances sont vérifiées comme chaînes uniquement.

Groupes de dépendances

dependencies: 0 · devDependencies: 0 · peerDependencies: 0 · optionalDependencies: 0

Aucune dépendance à afficher.

Saisie ou options modifiées. Vérifiez à nouveau avant l’export.

Un éditeur package.json aide à relire un manifeste après une fusion de branches. Une syntaxe JSON valide ne garantit pas que les valeurs des dépendances aient le bon type.

L’exemple est un projet privé. Comparez les quatre groupes : la présence du même paquet dans plusieurs groupes ne justifie pas forcément sa suppression.

Pourquoi utiliser cet éditeur package.json ?

Préserver l’ordre des conditions

Cet éditeur package.json ne trie que les noms dans dependencies, devDependencies, peerDependencies et optionalDependencies. Les champs de premier niveau, scripts et conditions exports restent dans leur ordre initial, sans modifier les priorités de résolution.

Quatre groupes de dépendances sont triés en interne, tandis que les branches exports voisines restent fixes.

Comparer avant de remplacer

Le résultat est un aperçu distinct. L’application, le chargement de l’exemple et l’effacement affichent le contenu à remplacer et sa taille. Une annulation restaure ensemble la saisie et le résultat précédents, même si celui-ci était périmé.

Un manifeste d’origine et un aperçu séparé, reliés par des flèches d’application et d’annulation.

Séparer la vérification du remplacement

01

Suspendre la vérification automatique

Le contrôle attend 350 ms après la dernière modification. Désactivez-le pour afficher le bouton principal ; Ctrl ou Cmd avec Entrée lance le même contrôle. Toute modification bloque immédiatement l’export de l’ancien résultat.

02

Observer les groupes réellement modifiés

L’aperçu indique combien de groupes ont changé d’ordre. L’option d’ordre initial repart du texte saisi. Trier les dépendances ne change aucune version et ne déplace aucun paquet vers un autre groupe.

03

Appliquer après comparaison

Un résultat valide peut être copié ou téléchargé avant son application. Pour remplacer la saisie, confirmez l’aperçu. Annuler restaure le texte et son résultat précédent sans reconstituer les modifications caractère par caractère.

Trois niveaux de contrôle du manifeste

Repérer les erreurs dans le texte source

Pour valider package.json, le contrôle refuse commentaires, virgules finales, clés en double et racines autres qu’un objet. Ligne, colonne et JSON Pointer correspondent au texte d’origine.

Vérifier les noms et la version racine

Le nom de paquet npm utilise les règles des nouveaux paquets pour name, et celles des noms existants pour les clés de dépendances. node-semver vérifie version si elle est présente ; son absence reste permise dans un projet local.

Lire les dépendances par rôle

Le panneau affiche chaque nom et sa spécification inchangée, par lots de 100 lignes. L’aide distingue dépendances d’exécution, de développement, peer et optional. La modification se fait toujours dans le JSON.

Choisir une indentation

Vous pouvez formater package.json avec deux espaces, quatre espaces ou des tabulations. Les champs personnalisés et l’écriture des nombres sont conservés. Le téléchargement produit un fichier nommé package.json.

Portée du résultat et limites

Schéma intégré, couverture limitée
Le schéma dérivé de SchemaStore vérifie la structure ; private est limité à un booléen. Les configurations ESLint, Prettier et autres outils sont conservées sans validation spécialisée. Le $schema fourni ne déclenche aucun téléchargement.
Aucune garantie d’installation
Plages, étiquettes, URL Git, chemins locaux, alias et spécifications workspace restent des chaînes. L’existence, la fraîcheur, les vulnérabilités et la résolution effective des versions ne sont pas vérifiées.
Aucune exécution de commande
Les scripts sont du texte. Cet outil n’installe rien, ne publie aucun paquet, ne met pas à jour le fichier de verrouillage et ne lit pas les autres espaces de travail. Réussir le contrôle ne certifie pas la publication.
Quatre objets seulement sont triés
Aucun déplacement entre groupes ni suppression des doublons entre groupes. L’ordre de exports, imports, des tableaux et de scripts reste intact. L’écriture des échappements de chaînes peut changer lors du formatage.
Taille et précision bornées
Un objet JSON, au plus 100 000 unités UTF-16 et 100 niveaux. Les entiers non sûrs et débordements numériques bloquent la sortie. Seuls 50 diagnostics au maximum sont affichés ; les résultats invalides ou périmés ne sont pas exportables.

Questions sur l’éditeur package.json

Comment ajouter des commentaires dans package.json ?

Le JSON standard ne permet ni commentaires de ligne ni commentaires de bloc. Ils sont signalés, pas supprimés automatiquement. Un champ personnalisé de notes reste une donnée ordinaire : vérifiez sa compatibilité avec vos autres outils.

Quelle est la différence entre dependencies, devDependencies et peerDependencies ?

dependencies concerne l’exécution, devDependencies le développement et les tests. peerDependencies exprime les attentes de compatibilité envers le projet consommateur. optionalDependencies autorise un échec d’installation. L’outil ne choisit pas le groupe à votre place.

Peut-on trier les dépendances de package.json par ordre alphabétique sans installer de paquet ?

Oui. Les noms des quatre groupes sont triés dans le navigateur, sans installer de paquet supplémentaire. Vérifiez le nombre de groupes modifiés et l’aperçu avant de télécharger. L’ordre des scripts et des exports conditionnels est préservé.

Pourquoi le champ name de package.json ne correspond-il pas au format attendu ?

Un nouveau nom doit notamment être en minuscules, compatible avec les URL et ne pas dépasser 214 caractères, scope compris. Le format @team/widget est accepté. Cela ne vérifie ni sa disponibilité ni son propriétaire dans le registre.

Quelle est la différence entre ~ et ^ dans package.json ?

Pour une version majeure ordinaire non nulle, ~1.2.3 permet surtout les correctifs, tandis que ^1.2.3 accepte aussi les versions mineures compatibles. Les versions majeures nulles et préversions suivent des règles supplémentaires. Ici, la chaîne est conservée sans résoudre une version installée.

Quels champs sont indispensables dans un package.json minimal ?

npm permet d’omettre name et version pour un projet non destiné à la publication. Un objet vide passe donc ce contrôle de structure local. Une publication nécessite des informations et vérifications supplémentaires.

Un contrôle utile manque ?

Relire la prochaine modification

Utilisez cet éditeur package.json avec un petit exemple, comparez les groupes de dépendances et appliquez le résultat après vérification.