All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v2.17.0 - 2024-05-23
- [New]
childrenOf
/childrenOfType
/childrenSequenceOf
: support fragments viarenderableChildren
helper#71
- [Dev Deps] update all the things
5032f7f
- [Tests] migrate to GHA
c92c5c4
- [meta] rename package and URLs
8586801
- [meta] use
npmignore
0a366a6
- [actions] add "Automatic Rebase" and "require allow edits" actions
6539947
- [meta] use
auto-changelog
1255cd7
- [Deps] update
array.prototype.find
,array.prototype.flatmap
,function.prototype.name
,is-regex
,object-is
,object.assign
,object.entries
,prop-types
,prop-types-exact
7ed89ae
- [Dev Deps] update
@babel/cli
,@babel/core
,@babel/register
,eslint
,eslint-plugin-import
,eslint-plugin-jsx-a11y
,eslint-plugin-react
af140ff
- [Dev Deps] update
@babel/cli
,@babel/core
,@babel/register
,enzyme-adapter-react-helper
,eslint
,eslint-plugin-react
e560291
- [Deps] update
object-is
,object.assign
,react-is
4f12896
- [meta] add missing
engines.node
9c6f8e6
- [Tests] use
aud
in postteste9fb91a
- Remove "that we use at Airbnb" from readme
2b14af0
- [Deps] update
is-regex
5c7bd2b
- [Tests] ignore node deprecation warnings
42d5f4d
- [New] add
predicate
validator - [meta] add
funding
field - [Deps] remove unused
has
(#67) - [Deps] update
array.prototype.find
,function.prototype.name
,is-regex
,object.entries
,object-is
,react-is
- [Dev Deps] update
@babel/cli
,@babel/core
,@babel/register
,airbnb-browser-shims
,enzyme
,enzyme-adapter-react-helper
,eslint
,eslint-config-airbnb
,eslint-plugin-import
,eslint-plugin-react
,enzyme-adapter-react-helper
,object-inspect
,object.values
,reflect.ownkeys
,rimraf
,safe-publish-latest
- [Tests] use travis-ci build stages, and shared configs
- [Tests] add more
or
tests - [Tests] Replace non-inclusive "whitelist" term with "allowlist" (#69)
- [Tests] fix eslint error
- [New] [getComponentName] Add logic to handle React.memo (#65)
- [Deps] update
react-is
- [Dev Deps] update
enzyme-adapter-react-helper
,eslint
,eslint-config-airbnb
,rimraf
,safe-publish-latest
- [Tests] actually run
npm run test:prepare
in node >= 4 - [Tests] up to
node
v12
- [New] add
stringEndsWith
(#59) - [Fix]
getComponentName
/componentWithName
: get display name from forwardRefs (#64) - [Docs] Conform disallowedIf file to lint. Update disallowedIf documentation (#62)
- [Docs] add stringEndsWith to README.md (#60)
- [Deps] update
array.prototype.find
,function.prototype.name
- [Dev Deps] update
@babel/cli
,@babel/core
,@babel/register
,babel-plugin-istanbul
,babel-preset-airbnb
,enzyme
,enzyme-adapter-react-helper
,eslint-config-airbnb
,eslint-plugin-import
,eslint-plugin-jsx-a11y
,eslint-plugin-react
- [Tests] fix some broken tests
- [patch]
ref
: Remove arity check (#57)
- [Fix]
ref
: ensure that the prop value is not a component (#55)
- [New] add
ref
(#54) - [Deps] update
prop-types
,react-is
- [Dev Deps] update
@babel/cli
,@babel/core
,@babel/register
,airbnb-browser-shims
,babel-plugin-istanbul
,babel-preset-airbnb
,enzyme
,enzyme-adapter-react-helper
,eslint
- [New] add
empty
- [New]
elementType
: support forwardRefs and Context Provider/Consumer - [Deps] update
object.entries
- [Dev Deps] update to babel 7; update
airbnb-browser-shims
,chai
,enzyme
,enzyme
,enzyme-adapter-react-helper
,eslint
,eslint-plugin-jsx-a11y
,eslint-plugin-react
,eslint-plugin-import
- [New] Add disallowedIf propType (#45)
- [Deps] update
has
,prop-types
,prop-types-exact
- [Dev Deps] update
enzyme
,enzyme-adapter-react-helper
,eslint
,eslint-config-airbnb
,eslint-plugin-import
,eslint-plugin-jsx-a11y
,eslint-plugin-react
,safe-publish-latest
- [New]
componentWithName
: allow it to take a list of HOC names to strip off before validating (#41) - [Docs] add docs for 2 newest validators
- [Dev Deps] update
eslint-plugin-import
,eslint-plugin-react
- [Tests] on
node
v10
- [New] Added
requiredBy
validator (#30) - [New] add
stringStartsWith
- [New] add
booleanSome
- [Fix] use
object-is
instead ofObject.is
- [Deps] update
prop-types
,function.prototype.name
,object.assign
,prop-types-exact
- [Dev Deps] update
airbnb-browser-shims
,babel-cli
,babel-plugin-istanbul
,babel-plugin-transform-replace-object-assign
,babel-register
,chai
,eslint
,eslint-config-airbnb
,eslint-plugin-jsx-a11y
,eslint-plugin-react
,eslint-plugin-import
,react
,rimraf
- [Docs] fix URLs in readme
- [Docs] fix range documentation (#33)
- [Docs] Add simple use cases (#38)
- [Tests] add
node
v9
; pin included builds to LTS; usenvm install-latest-npm
- [Tests] use
enzyme-adapter-react-helper
- [Fix]
nonNegativeInteger
: mock should match reality and not be a noopThunk, only a noop
- [New] add optional
mapper
function touniqueArrayOf
(#29, #28) - [Deps] update
function.prototype.name
- [Dev Deps] update
eslint
,eslint-config-airbnb
- [Fix] Make
getComponentName
more robust in IE (#27) - [Deps] update
prop-types-exact
- [Dev Deps] update
babel-preset-airbnb
,chai
,eslint-plugin-airbnb
,eslint-plugin-import
,eslint-plugin-jsx-a11y
- [New] Added compatibility for React 16 alpha (#25)
- [Fix]
restrictedProp
: ensure it passes with a custom message when nullary
- [New]
restrictedProp
: add ability to overwrite error with custom function (#22) - [Refactor] Allow object rest/spread and
Object.assign
by transforming toobject.assign
- [Deps] update
prop-types
- [Dev Deps] update
babel-plugin-istanbul
,chai
,eslint-config-airbnb
,eslint-plugin-import
,eslint-plugin-jsx-a11y
,eslint-plugin-react
,mocha
- [Tests] on
node
v8
;npm
v5
+ breaks onnode
< v4 - [Tests] greenkeeper-ignore
nyc
- [Fix]
childrenHavePropXorChildren
Ensure validator skips over falsy children - [Deps] update
prop-types
- [Dev Deps] update
babel-plugin-istanbul
,mocha
,nyc
,react
- [Refactor] Use
prop-types
package instead ofReact.PropTypes
- [Deps] update
array.prototype.find
,prop-types
- [Dev Deps] update
babel-cli
,babel-register
,eslint
,nyc
,react
- [Tests] improve test matrix
- [Fix] remove requirement to polyfill
- [Fix]
componentWithName
: throw if given a non-string/non-regex name - [Fix]
or
: ensure it works withexplicitNull
(#12) - [Fix]
between
: avoid React PropType warning by usingvaluesOf
instead ofPropTypes.objectOf
- [Refactor]
or
: add some extra tests; remove unnecessaryoneOfType
wrapper - [Tests] fail tests on console warnings or errors
- [New] Adds regex capabilities to componentWithName (#11)
- [New]
childrenOfType
: add support for*
which supports anything. - [Dev Deps] update
babel-cli
,babel-register
,eslint
,rimraf
,babel-plugin-istanbul
,eslint-plugin-react
- [Tests] improve coverage to 100%
- [Fix]
childrenOfType
: partially revert fc0e37f84e1537a875c30d0db69b5121d790eb40
- [New] add
childrenSequenceOf
- [New] add
sequenceOf
- [New]
between
: allow it to take props-taking number thunks as option values as well. - [New] add
between
- [New] add
shape
- [New] add
nonNegativeNumber
- [New] add
elementType
- [New] add
childrenOf
- [New] add
object
- [New] add
keysOf
(#8) - [New] add
valuesOf
- [New] add
isPrimitive
andisPlainObject
helpers - [New] add
wrapValidator
helper - [New] add
renderableChildren
helper - [New] add
getComponentName
helper - [New]
nChildren
,restrictedProp
,childrenHavePropXorChildren
: addisRequired
for consistency - [New]
and
:isRequired
validator typeName should indicate such. - [Tests] run coverage as part of tests
- [Tests] fix test script
- [Tests] improve coverage to 100%
- [Tests] add
npm run coverage
- [babel] build with source maps
- [New] add
integer
- [Dev Deps] update
eslint
,rimraf
- [New] add
numericString
- [New] add
explicitNull
- [Dev Deps] update
airbnb-js-shims
,babel-cli
,babel-register
,eslint-plugin-react
- [Fix]
childrenOfType
: improve the error message - [Dev Deps] update
eslint
,eslint-config-airbnb
,eslint-plugin-jsx-a11y
- [New] add
mutuallyExclusiveTrueProps
- [Dev Deps] update
babel-cli
,babel-preset-airbnb
,babel-register
,eslint
- [Fix] ensure production mocks have
.isRequired
- [breaking] when
NODE_ENV
isproduction
, export mocks instead of real validators - [new] add mocks
- [New] add
uniqueArray
/uniqueArrayOf
- [New] add
withShape
- [Breaking] ensure every export is a function that returns a validator, for consistency (
restrictedProp
) - [Deps] move
safe-publish-latest
to devDeps - [Dev Deps] update
eslint
,eslint-config-airbnb
,eslint-plugin-import
,eslint-plugin-react
,eslint-plugin-jsx-a11y
,mocha
,react
; add missingbabel-register
- [Tests] on
node
v7
- [enhancement]
forbidExtraProps
: add the componentName into the error message
- [Fix]
forbidPropTypes
: allow propTypes to be processed multiple times - [Fix]
forbidPropTypes
: fix unknown props error message
- [New] add
forbidExtraProps
- [Dev Deps] update
babel-cli
- [New] add
and
combinator - [New] add
isRequired
tononNegativeInteger
- [Dev Deps] update
eslint-plugin-react
,mocha
- [Fix]
mutuallyExclusiveProps
: include the “current” prop in the exclusives list
- [Fix] [New] add
isRequired
tomutuallyExclusiveProps
; ensuremutuallyExclusiveProps
is not required by default - [Fix] [New] add
isRequired
tocomponentWithName
; ensurecomponentWithName
is not required by default - [Deps] update
safe-publish-latest
- Initial release.