Je recherche un diff équivalent écrit en JavaScript qui ne retourne/imprime que les lignes pertinentes. Je ne veux pas que le texte intégral soit affiché côte à côte avec les différences mises en évidence, mais je veux juste les différences réelles (ainsi que certaines lignes de tampon pour savoir où se trouve la différence), similaires à la sortie de l'utilitaire diff de linux.
Quelqu'un connaît-il une fonction javascript qui fait cela? Toutes les différences doivent être reconnues (même les espaces blancs modifiés). Merci.
J'ai complètement reconstruit l'utilitaire jsdifflib pour la vitesse. Étant donné que ma version ne nécessite pas d'accès DOM, elle est au moins 4,5 fois plus rapide, et elle est également étendue pour mettre en évidence les différences de caractères dans chaque ligne.
http://prettydiff.com/diffview.js
Vous pouvez tester cela avec l'outil en ligne directement sur http://prettydiff.com/
Il y a aussi google-diff-match-patch de Google
Également disponible sur NPM
npm install diff-match-patch
Découvrez ma mise en œuvre minimale: https://github.com/Slava/diff.js
Je ne sais pas grand chose sur l'utilitaire diff sous linux ou linux en général, mais c'est peut-être ce que vous recherchez jsdifflib . Vous pouvez y trouver un exemple en direct et voir si cela fonctionne pour vous.
Découvrez la bibliothèque JavaScript wikEd diff . Il y a aussi un outil en ligne .
wikEd diff propose des comparaisons de texte en ligne avec surlignage de déplacement de bloc et résolution basée sur les caractères/mots. Il est optimisé pour le texte source de Wikipedia, mais fonctionne très bien pour tout type de texte ou de code. Le code de la bibliothèque est entièrement personnalisable, prend en charge Unicode, est largement commenté et est dans le domaine public.
Découvrez CodeMirror . Dit Nuff.
vieille question je sais, mais si votre travail de nœud fonctionne ou si vous voulez quelque chose qui est compatible avec le module requirejs/commonjs
J'ai vraiment aimé https://www.npmjs.com/package/diff
console.log(diff.createPatch('some file name.txt', expected, actual));
jsdifflib semble prometteur - essayez la démo liée depuis cette page.