terra-props-table
Advanced tools
Comparing version 2.16.0 to 2.17.0
@@ -7,2 +7,9 @@ Changelog | ||
2.16.0 - (September 4, 2018) | ||
------------------ | ||
### Changed | ||
* Minor dependency version bump | ||
### Changed | ||
* Added a new prop, `propsResolution` to allow users to opt-in to react-docgen's findAllComponentDefinitions prop-type resolution. | ||
2.15.0 - (August 29, 2018) | ||
@@ -9,0 +16,0 @@ ------------------ |
@@ -9,6 +9,5 @@ # Dependency Information | ||
| glob | ^7.1.2 | -- | a little globber | | ||
| lodash | ^4.17.4 | -- | Lodash modular utilities. | | ||
| prop-types | ^15.5.8 | -- | Runtime type checking for React props and similar objects. | | ||
| react-docgen | ^2.15.0 | -- | A CLI and toolkit to extract information from React components for documentation generation. | | ||
| terra-markdown | ^2.12.0 | ^16.2.0 | terra-markdown | | ||
| terra-markdown | ^2.13.0 | ^16.2.0 | terra-markdown | | ||
@@ -15,0 +14,0 @@ ## peerDependencies |
@@ -46,5 +46,13 @@ 'use strict'; | ||
*/ | ||
src: _propTypes2.default.string.isRequired | ||
src: _propTypes2.default.string.isRequired, | ||
/** | ||
* Type of react-docgen resolver to use for prop-types resolution. Supported values are `default` or `findAllComponentDefinitions` | ||
*/ | ||
propsResolution: _propTypes2.default.oneOf(['default', 'findAllComponentDefinitions']) | ||
}; | ||
var defaultProps = { | ||
propsResolution: 'default' | ||
}; | ||
function formatShape(shape) { | ||
@@ -130,4 +138,5 @@ return JSON.stringify(shape, null, 1); | ||
var componentName = _ref.componentName, | ||
propsResolution = _ref.propsResolution, | ||
src = _ref.src, | ||
customProps = _objectWithoutProperties(_ref, ['componentName', 'src']); | ||
customProps = _objectWithoutProperties(_ref, ['componentName', 'propsResolution', 'src']); | ||
@@ -139,3 +148,3 @@ /** | ||
*/ | ||
var componentMetaData = (0, _reactDocgen.parse)(src, _reactDocgen.resolver.findAllComponentDefinitions); | ||
var componentMetaData = (0, _reactDocgen.parse)(src); | ||
@@ -146,4 +155,12 @@ /** | ||
*/ | ||
var componentProps = componentMetaData[0].props; | ||
var componentProps = componentMetaData.props; | ||
// If user wants to resolve all component definitions in file, use react-docgen's | ||
// findAllComponentDefinitions resolver | ||
if (propsResolution === 'findAllComponentDefinitions') { | ||
componentMetaData = (0, _reactDocgen.parse)(src, _reactDocgen.resolver.findAllComponentDefinitions); | ||
componentProps = componentMetaData[0].props; | ||
} | ||
var tableRowClass = cx('prop-table-row'); | ||
@@ -249,3 +266,4 @@ var tableClassNames = cx(['props-table', customProps.className]); | ||
PropsTable.propTypes = propTypes; | ||
PropsTable.defaultProps = defaultProps; | ||
exports.default = PropsTable; |
{ | ||
"name": "terra-props-table", | ||
"main": "lib/PropsTable.js", | ||
"version": "2.16.0", | ||
"version": "2.17.0", | ||
"description": "terra-props-table", | ||
@@ -6,0 +6,0 @@ "repository": { |
@@ -20,4 +20,12 @@ /* eslint-disable import/no-extraneous-dependencies */ | ||
src: PropTypes.string.isRequired, | ||
/** | ||
* Type of react-docgen resolver to use for prop-types resolution. Supported values are `default` or `findAllComponentDefinitions` | ||
*/ | ||
propsResolution: PropTypes.oneOf(['default', 'findAllComponentDefinitions']), | ||
}; | ||
const defaultProps = { | ||
propsResolution: 'default', | ||
}; | ||
function formatShape(shape) { | ||
@@ -89,3 +97,5 @@ return JSON.stringify(shape, null, 1); | ||
*/ | ||
const PropsTable = ({ componentName, src, ...customProps }) => { | ||
const PropsTable = ({ | ||
componentName, propsResolution, src, ...customProps | ||
}) => { | ||
/** | ||
@@ -96,3 +106,3 @@ * Runs component source code through react-docgen. Passing second argument to parse | ||
*/ | ||
const componentMetaData = parse(src, resolver.findAllComponentDefinitions); | ||
let componentMetaData = parse(src); | ||
@@ -103,4 +113,12 @@ /** | ||
*/ | ||
const componentProps = componentMetaData[0].props; | ||
let componentProps = componentMetaData.props; | ||
// If user wants to resolve all component definitions in file, use react-docgen's | ||
// findAllComponentDefinitions resolver | ||
if (propsResolution === 'findAllComponentDefinitions') { | ||
componentMetaData = parse(src, resolver.findAllComponentDefinitions); | ||
componentProps = componentMetaData[0].props; | ||
} | ||
const tableRowClass = cx('prop-table-row'); | ||
@@ -155,3 +173,4 @@ const tableClassNames = cx([ | ||
PropsTable.propTypes = propTypes; | ||
PropsTable.defaultProps = defaultProps; | ||
export default PropsTable; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
54861
940