react-element-to-jsx-string
Advanced tools
Comparing version
@@ -0,1 +1,24 @@ | ||
<a name="14.0.0"></a> | ||
# [14.0.0](https://github.com/algolia/react-element-to-jsx-string/compare/v13.2.0...v14.0.0) (2018-05-25) | ||
### Features | ||
* **browser:** build a dedicated version for the browser ([#242](https://github.com/algolia/react-element-to-jsx-string/issues/242)) ([574d850](https://github.com/algolia/react-element-to-jsx-string/commit/574d850)) | ||
### BREAKING CHANGES | ||
* **browser:** This PR change of the internal directory structure of the exported code. The previous code has move from the `dist/` into the `dist/esm` directory (but remender that we do not avice you to do use internals code 🤓) | ||
* fix(bunble): do not bundle peer dependencies | ||
* qa(ci): Avoid duplicate runs of checks on CI | ||
* qa(dependencies): Upgrade to latest rollup versions | ||
* qa(test): Allow to run the smoke tests aggaint all builded versions | ||
<a name="13.2.0"></a> | ||
@@ -2,0 +25,0 @@ # [13.2.0](https://github.com/algolia/react-element-to-jsx-string/compare/v13.1.0...v13.2.0) (2018-03-14) |
@@ -7,2 +7,6 @@ 'use strict'; | ||
var _collapseWhiteSpace = require('collapse-white-space'); | ||
var _collapseWhiteSpace2 = _interopRequireDefault(_collapseWhiteSpace); | ||
var _react = require('react'); | ||
@@ -14,5 +18,5 @@ | ||
var _sortObject = require('./sortObject'); | ||
var _sortobject = require('sortobject'); | ||
var _sortObject2 = _interopRequireDefault(_sortObject); | ||
var _sortobject2 = _interopRequireDefault(_sortobject); | ||
@@ -36,3 +40,3 @@ var _parseReactElement = require('./../parser/parseReactElement'); | ||
exports.default = function (value, inline, lvl, options) { | ||
var normalizedValue = (0, _sortObject2.default)(value); | ||
var normalizedValue = (0, _sortobject2.default)(value); | ||
@@ -56,3 +60,3 @@ var stringifiedValue = (0, _stringifyObject2.default)(normalizedValue, { | ||
if (inline) { | ||
return stringifiedValue.replace(/\s+/g, ' ').replace(/{ /g, '{').replace(/ }/g, '}').replace(/\[ /g, '[').replace(/ ]/g, ']'); | ||
return (0, _collapseWhiteSpace2.default)(stringifiedValue).replace(/{ /g, '{').replace(/ }/g, '}').replace(/\[ /g, '[').replace(/ ]/g, ']'); | ||
} | ||
@@ -59,0 +63,0 @@ |
@@ -151,3 +151,3 @@ 'use strict'; | ||
out += childrens.reduce(_mergeSiblingPlainStringChildrenReducer2.default, []).map(formatOneChildren(inline, newLvl, options)).join(!inline ? '\n' + (0, _spacer2.default)(newLvl, tabStop) : ''); | ||
out += childrens.reduce(_mergeSiblingPlainStringChildrenReducer2.default, []).map(formatOneChildren(inline, newLvl, options)).join('\n' + (0, _spacer2.default)(newLvl, tabStop)); | ||
@@ -154,0 +154,0 @@ if (!inline) { |
@@ -11,9 +11,6 @@ 'use strict'; | ||
var _formatReactFragmentNode = require('./formatReactFragmentNode'); | ||
var _formatReactFragmentNode2 = _interopRequireDefault(_formatReactFragmentNode); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var jsxStopChars = ['<', '>', '{', '}']; | ||
var shouldBeEscaped = function shouldBeEscaped(s) { | ||
@@ -59,8 +56,4 @@ return jsxStopChars.some(function (jsxStopChar) { | ||
if (node.type === 'ReactFragment') { | ||
return (0, _formatReactFragmentNode2.default)(node, inline, lvl, options); | ||
} | ||
throw new TypeError('Unknow format type "' + node.type + '"'); | ||
}; | ||
//# sourceMappingURL=formatTreeNode.js.map |
@@ -7,2 +7,6 @@ 'use strict'; | ||
var _react = require('react'); | ||
var React = _interopRequireWildcard(_react); | ||
var _formatTree = require('./formatter/formatTree'); | ||
@@ -18,2 +22,4 @@ | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
var reactElementToJsxString = function reactElementToJsxString(element) { | ||
@@ -32,4 +38,2 @@ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, | ||
useBooleanShorthandSyntax = _ref$useBooleanShorth === undefined ? true : _ref$useBooleanShorth, | ||
_ref$useFragmentShort = _ref.useFragmentShortSyntax, | ||
useFragmentShortSyntax = _ref$useFragmentShort === undefined ? true : _ref$useFragmentShort, | ||
_ref$sortProps = _ref.sortProps, | ||
@@ -51,3 +55,2 @@ sortProps = _ref$sortProps === undefined ? true : _ref$sortProps, | ||
useBooleanShorthandSyntax: useBooleanShorthandSyntax, | ||
useFragmentShortSyntax: useFragmentShortSyntax, | ||
sortProps: sortProps, | ||
@@ -54,0 +57,0 @@ maxInlineAttributesLineLength: maxInlineAttributesLineLength, |
@@ -11,10 +11,8 @@ 'use strict'; | ||
var _react2 = _interopRequireDefault(_react); | ||
var React = _interopRequireWildcard(_react); | ||
var _tree = require('./../tree'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
var supportFragment = Boolean(_react.Fragment); | ||
var getReactElementDisplayName = function getReactElementDisplayName(element) { | ||
@@ -55,3 +53,3 @@ return element.type.displayName || element.type.name || ( // function name | ||
return (0, _tree.createNumberTreeNode)(element); | ||
} else if (!_react2.default.isValidElement(element)) { | ||
} else if (!React.isValidElement(element)) { | ||
throw new Error('react-element-to-jsx-string: Expected a React.Element, got `' + (typeof element === 'undefined' ? 'undefined' : _typeof(element)) + '`'); | ||
@@ -74,10 +72,6 @@ } | ||
var defaultProps = filterProps(element.type.defaultProps || {}, noChildren); | ||
var childrens = _react2.default.Children.toArray(element.props.children).filter(onlyMeaningfulChildren).map(function (child) { | ||
var childrens = React.Children.toArray(element.props.children).filter(onlyMeaningfulChildren).map(function (child) { | ||
return parseReactElement(child, options); | ||
}); | ||
if (supportFragment && element.type === _react.Fragment) { | ||
return (0, _tree.createReactFragmentTreeNode)(key, childrens); | ||
} | ||
return (0, _tree.createReactElementTreeNode)(displayName, props, defaultProps, childrens); | ||
@@ -84,0 +78,0 @@ }; |
@@ -32,10 +32,2 @@ 'use strict'; | ||
}; | ||
var createReactFragmentTreeNode = exports.createReactFragmentTreeNode = function createReactFragmentTreeNode(key, childrens) { | ||
return { | ||
type: 'ReactFragment', | ||
key: key, | ||
childrens: childrens | ||
}; | ||
}; | ||
//# sourceMappingURL=tree.js.map |
{ | ||
"name": "react-element-to-jsx-string", | ||
"version": "13.2.0", | ||
"version": "14.0.0", | ||
"description": "Turn a ReactElement into the corresponding JSX string.", | ||
"main": "dist/index.js", | ||
"main": "dist/cjs/index.js", | ||
"module": "dist/esm/index.js", | ||
"browser": "dist/cjs/index.js", | ||
"scripts": { | ||
"build": "babel ./src/ --ignore=*.spec.js --source-maps --out-dir ./dist/ && flow-copy-source -v --ignore=*.spec.js src/ dist/", | ||
"clean": "npm run esm:clean && npm run cjs:clean", | ||
"build": "npm run esm:build && npm run cjs:build", | ||
"preesm:build": "npm run esm:clean", | ||
"esm:build": "babel ./src/ --ignore=*.spec.js --source-maps --out-dir ./dist/esm && flow-copy-source -v --ignore=*.spec.js src/ dist/esm", | ||
"esm:clean": "rm -rf ./dist/esm/*", | ||
"precjs:build": "npm run cjs:clean", | ||
"cjs:build": "rollup --config rollup.config.js", | ||
"cjs:clean": "rm -rf ./dist/cjs/*", | ||
"lint": "eslint .", | ||
@@ -13,4 +22,3 @@ "lint:fix": "npm run lint -- --fix", | ||
"prepublish": "npm run build", | ||
"prebuild": "mkdir -p dist && rm -rf ./dist/*", | ||
"prettier:fix": "prettier --write \"**/*.{js,json}\"", | ||
"prettier:fix": "prettier --write --single-quote --trailing-comma es5 \"{src/**/*.js,package.json}\"", | ||
"test": "jest", | ||
@@ -34,7 +42,8 @@ "test:watch": "jest --watch", | ||
"devDependencies": { | ||
"@commitlint/cli": "5.2.8", | ||
"@commitlint/config-angular": "5.1.1", | ||
"@commitlint/cli": "6.2.0", | ||
"@commitlint/config-angular": "6.1.3", | ||
"babel-cli": "6.26.0", | ||
"babel-eslint": "8.2.2", | ||
"babel-eslint": "8.2.3", | ||
"babel-jest": "22.2.2", | ||
"babel-plugin-external-helpers": "6.22.0", | ||
"babel-preset-es2015": "6.24.1", | ||
@@ -45,13 +54,13 @@ "babel-preset-flow": "6.23.0", | ||
"babel-register": "6.26.0", | ||
"conventional-changelog-cli": "1.3.16", | ||
"conventional-changelog-cli": "1.3.22", | ||
"doctoc": "1.3.1", | ||
"eslint": "4.18.2", | ||
"eslint": "4.19.1", | ||
"eslint-config-algolia": "13.1.0", | ||
"eslint-config-prettier": "2.9.0", | ||
"eslint-plugin-import": "2.9.0", | ||
"eslint-plugin-jest": "21.14.0", | ||
"eslint-plugin-import": "2.11.0", | ||
"eslint-plugin-jest": "21.15.1", | ||
"eslint-plugin-prettier": "2.6.0", | ||
"eslint-plugin-react": "7.7.0", | ||
"eslint-plugin-react": "7.8.2", | ||
"expect": "22.3.0", | ||
"flow-bin": "0.67.1", | ||
"flow-bin": "0.72.0", | ||
"flow-copy-source": "1.3.0", | ||
@@ -61,10 +70,20 @@ "husky": "0.14.3", | ||
"json": "9.0.6", | ||
"lint-staged": "7.0.0", | ||
"lint-staged": "7.1.0", | ||
"mversion": "1.10.1", | ||
"prettier": "1.8.2", | ||
"react": "16.2.0", | ||
"react-test-renderer": "16.2.0" | ||
"react": "16.3.2", | ||
"react-dom": "16.3.2", | ||
"react-test-renderer": "16.3.2", | ||
"rollup": "0.58.2", | ||
"rollup-plugin-babel": "3.0.4", | ||
"rollup-plugin-commonjs": "9.1.3", | ||
"rollup-plugin-flow": "1.1.1", | ||
"rollup-plugin-node-builtins": "2.1.2", | ||
"rollup-plugin-node-globals": "1.2.1", | ||
"rollup-plugin-node-resolve": "3.3.0", | ||
"rollup-plugin-sourcemaps": "0.4.2" | ||
}, | ||
"peerDependencies": { | ||
"react": "^0.14.8 || ^15.0.1 || ^16.0.0" | ||
"react": "^0.14.8 || ^15.0.1 || ^16.0.0", | ||
"react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0" | ||
}, | ||
@@ -71,0 +90,0 @@ "dependencies": { |
@@ -6,3 +6,13 @@ #!/usr/bin/env node | ||
execFileSync(path.join(__dirname, 'prepare.js'), [process.argv[2]], { | ||
const buildType = process.argv[2]; | ||
if (!buildType) { | ||
throw new Error('The build type to test is missing'); | ||
} | ||
const requestedReactVersion = process.argv[3]; | ||
if (!requestedReactVersion) { | ||
throw new Error('React version to use for the test is missing'); | ||
} | ||
execFileSync(path.join(__dirname, 'prepare.js'), [requestedReactVersion], { | ||
cwd: __dirname, | ||
@@ -12,5 +22,5 @@ stdio: 'inherit', | ||
execFileSync(path.join(__dirname, 'smoke.js'), { | ||
execFileSync(path.join(__dirname, 'smoke.js'), [buildType], { | ||
cwd: __dirname, | ||
stdio: 'inherit', | ||
}); |
@@ -6,5 +6,15 @@ #!/usr/bin/env node | ||
const requireReactElementToJsxString = buildType => { | ||
if (buildType === 'esm') { | ||
return require(`./../../dist/esm`).default; | ||
} else if (buildType === 'cjs') { | ||
return require('./../../dist/cjs'); | ||
} | ||
throw new Error(`Unknown build type: "${buildType}"`); | ||
}; | ||
const expect = require('expect'); | ||
const React = require('react'); | ||
const reactElementToJsxString = require('./../../dist/').default; | ||
const reactElementToJsxString = requireReactElementToJsxString(process.argv[2]); | ||
@@ -11,0 +21,0 @@ console.log(`Tested "react" version: "${React.version}"`); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
130
78.08%2151
209.5%537635
-8.76%4
33.33%40
33.33%4
100%3
50%