7.8 KiB
7.8 KiB
2.13.0
Features:
- added support for
JsxFragment
introduced in typescript@2.6.2 - added corresponding typeguard functions
2.12.2
Bugfixes:
endsControlFlow
- added missing logic for labeled statement, iteration statements and try-catch
- added missing logic for
break
andcontinue
with labels - take all jump statements into account, not only the last statement
isValidIdentifier
andisValidNumericLiteral
handle irregular whitespacefindImports
searches in ambient modules inside regular.ts
files (not only.d.ts
)canHaveJsDoc
is now a typeguard
2.12.1
Bugfixes:
forEachTokenWithTrivia
- handles irregular whitespace and no longer visits some tokens twice
- correctly calculates the range of JsxText
2.12.0
API-Changes:
- deprecated
ImportOptions
if favor of the newImportKind
enum
2.11.2
Bugfixes:
parseJsDocOfNode
: set correctpos
,end
andparent
properties. Also affectsgetJsDoc
ofEndOfFileToken
2.11.1
Bugfixes:
collectVariableUsage
: correctly consider catch binding as block scoped declaration inside catch block
2.11.0
Bugfixes:
getJsDoc
now correctly returns JsDoc forEndOfFileToken
Features:
- added utility
parseJsDocOfNode
2.10.0
Features:
- added utility
findImports
to find all kinds of imports in a source file
2.9.0
Features:
- added typeguard
isMappedTypeNode
- added utilities
canHaveJsDoc
andgetJsDoc
2.8.2
Bugfixes:
collectVariableUsage
: handle global augmentation like other module augmentations
2.8.1
Bugfixes:
- Support
typescript@2.5.1
with optional catch binding collectVariableUsage
fixed a bug where method decorator had method's parameters in scope
2.8.0
- Compatibility with the latest typescript nightly
- Added
getIdentifierText
to unescape identifiers across typescript versions
2.7.1
Bugfixes:
isReassignmentTarget
don't returntrue
for right side of assignment
2.7.0
Features:
- Added
isReassignmentTarget
utility
2.6.1
Bugfixes:
getDeclarationDomain
now returnsundefined
for Parameter in IndexSignaturecollectVariableUsage
ignores Parameter in IndexSignature
2.6.0
Bugfixes:
collectVariableUsage
:- don't merge imports with global declarations
- treat everything in a declaration file as exported if there is no explicit
export {};
isExpressionValueUsed
: handle destructuring infor...of
Features:
- Added
getModifier
utility - Added
DeclarationDomain.Import
to distinguish imports from other declarations
2.5.1
Bugfixes:
collectVariableUsage
ignore jump labels as inbreak label;
2.5.0
Bugfixes:
isFunctionWithBody
handles constructor overload correctly.
Features:
- Implemented
isExpressionValueUsed
to check whether the result of an expression is actually used. - Implemented
getDeclarationDomain
to determine if a given declaration introduces a new symbol in the value or type domain.
collectVariableUses
is now usable
- no longer ignores signatures and its parameters
- don't merge declarations and uses across domains
- no longer marks exceptions in catch clause or parameter properties as exported
- fixed exports of namespaces
- fixed scoping of ClassExpression name
- correcly handle ambient namespaces and module augmentations
- fixed how
: typeof foo
is handled for parameters and function return type - still WIP:
export {Foo as Bar}
inside ambient namespaces and modules
2.4.0
Bugfixes:
getLineRanges
:contentLength
now contains the correct line length when there are multiple consecutive line break charactersgetTokenAtPosition
: don't match tokens that end at the specified position (because that's already outside of their range)- deprecated the misnamed
isModfierFlagSet
, use the newisModifierFlagSet
instead
Features:
- Added typeguard:
isJsDoc
- Added experimental scope and usage analysis (
getUsageDomain
andcollectVariableUsage
)
2.3.0
Bugfixes:
forEachComment
no longer omits some comments when callback returns a truthy valueisPositionInComment
fixed false positive inside JSXText
Features:
- Added utility:
getCommentAtPosition
2.2.0
Bugfixes:
- Fixed bit value of
SideEffectOptions.JsxElement
to be a power of 2
Features:
- Added utilities:
getTokenAtPosition
andisPositionInComment
2.1.0
Features:
- Added typeguard
isExpression
- Added utilities:
hasSideEffects
,getDeclarationOfBindingElement
2.0.0
Breaking Changes:
- Dropped compatibility with
typescript@<2.1.0
- Removed misnamed
isNumericliteral
, useisNumericLiteral
instead (notice the uppercase L) - Removed
isEnumLiteralType
which will cause compile errors with typescript@2.4.0 - Refactored directory structure: all imports that referenced subdirectories (e.g.
require('tsutils/src/typeguard')
will be broken
Features:
- New directory structure allows imports of typeguards or utils independently, e.g. (
require('tsutils/typeguard')
)
1.9.1
Bugfixes:
isObjectFlagSet
now uses the correctobjectFlags
property
1.9.0
Bugfixes:
getNextToken
no longer omitsEndOfFileToken
when there is no trivia before EOF. That means the only inputs wheregetNextToken
returnsundefined
areSourceFile
andEndOfFileToken
Features:
- Added typeguards for types
- Added utilities for flag checking:
isNodeFlagSet
,isTypeFlagSet
,isSymbolFlagSet
,isObjectFlagSet
,isModifierFlagSet
1.8.0
Features:
- Support peer dependency of typescript nightlies of 2.4.0
- Added typeguards:
isJsxAttributes
,isIntersectionTypeNode
,isTypeOperatorNode
,isTypePredicateNode
,isTypeQueryNode
,isUnionTypeNode
1.7.0
Bugfixes:
isFunctionScopeBoundary
now handles Interfaces, TypeAliases, FunctionSignatures, etc
Features:
- Added utilities:
isThisParameter
,isSameLine
andisFunctionWithBody
1.6.0
Features:
- Add
isValidPropertyAccess
,isValidNumericLiteral
andisValidPropertyName
1.5.0
Features:
- Add
isValidIdentifier
1.4.0
Features:
- Add
contentLength
property to the result ofgetLineRanges
1.3.0
Bugfixes:
canHaveLeadingTrivia
:- Fix property access on undefined parent reference
- Fixes: palantir/tslint#2330
hasOwnThisReference
: now includes accessors on object literals
Features:
- Typeguards:
- isTypeParameterDeclaration
- isEnitityName
1.2.2
Bugfixes:
hasOwnThisReference
:- exclude overload signatures of function declarations
- add method declarations on object literals
1.2.1
Bugfixes:
- Fix name of
isNumericLiteral
1.2.0
Features:
- Typeguards:
- isEnumMember
- isExpressionWithTypeArguments
- isImportSpecifier
- Utilities:
- isJsDocKind, isTypeNodeKind
- Allow typescript@next in peerDependencies
1.1.0
Bugfixes:
- Fix isBlockScopeBoundary: Remove WithStatement, IfStatment, DoStatement and WhileStatement because they are no scope boundary whitout a block.
Features:
- Added more typeguards:
- isAssertionExpression
- isEmptyStatement
- isJsxAttributeLike
- isJsxOpeningLikeElement
- isNonNullExpression
- isSyntaxList
- Utilities:
- getNextToken, getPreviousToken
- hasOwnThisReference
- getLineRanges
1.0.0
Features:
- Initial implementation of typeguards
- Utilities:
- getChildOfKind
- isNodeKind, isAssignmentKind
- hasModifier, isParameterProperty, hasAccessModifier
- getPreviousStatement, getNextStatement
- getPropertyName
- forEachDestructuringIdentifier, forEachDeclaredVariable
- getVariableDeclarationKind, isBlockScopedVariableDeclarationList, isBlockScopedVariableDeclaration
- isScopeBoundary, isFunctionScopeBoundary, isBlockScopeBoundary
- forEachToken, forEachTokenWithTrivia, forEachComment
- endsControlFlow