GithubHelp home page GithubHelp logo

Comments (6)

NickColley avatar NickColley commented on May 18, 2024

Related: gaearon/react-transform-boilerplate#18

What do you think about using https://github.com/KeywordBrain/redbox-react ?

from webpack-hot-middleware.

glenjamin avatar glenjamin commented on May 18, 2024

I'd rather not force a dependency on react - especially as there are many more things that can break with a react rendering.

from webpack-hot-middleware.

gaearon avatar gaearon commented on May 18, 2024

I hacked up a proof of concept using ansi-to-html:

screen shot 2016-02-29 at 04 39 16

I had to tweak its dependency (entities) because it requires JSON files which Webpack doesn’t resolve by default (fb55/entities#26). Worst case, we can compile ansi-to-html to UMD ourselves and just use that fork since we likely won’t ever need to update this code.

from webpack-hot-middleware.

gaearon avatar gaearon commented on May 18, 2024

If anybody wants to prepare a real PR here’s what I did:

In client-overlay.js

clientOverlay.style.background = '#111';
clientOverlay.style.color = 'fff';

// ...

function showProblems(lines) {
  clientOverlay.innerHTML = '';
  clientOverlay.style.display = 'block';
  lines.forEach(function(msg) {
    var div = document.createElement('div');
    div.innerHTML = msg; // <-------------------- not innerText
    clientOverlay.appendChild(div);
  });
};

In client:

var strip = require('strip-ansi');
var Ansi = require('ansi-to-html'); // <----------- new stuff (as explained above we might need to create UMD for it)
var ansi = new Ansi();

var overlay;
if (typeof document !== 'undefined' && options.overlay) {
  overlay = require('./client-overlay');
}

function problems(type, obj) {
  if (options.warn) console.warn("[HMR] bundle has " + type + ":");
  var list = [];
  obj[type].forEach(function(msg) {
    if (options.warn) console.warn("[HMR] " + strip(msg));
    list.push(ansi.toHtml(msg)); // <---------------------------- convert here
  });
  if (overlay && type !== 'warnings') overlay.showProblems(list);
}

from webpack-hot-middleware.

glenjamin avatar glenjamin commented on May 18, 2024

Nice idea, I reckon a pre-built version of ansi to HTML is reasonable.

from webpack-hot-middleware.

glenjamin avatar glenjamin commented on May 18, 2024

One thing to watch for is that we should enable the escapeXML option, as documented here: https://www.npmjs.com/package/ansi-to-html#options

from webpack-hot-middleware.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.