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.
v3.3.5 - 2023-07-28
- [Fix]
extractProp
: supportJSXFragment
#132
- [Dev Deps] update
@babel/core
,@babel/eslint-parser
,@babel/parser
,eslint
e5555d1
- [Tests] fix a test
bde3ba9
v3.3.4 - 2023-06-28
- [Refactor] use
array.prototype.flat
object.values
over.reduce
bad51d0
- [meta] add
auto-changelog
af1de69
- [Tests] add test for
import.meta
1d39f58
- [Dev Deps] update
@babel/core
,@babel/eslint-parser
,@babel/parser
,aud
,eslint
,eslint-plugin-import
3baaf76
- [Fix]
TSNonNullExpression
: Handle function calls26cc3c4
- [Dev Deps] update
eslint
,@babel/core
,@babel/parser
,object.entries
,object.fromentries
0e4f80c
- [Dev Deps] update
@babel/core
,@babel/eslint-parser
,@babel/parser
,aud
b5427a6
- [meta] run build in prepack, not prepublish
a0f4f38
- [Deps] update
array-includes
c479841
- [Deps] update
object.assign
9685dce
- [Fix] Mark ChainExpression as a noop (#109)
- [Deps] update
object.assign
- [Dev Deps] update
@babel/core
,@babel/eslint-parser
,@babel/parser
,eslint
- [Fix] Handle
as
casts in TSNonNullExpression
- [Fix]
ArrayExpression
: handle sparse array (#117) - [Deps] update
array-includes
- [meta] move jest config to separate file
- [meta] use
npmignore
to autogenerate an npmignore file - [Dev Deps] update
@babel/core
,@babel/eslint-parser
,@babel/parser
,eslint
- [New] add
JSXFragment
,JSXText
; fixJSXElement
to handle children - [Dev Deps] update
@babel/core
,@babel/parser
,eslint
,eslint-plugin-import
- [Fix]
TSNonNullExpression
: handle computed MemberExpressions (#109) - [Fix] avoid a crash in ChainExpressions in a TSAsExpression
- [patch] include project name in error logging (#113)
- [readme] update badges, URLs
- [Deps] update
array-includes
- [meta] don‘t lint coverage results
- [meta] add GitHub org to FUNDING.yml
- [meta] add OpenCollective to FUNDING.yml
- [meta] run
aud
inposttest
- [meta] add Automatic Rebase and Require Allow Edits workflows
- [actions] use
node/install
instead ofnode/run
; usecodecov
action - [Tests] unpin
caniuse-lite
, since breaking change is fixed - [Tests] pin
caniuse-lite
, due to breaking change in patch version - [Tests] fix linting errors
- [Tests] migrate tests to Github Actions
- [Tests] stop using coveralls
- [Tests] skip failing fragment test in node 4
- [Dev Deps] update
@babel/core
,@babel/parser
,aud
,eslint
,eslint-plugin-import
,object.entries
,object.fromentries
- [New] add support for fragment syntax (
<>
) (#108) - [Fix]
TSNonNullExpression
: handleThisExpression
s (#108) - [Deps] update
array-includes
,object.assign
- [Dev Deps] update
@babel/core
,@babel/parser
,eslint
,eslint-config-airbnb-base
,object.entries
,object.fromentries
- [New] add
TSNonNullExpression
(#105) - [New] add
AssignmentExpression
(#106) - [Dev Deps] update
eslint
- [Breaking] Don't return node.start & node.end (#100)
- [Breaking] add
ChainExpression
;CallExpression
now includes arguments (#102) - [New] add
SequenceExpression
(#101) - [Deps] update
object.assign
- [Dev Deps] update
eslint
,eslint-plugin-import
- [Dev Deps] update
@babel/core
,@babel/parser
,eslint
,eslint-plugin-import
- [Tests] use proper
actual, expected
ordering for non-confusing failure messages
- [Fix]
expressions/TemplateLiteral
: use.range[0]
instead of.start
- [New] Provide both range and start & end property on Node, support eslint v7 (#97)
- [Dev Deps] update
@babel/core
,@babel/parser
,eslint
,eslint-config-airbnb-base
,eslint-plugin-import
,flow-parser
- [meta] remove yarn registry from npmrc, so
npm publish
works
- [New] add nullish coalescing (#99)
- [New] add OptionalCallExpression (#99)
- [Deps] update
array-includes
- [meta] add
safe-publish-latest
- [Dev Deps] update
@babel/parser
,babel-eslint
,coveralls
,eslint
,eslint-config-airbnb-base
,eslint-plugin-import
,in-publish
,object.entries
,object.fromentries
,rimraf
- [Tests] on
node
v14
; test all branches
- (fix) Fix crash on spread (#94)
- (improvement) Add support for retrieving props from a spread with object expression (#93)
- (improvement) Account for TypeCastExpression in the utils
- (fix) Fix getLiteralPropValue for TS-specific node types.
- (chore) upgrade dependencies.
- (improvement) Stop throwing errors when unknown AST nodes are encountered.
- (dev) CI changes.
- Fix undefined bug for template strings. #45
- Adding support for
objectRestSpread
within props #60 - Accommodate ExperimentalSpreadProperty in prop values #75
- Account for SpreadElement AST Nodes #76
- Support OptionalMemberExpression AST nodes #77
- Add support to Typescript's node types #72
- [fix] Add support for BindExpression
- [breaking] Remove undefined return from
propName
so it always returns a value.
- [fix] - Fixing fatal throw in
getPropValue
forArrowFunctionExpression
- [new] Add eventHandlers and eventHandlersByType to API. These are the event names for DOM elements on JSX-using libraries such as React, inferno, and preact.
- [fix] Normalize literals "true" and "false" before converting to boolean in Literal prop value extractor.
- [fix] Recursively resolve JSXMemberExpression names for elementType. (i.e.
<Component.Render.Me />
). Fixes #9
- [fix] Add support for
ArrayExpression
.
- [fix] Add support for
UpdateExpression
.
- [fix] Add
JSXElement
to expression types to handle recursively extracting prop value.
- [new] Add support for
TaggedTemplateExpression
.
- [fix] Point to
lib
instead ofsrc
for root exports.
- [new] Export functions from root so they can be imported like the following:
require('jsx-ast-utils/{function}')
.
- [fix] Better support for expressions in
TemplateLiteral
extraction.
- [new] Support for namespaced element names.
- [new] Add
propName
to API to get correct name for prop.
- [fix] Return actual reserved words instead of string representations of them.
- Initial stable release