Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

html-to-react

Package Overview
Dependencies
Maintainers
3
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

html-to-react - npm Package Compare versions

Comparing version 1.3.3 to 1.3.4

4

lib/parser.js

@@ -39,5 +39,5 @@ 'use strict';

]);
} else {
return processingInstruction.processNode(node, children, index);
}
return processingInstruction.processNode(node, children, index);
} else {

@@ -44,0 +44,0 @@ return false;

'use strict';
var camelize = require('underscore.string.fp/camelize');
var camelCase = require('lodash.camelcase');
var toPairs = require('ramda/src/toPairs');

@@ -25,3 +25,3 @@ var reduce = require('ramda/src/reduce');

if (key != null && value != null && key.length > 0 && value.length > 0) {
jsonStyles[camelize(key)] = value;
jsonStyles[camelCase(key)] = value;
}

@@ -28,0 +28,0 @@ }

{
"name": "html-to-react",
"version": "1.3.3",
"version": "1.3.4",
"description": "A lightweight library that converts raw HTML to a React DOM structure.",

@@ -38,7 +38,7 @@ "main": "index.js",

"dependencies": {
"domhandler": "^2.3.0",
"domhandler": "^2.4.2",
"escape-string-regexp": "^1.0.5",
"htmlparser2": "^3.8.3",
"ramda": "^0.25.0",
"underscore.string.fp": "^1.0.4"
"htmlparser2": "^3.10.0",
"lodash.camelcase": "^4.3.0",
"ramda": "^0.26"
},

@@ -49,10 +49,10 @@ "peerDependencies": {

"devDependencies": {
"coveralls": "^3.0",
"eslint": "^4.8.0",
"coveralls": "^3.0.2",
"eslint": "^5.9.0",
"istanbul": "^0.4",
"mocha": "^4.0.1",
"mocha": "^5.2.0",
"mocha-lcov-reporter": "^1.2.0",
"react": "^16.0",
"react-dom": "^16.0"
"react": "^16.6.3",
"react-dom": "^16.6.3"
}
}

@@ -18,12 +18,12 @@ # html-to-react

<div class="row">
<div class="col-sm-6">
<div data-report-id="report-1">
<!-- A React component for report-1 -->
</div>
<div class="col-sm-6">
<div data-report-id="report-1">
<!-- A React component for report-1 -->
</div>
<div class="col-sm-6">
<div data-report-id="report-2">
<!-- A React component for report-2 -->
</div>
</div>
<div class="col-sm-6">
<div data-report-id="report-2">
<!-- A React component for report-2 -->
</div>
</div>
</div>

@@ -77,3 +77,3 @@ ```

var isValidNode = function () {
return true;
return true;
};

@@ -84,17 +84,19 @@

var processingInstructions = [
{
// Custom <h1> processing
shouldProcessNode: function (node) {
return node.parent && node.parent.name && node.parent.name === 'h1';
},
processNode: function (node, children) {
return node.data.toUpperCase();
}
}, {
// Anything else
shouldProcessNode: function (node) {
return true;
},
processNode: processNodeDefinitions.processDefaultNode
}];
{
// Custom <h1> processing
shouldProcessNode: function (node) {
return node.parent && node.parent.name && node.parent.name === 'h1';
},
processNode: function (node, children) {
return node.data.toUpperCase();
}
},
{
// Anything else
shouldProcessNode: function (node) {
return true;
},
processNode: processNodeDefinitions.processDefaultNode
}
];
var htmlToReactParser = new HtmlToReactParser();

@@ -121,8 +123,8 @@ var reactComponent = htmlToReactParser.parseWithInstructions(htmlInput, isValidNode,

<div class="row">
<div class="col-sm-6">
<div data-container="wysiwyg">
<h1>Sample Heading</h1>
<p>Sample Text</p>
</div>
<div class="col-sm-6">
<div data-container="wysiwyg">
<h1>Sample Heading</h1>
<p>Sample Text</p>
</div>
</div>
</div>

@@ -138,7 +140,7 @@ ```

<div class="row">
<div class="col-sm-6">
<div data-container="wysiwyg">
<RichTextEditor html={"<h1>Sample heading</h1><p>Sample Text</p>"} />
</div>
<div class="col-sm-6">
<div data-container="wysiwyg">
<RichTextEditor html={"<h1>Sample heading</h1><p>Sample Text</p>"} />
</div>
</div>
</div>

@@ -161,3 +163,3 @@ ```

var isValidNode = function () {
return true;
return true;
};

@@ -170,24 +172,24 @@

var processingInstructions = [
{
// This is REQUIRED, it tells the parser
// that we want to insert our React
// component as a child
replaceChildren: true,
shouldProcessNode: function (node) {
return node.attribs && node.attribs['data-test'] === 'foo';
},
processNode: function (node, children, index) {
return React.createElement('h1', {key: index,}, 'Heading');
}
{
// This is REQUIRED, it tells the parser
// that we want to insert our React
// component as a child
replaceChildren: true,
shouldProcessNode: function (node) {
return node.attribs && node.attribs['data-test'] === 'foo';
},
{
// Anything else
shouldProcessNode: function (node) {
return true;
},
processNode: processNodeDefinitions.processDefaultNode,
processNode: function (node, children, index) {
return React.createElement('h1', {key: index,}, 'Heading');
}
},
{
// Anything else
shouldProcessNode: function (node) {
return true;
},
processNode: processNodeDefinitions.processDefaultNode,
},
];
var reactComponent = parser.parseWithInstructions(
var reactComponent = htmlToReactParser.parseWithInstructions(
htmlInput, isValidNode, processingInstructions);

@@ -194,0 +196,0 @@ var reactHtml = ReactDOMServer.renderToStaticMarkup(

@@ -339,3 +339,3 @@ 'use strict';

it('should replace the children of an element', function () {
it('should replace the children of an element if configured so', function () {
var htmlInput = '<div><div data-test="foo"><p>Text</p><p>Text</p></div></div>';

@@ -342,0 +342,0 @@ var htmlExpected = '<div><div data-test="foo"><h1>Heading</h1></div></div>';

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc