1.1.4 • Published 9 years ago

node-jsdifflib v1.1.4

Weekly downloads
16
License
BSD-2-Clause
Repository
github
Last release
9 years ago

node-jsdifflib

A diff library to compare text differences between two texts.

This is a fork of cemerick/jsdifflib which has been adapted to render the HTML on the server.

Installation

npm install node-jsdifflib

Overview

jsdifflib is a Javascript library that provides:

  1. A partial reimplementation of Python’s difflib module (specifically, the SequenceMatcher class)
  2. A visual diff view generator, that offers side-by-side as well as inline formatting of file data

API

diff(baseText, newText[, options])

options

  • baseTextName: string the title to be displayed above the base text listing in the diff view default="Base Text"
  • newTextName: string the title to be displayed above the new text listing in the diff view default="New Text"
  • contextSize: int the number of lines of context to show around differences; by default, all lines are shown
  • inline: boolean if false, a side-by-side diff view is generated (default); if true, an inline diff view is generated
  • colgroup: object/boolean whether to add colgroup tag to table default = false

Style

jsdifflib comes with a ready to use CSS file (assets/jsdifflib.css) or you can use a custom one.

Example

const http = require("http");
const diff = require('node-jsdifflib');

const baseFile = "console.log(5);"
const newFile = "\"use strict\";\nconsole.log(5);";

http.createServer(function(req, res){ 
  
    if (req.url === '/favicon.ico') {
      res.writeHead(200, {'Content-Type': 'image/x-icon'} );
      return res.end();
    }

    var output = diff(baseFile, newFile);

    res.writeHead(200, {'Content-Type': 'text/html'});

    res.end(`<html>
      <head>
        <link rel="stylesheet" href="https://cdn.rawgit.com/marcosc90/node-jsdifflib/8838a6401c6933ca3faa1085bc1ec9b8174a6db8/assets/jsdifflib.css" />
      </head>
      <body>
        ${output}
      </body>
    </html>`);

}).listen(8081, function(){
  console.log("Server started at: http://localhost:8081");
});

License

BSD

1.1.4

9 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago