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

Add typescript@rc to test for typescript@5.4 #500

Merged
merged 8 commits into from Mar 1, 2024
Merged

Conversation

jpwilliams
Copy link
Member

@jpwilliams jpwilliams commented Feb 22, 2024

Summary

Adds typescript@rc (currently typescript@5.4.0). This is used to test the 5.4 release candidate to resolve any issues before it ships. When it does, we'll move this PR to target typescript@5.4.0 and merge, including a changeset if any changes needed to be made.

We should ship this change once the final build is submitted at the beginning of March. See microsoft/TypeScript#56948

Checklist

  • Added a docs PR that references this PR N/A
  • Added unit/integration tests
  • Added changesets if applicable

Related

@jpwilliams jpwilliams added 💡 KTLO Chores, dependency updates, and routine tasks 📦 inngest Affects the `inngest` package labels Feb 22, 2024
@jpwilliams jpwilliams self-assigned this Feb 22, 2024
Copy link

changeset-bot bot commented Feb 22, 2024

🦋 Changeset detected

Latest commit: a8ef1ed

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
inngest Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

jpwilliams and others added 6 commits February 22, 2024 23:54
`type-fest`'s v4.0.0+ only supports TypeScript 5.1.0+. We support TS
v4.7.0+, so using the latest version doesn't make sense. In addition,
v3 of `type-fest` isn't compatible with v5.4.0 of TS, so we have to try
moving to something else for these helper types.
@@ -180,7 +180,6 @@
"ms": "^2.1.3",
"serialize-error-cjs": "^0.1.3",
"strip-ansi": "^5.2.0",
"type-fest": "^3.13.1",
Copy link
Contributor

Choose a reason for hiding this comment

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

bye bye👋🏼

Copy link
Member Author

Choose a reason for hiding this comment

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

This is a good call-out, actually. Some issues we have are more easily solved now that we've pulled this into our own code.

Noting them here:

@jpwilliams jpwilliams marked this pull request as ready for review March 1, 2024 15:38
@jpwilliams
Copy link
Member Author

Shipping, as the final release candidate is ready.

@jpwilliams jpwilliams merged commit f21ebed into main Mar 1, 2024
36 checks passed
@jpwilliams jpwilliams deleted the jack/ts-rc-5.4 branch March 1, 2024 15:38
jpwilliams added a commit that referenced this pull request Mar 1, 2024
jpwilliams pushed a commit that referenced this pull request Mar 1, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## inngest@3.15.3

### Patch Changes

- [#500](#500)
[`f21ebed`](f21ebed)
Thanks [@jpwilliams](https://github.com/jpwilliams)! - Add support for
`typescript@5.4`

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
jpwilliams added a commit that referenced this pull request Mar 6, 2024
## Summary
<!-- Succinctly describe your change, providing context, what you've
changed, and why. -->

Following #500 and the full release of [TypeScript
5.4](https://github.com/microsoft/TypeScript/releases/tag/v5.4.2),
updates our type tests to use `typescript@~5.4.0` instead of
`typescript@rc`, as the `rc` tag will change over time.

## Checklist
<!-- Tick these items off as you progress. -->
<!-- If an item isn't applicable, ideally please strikeout the item by
wrapping it in "~~"" and suffix it with "N/A My reason for skipping
this." -->
<!-- e.g. "- [ ] ~~Added tests~~ N/A Only touches docs" -->

- [ ] ~Added a [docs PR](https://github.com/inngest/website) that
references this PR~ N/A Chore
- [x] Added unit/integration tests
- [x] Added changesets if applicable

## Related

- #500
jpwilliams added a commit that referenced this pull request Mar 6, 2024
`Jsonify` is used to represent a step output going through serialization
as it passes to and from an Inngest Server in JSON. This used to be part
of the `type-fest` package, but we removed that when introducing support
for TypeScript 5.4 in #500, as our version support range for TS exceeded
what was provided by the `type-fest` package.

As part of that, we've pulled `Jsonify` into our code. There are some
issues (in the related section) we can now fix much more easily.

The issue that motivated this change (#509) would also have been solved
by allowing a developer to provide types that describe how the output of
a step is transformed. This is available, but is a rare ask and needs
time to implement.
jpwilliams added a commit that referenced this pull request Mar 7, 2024
## Summary
<!-- Succinctly describe your change, providing context, what you've
changed, and why. -->

`Jsonify` is used to represent a step output going through serialization
as it passes to and from an Inngest Server in JSON. This used to be part
of the `type-fest` package, but we removed that when introducing support
for TypeScript 5.4 in #500, as our version support range for TS exceeded
what was provided by the `type-fest` package.

As part of that, we've pulled `Jsonify` into our code. There are some
issues (in the related section) we can now fix much more easily.

The issue that motivated this change (#509) would also have been solved
by allowing a developer to provide types that describe how the output of
a step is transformed. This is available, but is a rare ask and needs
time to implement.

## Checklist
<!-- Tick these items off as you progress. -->
<!-- If an item isn't applicable, ideally please strikeout the item by
wrapping it in "~~"" and suffix it with "N/A My reason for skipping
this." -->
<!-- e.g. "- [ ] ~~Added tests~~ N/A Only touches docs" -->

- [ ] ~Added a [docs PR](https://github.com/inngest/website) that
references this PR~ N/A Docs only outline that this is a helper, not
specific behaviour
- [x] Added unit/integration tests
- [x] Added changesets if applicable

## Related
<!-- A space for any related links, issues, or PRs. -->
<!-- Linear issues are autolinked. -->
<!-- e.g. - INN-123 -->
<!-- GitHub issues/PRs can be linked using shorthand. -->
<!-- e.g. "- inngest/inngest#123" -->
<!-- Feel free to remove this section if there are no applicable related
links.-->
- Fixes #509 (marking this as a fix, but again, note that middleware
typing can also solve different strains of this issue)
- Fixes #456
- Fixes #513
- Fixes #98
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📦 inngest Affects the `inngest` package 💡 KTLO Chores, dependency updates, and routine tasks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants