New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-element-to-jsx-string

Package Overview
Dependencies
Maintainers
1
Versions
67
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-element-to-jsx-string - npm Package Compare versions

Comparing version

to
1.1.0

CHANGELOG.md

19

index-dist.js

@@ -14,2 +14,8 @@ 'use strict';

var _collapseWhiteSpace = require('collapse-white-space');
var _collapseWhiteSpace2 = _interopRequireDefault(_collapseWhiteSpace);
var _reactAddonsTestUtils = require('react-addons-test-utils');
var _stringifyObject = require('stringify-object');

@@ -19,8 +25,6 @@

var _collapseWhiteSpace = require('collapse-white-space');
var _sortobject = require('sortobject');
var _collapseWhiteSpace2 = _interopRequireDefault(_collapseWhiteSpace);
var _sortobject2 = _interopRequireDefault(_sortobject);
var _reactAddonsTestUtils = require('react-addons-test-utils');
function reactElementToJSXString(ReactElement) {

@@ -138,3 +142,8 @@ return toJSXString({ ReactElement: ReactElement });

function stringifyObject(obj) {
return (0, _collapseWhiteSpace2['default'])((0, _stringifyObject2['default'])(obj)).replace(/^{ /, '{').replace(/ }$/, '}');
// sortobject fails on some types, like regex
if (Object.keys(obj).length > 0) {
obj = (0, _sortobject2['default'])(obj);
}
return (0, _collapseWhiteSpace2['default'])((0, _stringifyObject2['default'])(obj)).replace(/{ /g, '{').replace(/ }/g, '}').replace(/\[ /g, '[').replace(/ \]/g, ']');
}

@@ -141,0 +150,0 @@

@@ -5,3 +5,3 @@ /* eslint-env mocha */

import expect from 'expect';
import reactElementToJSXString from './';
import reactElementToJSXString from './index';

@@ -65,2 +65,8 @@ class TestComponent extends React.Component {}

it(`reactElementToJSXString(<div obj={{hello: [1, 2], world: {nested: true}}}/>)`, () => {
expect(
reactElementToJSXString(<div obj={{hello: [1, 2], world: {nested: true}}}/>)
).toEqual(`<div obj={{hello: [1, 2], world: {nested: true}}} />`);
});
it(`reactElementToJSXString(<div></div>)`, () => {

@@ -150,2 +156,10 @@ expect(

});
it('ignores object keys order (sortobject)', () => {
expect(
reactElementToJSXString(<div o={{a: 1, b: 2}}/>)
).toEqual(
reactElementToJSXString(<div o={{b: 2, a: 1}}/>)
);
});
});
import React from 'react';
import stringify from 'stringify-object';
import collapse from 'collapse-white-space';
import {isElement} from 'react-addons-test-utils';
import stringify from 'stringify-object';
import sortobject from 'sortobject';

@@ -118,5 +119,12 @@ export default function reactElementToJSXString(ReactElement) {

function stringifyObject(obj) {
// sortobject fails on some types, like regex
if (Object.keys(obj).length > 0) {
obj = sortobject(obj);
}
return collapse(stringify(obj))
.replace(/^{ /, '{')
.replace(/ }$/, '}');
.replace(/{ /g, '{')
.replace(/ }/g, '}')
.replace(/\[ /g, '[')
.replace(/ \]/g, ']');
}

@@ -123,0 +131,0 @@

{
"name": "react-element-to-jsx-string",
"version": "1.0.0",
"version": "1.1.0",
"description": "Turn a ReactElement into the corresponding JSX string.",

@@ -34,4 +34,5 @@ "main": "index-dist.js",

"react-addons-test-utils": "^0.14.0",
"sortobject": "^1.0.0",
"stringify-object": "^2.3.0"
}
}

@@ -22,2 +22,3 @@ # react-element-to-jsx-string

- order props alphabetically
- sort object keys in a deterministic order (`o={{a: 1, b:2}} === o={{b:2, a:1}}`)
- React's documentation indent style for JSX

@@ -53,2 +54,9 @@

## Build
```sh
npm run build
npm run build:watch
```
## Thanks

@@ -55,0 +63,0 @@