Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.md 23KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811
  1. # 3.21.0
  2. **Features:**
  3. * added `getWellKnownSymbolPropertyOfType` to reliably get symbol named properties due to changes in typescript@4.3
  4. * `getPropertyNameOfWellKnownSymbol` is now deprecated
  5. # 3.20.0
  6. **Features:**
  7. * `findImports` and `findImportLikeNodes` take an additional parameter `ignoreFileName`. The default value for this paramter is `true` to remain backwards compatible. When set to `false`, it matches the behavior of TypeScript, i.e. only looks for `require` in JavaScript files.
  8. **Bugfixes:**
  9. * `getJsDoc` for `EndOfFileToken` now returns `JSDoc` comments whose contents are usable with the type checker
  10. # 3.19.1
  11. **Bugfixes:**
  12. * `getSymbolOfClassLikeDeclaration` no longer crashes on anonymous mixin classes
  13. # 3.19.0
  14. **Features:**
  15. * `getSymbolOfClassLikeDeclaration` to retrieve the symbol of class declarations and expressions regardless whether they have a name or not
  16. * `getBaseOfClassLikeDeclaration` to conventiently get the expression after `extends`
  17. * `getBaseClassMemberOfClassElement` to look up the declaration of a class member in the base class
  18. **Bugfixes:**
  19. * `getConstructorTypeOfClassLikeDeclaration` now really returns the constructor type (the static side of the class), previously it returned the instance type
  20. * `hasExhaustiveCaseClauses` allows additional case clauses with `null`, `undefined` and `never`
  21. # 3.18.0
  22. **Features:**
  23. * Source maps for easier debugging
  24. * JSDoc is preserved in declaration files
  25. * Comments are presered in transpiled code
  26. * Everything you need to handle the control flow changes of TypeScript@3.7
  27. * `callExpressionAffectsControlFlow` to determine whether a CallExpression affects control flow by returning `never` or `asserts`
  28. * `hasExhaustiveCaseClauses` to determine whether a SwitchStatement's CaseClauses handle every possible value
  29. * `endsControlFlow` and `getControlFlowEnd` take an optional `checker` parameter to recognize exhaustive SwitchStatements and control flow effects of CallExpressions
  30. * `formatPseudoBigInt` converts TypeScript's representation of a BigInt to its literal representation as you would write it in your source code
  31. * `getAstNodeAtPosition` similar to `getTokenAtPosition`, but only operates on AST Nodes
  32. * `removeOptionalChainingUndefinedMarkerType` and `isOptionalChainingUndefinedMarkerType` to handle types originating in an optional chain
  33. * `findImports` and `findImportLikeNodes`: prepare for import assertions
  34. * `getTsCheckDirective` as new name for `getCheckJsDirective`
  35. * `getCheckJsDirective` is now deprecated
  36. **Bugfixes:**
  37. * `getUsageDomain`: handles NamespaceExport and NamedTupleMember
  38. * `getPropertyName`: handles parentheses and negative numeric literals, excludes RegExp literals and private identifiers
  39. * `getSingleLateBoundPropertyNameOfPropertyName` and `getLateBoundPropertyNamesOfPropertyName`: handles private identifiers
  40. * `hasAccessModifier`: handles JSDoc access modifier
  41. * `hasSideEffects`: correctly determines side effects of (static) property initializers
  42. * `isExpressionValueUsed`: handle nullish coalescing and conditional assignment operators
  43. * `canHaveJsDoc`: aligned with upstream changes in TypeScript
  44. * `isCompilerOptionEnabled`:
  45. * `noUncheckedIndexedAccess` requires `strictNullChecks`
  46. * `checkJs` implies `allowJs`
  47. * `emitDeclarationOnly` requires `declaration`
  48. * `isInConstContext`: handle template string interpolations
  49. * excluded unnecessary files from npm package
  50. # 3.17.1
  51. **Bugfixes:**
  52. * `isValidJsxIdentifier`, `isValidPropertyAccess`, `isValidPropertyName`: fix unicode character width handling
  53. # 3.17.0
  54. **Features:**
  55. * `isValidJsxIdentifier` added an optional parameter to specify the target ECMAScript version
  56. **Bugfixes:**
  57. * `isValidJsxIdentifier` now handles astral plane characters
  58. # 3.16.0
  59. **Features:**
  60. * added `getIteratorYieldResultFromIteratorResult` to extract the `yield`ed type from `IteratorResult<TYield, TReturn, TNext>`
  61. # 3.15.0
  62. **Features:**
  63. * `isValidIdentifier`, `isValidPropertyName`, `isValidPropertyAccess`, `isValidNumericLiteral` added an optional parameter to specify the target ECMAScript version
  64. **Bugfixes:**
  65. * `isValidPropertyName`, `isValidPropertyAccess` now handle astral plane characters
  66. # 3.14.1
  67. **Bugfixes:**
  68. * `findImports`: fixed crash on nested namespaces
  69. # 3.14.0
  70. **Features:**
  71. * added `getInstanceTypeOfClassLikeDeclaration` and `getConstructorTypeOfClassLikeDeclaration`
  72. * added `AccessKind.Delete` to `getAccessKind`: `getAccessKind(node) & AccessKind.Modification` can now be used to restore the old behavior of `isReassignmentTarget(node)`
  73. # 3.13.0
  74. **Features:**
  75. * `getAccessKind` determines whether an expression is read from, written to or both
  76. * optimized `getPropertyOfType` for unambiguous property names to partially work around https://github.com/microsoft/TypeScript/issues/31565
  77. **Bugfixes:**
  78. * `isReassignmentTarget` no longer returns `true` for `DeleteExpression` as it doesn't **assign** a value to the operand
  79. # 3.12.0
  80. **Features:**
  81. * `getLateBoundPropertyNamesOfPropertyName` returns all statically analyzable names of a property, method, ...
  82. * `getSingleLateBoundPropertyNameOfPropertyName` returns the literal name of a property, method, ... if statically analyzable
  83. **Bugfixes:**
  84. * fixed circular import
  85. # 3.11.0
  86. **Features:**
  87. * typeguards: `isNumericOrStringLikeLiteral`, `isTupleTypeReference`
  88. * `intersectionTypeParts` as counterpart to `unionTypeParts`
  89. * `someTypePart` to execute a callback for each union or intersection constituent until the callback returns true
  90. * `getPropertyOfType` looks up a property by its escaped name
  91. * `isPropertyReadonlyInType` determines whether a property in a given type cannot be written to
  92. * `symbolHasReadonlyDeclaration` determines if a Symbol has any readonly or constant declaration
  93. * `isNumericPropertyName` determines whether a property name would match an index signature
  94. * `isBindableObjectDefinePropertyCall` returns true for statically analyzable forms of `Object.defineProperty(o, 'p', {value, writable})`
  95. * `isReadonlyAssignmentDeclaration` determines whether an `Object.defineProperty` call is known to result in a readonly property
  96. * `getLateBoundPropertyNames` returns all known property names of an expression
  97. * `getPropertyNameFromType` extracts the property name of literal types
  98. * `isWellKnownSymbolLiterally` to recognize expressions in the form of `Symbol.<name>`
  99. * `getPropertyNameOfWellKnownSymbol` returns the escaped name for a well known symbol literal
  100. * `unwrapParentheses` returns the first child expression that is not a `ParenthesizedExpression`
  101. # 3.10.0
  102. **Features:**
  103. * `isCompilerOptionEnabled`: `incremental` is implicitly enabled by `composite`
  104. **Bugfixes:**
  105. * `collectVariableUsage`/`getUsageDomain`: no longer treat `as const` as type usage
  106. # 3.9.1
  107. **Bugfixes:**
  108. * reverted invalid deprecation of `canHaveJsdoc`
  109. * fixed condition in `parseJsdocOfNode`
  110. # 3.9.0
  111. **Features:**
  112. * added typeguards: `isNullLiteral` and `isBooleanLiteral`
  113. # 3.8.0
  114. **Features:**
  115. * exposes typeguards for typescript@3.2 by default
  116. * added utilities: `isConstAssertion` and `isInConstContext`
  117. # 3.7.0
  118. **Features:**
  119. * added `isBlockScopedDeclarationStatement`
  120. * added `isInSingleStatementContext`
  121. # 3.6.0
  122. **Features:**
  123. * added `getCheckJsDirective` utility to parse `// @ts-check` and `// @ts-nocheck` pragmas
  124. # 3.5.2
  125. **Bugfixes:**
  126. * Published declaration files no longer contain `const enum`. They are now declared as regular enums instead.
  127. # 3.5.1
  128. **Bugfixes:**
  129. * `isThenableType` allows `Node` instead of `Expression` as parameter
  130. * `isBlockScopeBoundary` and `isScopeBoundary` consider `WithStatement` as scope boundary
  131. # 3.5.0
  132. **Features:**
  133. * correctly handle BigInt literals
  134. * added typeguard `isBigIntLiteral`
  135. * `isLiteralType` recognises BigInt
  136. * `getPropertyName` adds special handling for BigInt
  137. # 3.4.0
  138. **Features:**
  139. * added utility `commentText` to get the actual text content of a comment excluding the characters needed to start and end the comment
  140. # 3.3.1
  141. **Bugfixes:**
  142. * `findImports`: fixed handling of ImportEqualsDeclaration
  143. # 3.3.0
  144. **Features:**
  145. * `isCompilerOptionEnabled`: recognizes `strictBindCallApply`
  146. * `getTokenAtPosition`: optionally includes JSDoc during lookup
  147. **Bugfixes:**
  148. * `isCompilerOptionEnabled`: correctly implements logic for `allowSyntheticDefaultImports`
  149. * `findImportLikeNodes`: correctly finds imports in namespaces
  150. * `findImportLikeNodes` / `findImports`: finds import types in JSDoc of JS files
  151. # 3.2.0
  152. **Features:**
  153. * added utility `findImportLikeNodes` that works similar to `findImports` but returns the import statement or expression instead of the module specifier and doesn't filter non-string module specifiers
  154. # 3.1.0
  155. **Features:**
  156. * added utilities: `isKeywordKind` and `isValidJsxIdentifier`
  157. * exposes typeguards for typescript@3.0 by default
  158. # 3.0.0
  159. :warning: **Breaking Changes:**
  160. * Dropped support for `typescript@<2.8.0`
  161. * Dropped support for Node.js 4
  162. * Removed deprecated APIs:
  163. * `getIdentifierText`, `isJsxFramgment`, `ImportOptions`
  164. * deprected overloads of `isModifierFlagSet`, `findImports` and `getControlFlowEnd`
  165. * control flow related symbols can no longer be imported from `'tsutils/util/util'`, import directly from `'tsutils/util/control-flow'` or `'tsutils/util'`
  166. * `isFunctionScopeBoundary` and `isBlockScopeBoundary` now return a enum member of `ScopeBoundary` instead of a boolean
  167. * `isFunctionScopeBoundary` no longer returns a truthy value for `InterfaceDeclaration`, `TypeAliasDeclaration`
  168. **Features:**
  169. * added utility `isTypeScopeBoundary` returning `ScopeBoundary.Type` or `ScopeBoundary.ConditionalType`
  170. * added enum `ScopeBoundarySelector` whose members can be used to determine if a declaration belongs to a given `ScopeBoundary` by using bitwise AND
  171. **Bugfixes:**
  172. * `collectVariableUsage` now correctly handles `infer T` nested inside function signatures or mapped types
  173. * `isCompilerOptionEnabled` correctly handles `skipDefaultLibCHeck` and `suppressImplicitAnyIndexErrors`
  174. # 2.29.0
  175. **Features:**
  176. * added utility `isCompilerOptionEnabled`
  177. # 2.28.0
  178. Typeguards are now split into multiple submodules for each version of TypeScript (starting with 2.8.0).
  179. That means you can now import directly from `"tsutils/typeguard/2.8"` to get compatible declaraton files for TypeScript@2.8.
  180. For more information please read the relevant section in [README.md](README.md).
  181. **Features:**
  182. * added typeguards: `isTupleType`, `isOptionalTypeNode`, `isRestTypeNode`, `isSyntheticExpression` (currently available from `"tsutils/typeguard/3.0"`)
  183. * added utility `isStrictCompilerOptionEnabled`
  184. # 2.27.2
  185. Avoid crash caused by removed function in `typescript@3.0.0`.
  186. # 2.27.1
  187. Added support for TypeScript@3.0.0 nightly builds.
  188. # 2.27.0
  189. **Features:**
  190. * added `getIIFE` utility
  191. # 2.26.2
  192. **Bugfixes:**
  193. * `forEachComment` and `forEachTokenWithTrivia` no longer duplicate comments around missing nodes
  194. # 2.26.1
  195. **Bugfixes:**
  196. * fixed crash in `hasSideEffects` with tagged template literal without substitution: ``tag`template` ``
  197. # 2.26.0
  198. **Features:**
  199. * added typeguard `isLiteralTypeNode`
  200. * added support for type imports (`type T = import('foo')`) to `findImports` via `ImportKind.ImportType`
  201. # 2.25.1
  202. **Bugfixes:**
  203. * `collectVariableUsage`: fixed name lookup in function signatures to match runtime behavior. Note that this is not completely fixed in TypeScript, yet. See: [Microsoft/TypeScript#22825](https://github.com/Microsoft/TypeScript/issues/22825) and [Microsoft/TypeScript#22769](https://github.com/Microsoft/TypeScript/issues/22769)
  204. # 2.25.0
  205. **Features:**
  206. * added utilities: `isStatementInAmbientContext` and `isAmbientModuleBlock`
  207. # 2.24.0
  208. **Features:**
  209. * added typeguards for typescript@2.8: `isConditionalTypeNode`, `isInferTypeNode`, `isConditionalType`, `isInstantiableType`, `isSubstitutionType`
  210. # 2.23.0
  211. **Features:**
  212. * added typeguard `isForInOrOfStatement`
  213. **Bugfixes:**
  214. * correctly handle comments in generic JSX elements: `<MyComponent<string>/*comment*/></MyComponent>`
  215. * fixed a bug with false positive trailing comments at the end of JSX self closing element: `<div><br/>/*no comment*/</div>`
  216. # 2.22.2
  217. **Bugfixes:**
  218. * `collectVariableUsage`: handle ConditionalTypes and `infer T`, which will be introduced in TypeScript@2.8.0 and are already available in nightly builds
  219. * `isLiteralType` no longer returns true for `ts.TypeFlags.BooleanLiteral` as this is not a `ts.LiteralType`
  220. # 2.22.1
  221. **Bugfixes:**
  222. * `endsControlFlow`:
  223. * handle loops that might not even run a single iteration
  224. * handle constant boolean conditions in loops and if
  225. # 2.22.0
  226. **Features:**
  227. * added `isFalsyType` utility
  228. # 2.21.2
  229. **Bugfixes:**
  230. * fixed compile error with `typescript@2.8.0-dev`
  231. # 2.21.1
  232. **Bugfixes:**
  233. * `isReassignmentTarget`: handle type assertions and non-null assertion
  234. # 2.21.0
  235. **Bugfixes:**
  236. * `forEachDeclaredVariable` uses a more precise type for the callback parameter to make it useable again with typescript@2.7.1
  237. **Features:**
  238. * added `isUniqueESSymbolType` typeguard
  239. # 2.20.0
  240. **Features:**
  241. * added `isThenableType` utility
  242. * added `unionTypeParts` utility
  243. # 2.19.1
  244. **Bugfixes:**
  245. * `forEachComment`, `getCommentAtPosition` and `isPositionInComment`: skip shebang (`#! something`) to not miss following comments at the start of the file
  246. # 2.19.0
  247. **Features:**
  248. * added `WrappedAst` interface that models the type of a wrapped SourceFile more accurate
  249. * added `getWrappedNodeAtPosition` utiltiy that takes a `NodeWrap` and returns the most deeply nested NodeWrap that contains the given position
  250. # 2.18.0
  251. **Features:**
  252. * `getControlFlowEnd` accepts BlockLike as argument
  253. **Bugfixes:**
  254. * `getControlFlowEnd` and `endsControlFlow`: correctly handle nested LabeledStatements
  255. * `endsControlFlow` removed erroneous special case when an IterationStatement is passed as argument whose parent is a LabeledStatement.
  256. * if you want labels of an IterationStatement (or SwitchStatement) to be handled, you need to pass the LabeledStatement as argument.
  257. * :warning: this fix may change the returned value if you relied on the buggy behavior
  258. **Deprecations:**
  259. * deprecated overload of `getControlFlowEnd` that contains the `label` parameter. This parameter is no longer used and should no longer be passed to the function.
  260. # 2.17.1
  261. **Bugfixes:**
  262. * `getControlFlowEnd` and `endsControlFlow` (#22)
  263. * ThrowStatements inside `try` are filtered out if there is a `catch` clause
  264. * TryStatements with `catch` only end control flow if `try` AND `catch` definitely end control flow
  265. # 2.17.0
  266. **Features:**
  267. * added `kind` property to `NodeWrap`
  268. * added `getControlFlowEnd` to public API
  269. # 2.16.0
  270. **Features:**
  271. * added `isDecorator` and `isCallLikeExpression` typeguards
  272. # 2.15.0
  273. **Features:**
  274. * added `convertAst` utility to produce a flattened and wrapped version of the AST
  275. # 2.14.0
  276. **Features:**
  277. * added `isDeleteExpression`
  278. * added `getLineBreakStyle`
  279. # 2.13.1
  280. **Bugfixes:**
  281. * fixed name of `isJsxFragment`
  282. # 2.13.0
  283. **Features:**
  284. * added support for `JsxFragment` introduced in typescript@2.6.2
  285. * added corresponding typeguard functions
  286. # 2.12.2
  287. **Bugfixes:**
  288. * `endsControlFlow`
  289. * added missing logic for labeled statement, iteration statements and try-catch
  290. * added missing logic for `break` and `continue` with labels
  291. * take all jump statements into account, not only the last statement
  292. * `isValidIdentifier` and `isValidNumericLiteral` handle irregular whitespace
  293. * `findImports` searches in ambient modules inside regular `.ts` files (not only `.d.ts`)
  294. * `canHaveJsDoc` is now a typeguard
  295. # 2.12.1
  296. **Bugfixes:**
  297. * `forEachTokenWithTrivia`
  298. * handles irregular whitespace and no longer visits some tokens twice
  299. * correctly calculates the range of JsxText
  300. # 2.12.0
  301. **API-Changes:**
  302. * deprecated `ImportOptions` if favor of the new `ImportKind` enum
  303. # 2.11.2
  304. **Bugfixes:**
  305. * `parseJsDocOfNode`: set correct `pos`, `end` and `parent` properties. Also affects `getJsDoc` of `EndOfFileToken`
  306. # 2.11.1
  307. **Bugfixes:**
  308. * `collectVariableUsage`: correctly consider catch binding as block scoped declaration inside catch block
  309. # 2.11.0
  310. **Bugfixes:**
  311. * `getJsDoc` now correctly returns JsDoc for `EndOfFileToken`
  312. **Features:**
  313. * added utility `parseJsDocOfNode`
  314. # 2.10.0
  315. **Features:**
  316. * added utility `findImports` to find all kinds of imports in a source file
  317. # 2.9.0
  318. **Features:**
  319. * added typeguard `isMappedTypeNode`
  320. * added utilities `canHaveJsDoc` and `getJsDoc`
  321. # 2.8.2
  322. **Bugfixes:**
  323. * `collectVariableUsage`: handle global augmentation like other module augmentations
  324. # 2.8.1
  325. **Bugfixes:**
  326. * Support `typescript@2.5.1` with optional catch binding
  327. * `collectVariableUsage` fixed a bug where method decorator had method's parameters in scope
  328. # 2.8.0
  329. * Compatibility with the latest typescript nightly
  330. * Added `getIdentifierText` to unescape identifiers across typescript versions
  331. # 2.7.1
  332. **Bugfixes:**
  333. * `isReassignmentTarget` don't return `true` for right side of assignment
  334. # 2.7.0
  335. **Features:**
  336. * Added `isReassignmentTarget` utility
  337. # 2.6.1
  338. **Bugfixes:**
  339. * `getDeclarationDomain` now returns `undefined` for Parameter in IndexSignature
  340. * `collectVariableUsage` ignores Parameter in IndexSignature
  341. # 2.6.0
  342. **Bugfixes:**
  343. * `collectVariableUsage`:
  344. * don't merge imports with global declarations
  345. * treat everything in a declaration file as exported if there is no explicit `export {};`
  346. * `isExpressionValueUsed`: handle destructuring in `for...of`
  347. **Features:**
  348. * Added `getModifier` utility
  349. * Added `DeclarationDomain.Import` to distinguish imports from other declarations
  350. # 2.5.1
  351. **Bugfixes:**
  352. * `collectVariableUsage` ignore jump labels as in `break label;`
  353. # 2.5.0
  354. **Bugfixes:**
  355. * `isFunctionWithBody` handles constructor overload correctly.
  356. **Features:**
  357. * Implemented `isExpressionValueUsed` to check whether the result of an expression is actually used.
  358. * Implemented `getDeclarationDomain` to determine if a given declaration introduces a new symbol in the value or type domain.
  359. **`collectVariableUses` is now usable**
  360. * no longer ignores signatures and its parameters
  361. * don't merge declarations and uses across domains
  362. * no longer marks exceptions in catch clause or parameter properties as exported
  363. * fixed exports of namespaces
  364. * fixed scoping of ClassExpression name
  365. * correcly handle ambient namespaces and module augmentations
  366. * fixed how `: typeof foo` is handled for parameters and function return type
  367. * **still WIP**: `export {Foo as Bar}` inside ambient namespaces and modules
  368. # 2.4.0
  369. **Bugfixes:**
  370. * `getLineRanges`: `contentLength` now contains the correct line length when there are multiple consecutive line break characters
  371. * `getTokenAtPosition`: don't match tokens that end at the specified position (because that's already outside of their range)
  372. * deprecated the misnamed `isModfierFlagSet`, use the new `isModifierFlagSet` instead
  373. **Features:**
  374. * Added typeguard: `isJsDoc`
  375. * Added experimental scope and usage analysis (`getUsageDomain` and `collectVariableUsage`)
  376. # 2.3.0
  377. **Bugfixes:**
  378. * `forEachComment` no longer omits some comments when callback returns a truthy value
  379. * `isPositionInComment` fixed false positive inside JSXText
  380. **Features:**
  381. * Added utility: `getCommentAtPosition`
  382. # 2.2.0
  383. **Bugfixes:**
  384. * Fixed bit value of `SideEffectOptions.JsxElement` to be a power of 2
  385. **Features:**
  386. * Added utilities: `getTokenAtPosition` and `isPositionInComment`
  387. # 2.1.0
  388. **Features:**
  389. * Added typeguard `isExpression`
  390. * Added utilities: `hasSideEffects`, `getDeclarationOfBindingElement`
  391. # 2.0.0
  392. **Breaking Changes:**
  393. * Dropped compatibility with `typescript@<2.1.0`
  394. * Removed misnamed `isNumericliteral`, use `isNumericLiteral` instead (notice the uppercase L)
  395. * Removed `isEnumLiteralType` which will cause compile errors with typescript@2.4.0
  396. * Refactored directory structure: all imports that referenced subdirectories (e.g. `require('tsutils/src/typeguard')` will be broken
  397. **Features:**
  398. * New directory structure allows imports of typeguards or utils independently, e.g. (`require('tsutils/typeguard')`)
  399. # 1.9.1
  400. **Bugfixes:**
  401. * `isObjectFlagSet` now uses the correct `objectFlags` property
  402. # 1.9.0
  403. **Bugfixes:**
  404. * `getNextToken` no longer omits `EndOfFileToken` when there is no trivia before EOF. That means the only inputs where `getNextToken` returns `undefined` are `SourceFile` and `EndOfFileToken`
  405. **Features**:
  406. * Added typeguards for types
  407. * Added utilities for flag checking: `isNodeFlagSet`, `isTypeFlagSet`, `isSymbolFlagSet`,`isObjectFlagSet`, `isModifierFlagSet`
  408. # 1.8.0
  409. **Features:**
  410. * Support peer dependency of typescript nightlies of 2.4.0
  411. * Added typeguards: `isJsxAttributes`, `isIntersectionTypeNode`, `isTypeOperatorNode`, `isTypePredicateNode`, `isTypeQueryNode`, `isUnionTypeNode`
  412. # 1.7.0
  413. **Bugfixes:**
  414. * `isFunctionScopeBoundary` now handles Interfaces, TypeAliases, FunctionSignatures, etc
  415. **Features:**
  416. * Added utilities: `isThisParameter`, `isSameLine` and `isFunctionWithBody`
  417. # 1.6.0
  418. **Features:**
  419. * Add `isValidPropertyAccess`, `isValidNumericLiteral` and `isValidPropertyName`
  420. # 1.5.0
  421. **Features:**
  422. * Add `isValidIdentifier`
  423. # 1.4.0
  424. **Features:**
  425. * Add `contentLength` property to the result of `getLineRanges`
  426. # 1.3.0
  427. **Bugfixes:**
  428. * `canHaveLeadingTrivia`:
  429. * Fix property access on undefined parent reference
  430. * Fixes: [palantir/tslint#2330](https://github.com/palantir/tslint/issues/2330)
  431. * `hasOwnThisReference`: now includes accessors on object literals
  432. **Features:**
  433. * Typeguards:
  434. * isTypeParameterDeclaration
  435. * isEnitityName
  436. # 1.2.2
  437. **Bugfixes:**
  438. * `hasOwnThisReference`:
  439. * exclude overload signatures of function declarations
  440. * add method declarations on object literals
  441. # 1.2.1
  442. **Bugfixes:**
  443. * Fix name of `isNumericLiteral`
  444. # 1.2.0
  445. **Features:**
  446. * Typeguards:
  447. * isEnumMember
  448. * isExpressionWithTypeArguments
  449. * isImportSpecifier
  450. * Utilities:
  451. * isJsDocKind, isTypeNodeKind
  452. * Allow typescript@next in peerDependencies
  453. # 1.1.0
  454. **Bugfixes:**
  455. * Fix isBlockScopeBoundary: Remove WithStatement, IfStatment, DoStatement and WhileStatement because they are no scope boundary whitout a block.
  456. **Features:**
  457. * Added more typeguards:
  458. * isAssertionExpression
  459. * isEmptyStatement
  460. * isJsxAttributeLike
  461. * isJsxOpeningLikeElement
  462. * isNonNullExpression
  463. * isSyntaxList
  464. * Utilities:
  465. * getNextToken, getPreviousToken
  466. * hasOwnThisReference
  467. * getLineRanges
  468. # 1.0.0
  469. **Features:**
  470. * Initial implementation of typeguards
  471. * Utilities:
  472. * getChildOfKind
  473. * isNodeKind, isAssignmentKind
  474. * hasModifier, isParameterProperty, hasAccessModifier
  475. * getPreviousStatement, getNextStatement
  476. * getPropertyName
  477. * forEachDestructuringIdentifier, forEachDeclaredVariable
  478. * getVariableDeclarationKind, isBlockScopedVariableDeclarationList, isBlockScopedVariableDeclaration
  479. * isScopeBoundary, isFunctionScopeBoundary, isBlockScopeBoundary
  480. * forEachToken, forEachTokenWithTrivia, forEachComment
  481. * endsControlFlow