Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/error messages #1327

Merged
merged 8 commits into from
Nov 19, 2022
Merged

Conversation

jantimon
Copy link
Contributor

@jantimon jantimon commented Sep 9, 2022

This is a POC branch to improve error messages in two ways:

  1. Allow custom error messages Providing custom messages to OrThrow methods #715
  2. Show the source location of the error

error

To finish this PR I would need feedback on the approach itself and your help to improve errors.ts.

Closes #715

Copy link
Owner

@dsherret dsherret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jantimon sorry for my delay! This looks really good. Thanks! Would you be able to add a few tests for the more complicated functionality where it prints out the message? Then we should be good to merge this.

packages/common/src/errors.ts Outdated Show resolved Hide resolved
@jantimon
Copy link
Contributor Author

jantimon commented Oct 2, 2022

no worries - I am happy you like the idea :)

@jantimon
Copy link
Contributor Author

@dsherret if it helps you to save some time on this issue we can also discuss this PR in a video call

Copy link
Owner

@dsherret dsherret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a few changes and it LGTM now. Thanks for this @jantimon!

@dsherret dsherret merged commit 05916d3 into dsherret:latest Nov 19, 2022
@jantimon
Copy link
Contributor Author

wow nice! :)

renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 13, 2024
##### [`v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [`v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [`v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [`v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [`v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [`v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [`v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [`v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [`v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
renovate bot added a commit to mmkal/expect-type that referenced this pull request Aug 19, 2024
##### [v23.0.0](https://github.com/dsherret/ts-morph/releases/tag/23.0.0)

#### What's Changed

-   feat: ts 5.5 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1545
-   feat: Type.prototype.isBigInt and isBigIntLiteral by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1546
-   fix: handle removeDefaultImport with type only import by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1547

Now available on JSR for use in Deno: https://jsr.io/[@ts-morph/ts-morph](https://github.com/ts-morph/ts-morph)

**Full Changelog**: dsherret/ts-morph@22.0.0...23.0.0
##### [v22.0.0](https://github.com/dsherret/ts-morph/releases/tag/22.0.0)

#### What's Changed

-   feat(BREAKING): upgrade to TypeScript 5.4 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1516
-   fix(BREAKING): `Node.prototype.forgetDescendants()` no longer returns self by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1515
-   feat: `Type.prototype.isAssignableTo` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1517
-   feat: `TypeChecker.prototype.resolveName` by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1518
-   fix: MethodDeclarationStructure should write an asterisk isGenerator = true by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1502
-   docs: fix typo in adding-source-files.md by [@ilirbeqirii](https://github.com/ilirbeqirii) in dsherret/ts-morph#1490
-   feat: ClassDeclarationStructure - support static blocks by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1520

##### CodeBlockWriter 13.0.1

People may have been working around these bugs in the past:

-   `.quote()` - should include newline on newline (dsherret/code-block-writer#47)
-   `.quote()` - escape characters were not always being escaped (dsherret/code-block-writer#46)

#### New Contributors

-   [@ilirbeqirii](https://github.com/ilirbeqirii) made their first contribution in dsherret/ts-morph#1490

**Full Changelog**: dsherret/ts-morph@21.0.1...22.0.0
##### [v21.0.1](https://github.com/dsherret/ts-morph/releases/tag/21.0.1)

I forgot to run a code generation script to update some code for the 21.0.0 release and only realized after. This release fixes that and also reduces the chance of that happening in the future.

For 21.0.0 release notes, see https://github.com/dsherret/ts-morph/releases/tag/21.0.0

**Full Changelog**: dsherret/ts-morph@21.0.0...21.0.1
##### [v21.0.0](https://github.com/dsherret/ts-morph/releases/tag/21.0.0)

#### What's Changed

-   feat: `ProjectOptions::defaultCompilerOptions` by [@wojpawlik](https://github.com/wojpawlik) in dsherret/ts-morph#1460
-   feat: TypeScript 5.3 dsherret/ts-morph#1476
-   feat: add interface and type literal getters & setters by [@ajvincent](https://github.com/ajvincent) in dsherret/ts-morph#1473
-   feat: add wrapped method for `getShorthandAssignmentValueSymbol` to `TypeChecker`. add convenience method for getting the value symbol on `ShorthandPropertyAssignment`. by [@kronodeus](https://github.com/kronodeus) in dsherret/ts-morph#1456
-   perf: use path.exists functions that don't throw internally when not exists dsherret/ts-morph#1478

##### Breaking Changes

-   Upgraded to TS 5.3
-   Underlying `@ts-morph/common` file system methods return undefined instead of throwing when not exists (for perf).
-   Private fields are actually private (default build requires private fields).

#### New Contributors

-   [@ajvincent](https://github.com/ajvincent) made their first contribution in dsherret/ts-morph#1473

**Full Changelog**: dsherret/ts-morph@20.0.0...21.0.0
##### [v20.0.0](https://github.com/dsherret/ts-morph/releases/tag/20.0.0)

#### What's Changed

-   feat: upgrade to TypeScript 5.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1450
-   fix: support dynamic type imports in getReferencedSourceFiles() by [@lo1tuma](https://github.com/lo1tuma) in dsherret/ts-morph#1436

#### New Contributors

-   [@lo1tuma](https://github.com/lo1tuma) made their first contribution in dsherret/ts-morph#1436
-   [@kronodeus](https://github.com/kronodeus) made their first contribution in dsherret/ts-morph#1455

**Full Changelog**: dsherret/ts-morph@19.0.0...20.0.0
##### [v19.0.0](https://github.com/dsherret/ts-morph/releases/tag/19.0.0)

##### What's Changed

-   docs: add deno installation method by [@scarf005](https://github.com/scarf005) in dsherret/ts-morph#1411
-   feat: improve typing of `Type` by [@odiak](https://github.com/odiak) in dsherret/ts-morph#1408
-   feat: add IsVoid method to `Type` by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1398
-   feat: add JSDocable to ExportAssignment by [@giuseppelt](https://github.com/giuseppelt) in dsherret/ts-morph#1397
-   feat: upgrade to TS 5.1 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1415
-   fix: allow `.tranform` to work with Nodes from another parsed source file by [@ivanhofer](https://github.com/ivanhofer) in dsherret/ts-morph#1417

##### New Contributors

-   [@scarf005](https://github.com/scarf005) made their first contribution in dsherret/ts-morph#1411
-   [@odiak](https://github.com/odiak) made their first contribution in dsherret/ts-morph#1408
-   [@giuseppelt](https://github.com/giuseppelt) made their first contribution in dsherret/ts-morph#1398
-   [@ivanhofer](https://github.com/ivanhofer) made their first contribution in dsherret/ts-morph#1417

**Full Changelog**: dsherret/ts-morph@18.0.0...19.0.0
##### [v18.0.0](https://github.com/dsherret/ts-morph/releases/tag/18.0.0)

#### What's Changed

-   docs: update transforms example to use factory by [@tobyhede](https://github.com/tobyhede) in dsherret/ts-morph#1386
-   fix: allow setType on binding patterns by [@jquense](https://github.com/jquense) in dsherret/ts-morph#1380
-   feat: upgrade to TypeScript 5.0.2 by [@dsherret](https://github.com/dsherret) in dsherret/ts-morph#1390

BREAKING CHANGE: Upgraded to TypeScript 5.0.2

#### New Contributors

-   [@tobyhede](https://github.com/tobyhede) made their first contribution in dsherret/ts-morph#1386
-   [@jquense](https://github.com/jquense) made their first contribution in dsherret/ts-morph#1380

**Full Changelog**: dsherret/ts-morph@17.0.1...18.0.0
##### [v17.0.1](https://github.com/dsherret/ts-morph/releases/tag/17.0.1)

-   fix: revert rollup from v3 to v2 to fix build (`esModuleInterop: true` had no effect) [#1358](dsherret/ts-morph#1358)
##### [v17.0.0](https://github.com/dsherret/ts-morph/releases/tag/17.0.0)

##### Bug Fixes

-   getOverloads for a class method should take into account if static ([#1337](dsherret/ts-morph#1337)) ([f927d01](dsherret/ts-morph@f927d01)), closes [#1298](dsherret/ts-morph#1298)
-   ImportEqualsDeclaration should be exportable ([#1336](dsherret/ts-morph#1336)) ([7680bae](dsherret/ts-morph@7680bae))
-   named import/export specifier structures were missing isTypeOnly ([#1347](dsherret/ts-morph#1347)) ([6b88a0b](dsherret/ts-morph@6b88a0b))

##### Features

-   allow providing custom error messages to `OrThrow` methods ([#1327](dsherret/ts-morph#1327)) ([05916d3](dsherret/ts-morph@05916d3)) - Thanks [@jantimon](https://github.com/jantimon)!
-   upgrade to TS 4.9 ([#1354](dsherret/ts-morph#1354)) ([e334437](dsherret/ts-morph@e334437))

##### BREAKING CHANGES

-   Upgraded to TS 4.9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Providing custom messages to OrThrow methods
2 participants