Recent searches
No recent searches
New open source tools to help those interested in Typescript development
Posted Oct 05, 2023
Hello dev community!
I wanted to take to this forum to let you all know about some tools I've developed to make Typescript development easier.
At my company, where we develop our own apps internally, we are interested in moving toward using typescript and other modern toolchains for development.
I have two new open source projects I'm excited to share with the community, and I hope that it helps some of you out.
1. zd-ts-react: A react app scaffold in pure Typescript
This is very similar to the current react app scaffold provider by Zendesk in their github repo located here, but instead of JS, it's pure TS, down to the config files.
More detail on how to use it is located in the readme on github. Let me know if you have any questions about it.
2. reified-client-api: An npm package for pseudo-type-safe ZAFClient functionality
This was in development for quite some time. This package effectively lets you circumvent the development shortcoming of the current JS ZAFClient by providing a typed wrapper library over the top of it.
Since the Support area is the only relevant ZD area for my company, the other areas (Chat and Sell) remain unimplemented.
A couple of advantages with this API:
- You'll never need to worry about typos, since the wrapper API has all paths built-in
- TONS of autocompletion is now available. You don't need to refer to the docs if you forget the name of a property. Just hit the period and you'll see a list of options when working with zendesk objects.
- The API still exposes the regular ZAFClient via a `.zafclient` property, so even if something isn't implemented, or the API's features are missing some things, you can still develop your app using the underlying client with the regular syntax.
Again, the github page has lots of examples and use-cases you can look over, and this forum post is getting long enough as it is.
We're not sure how large of an audience this will have, but I definitely hope this interests some of you!
6
4 comments
Bernhard Weisshuhn
Thank you so much for this, Joshua! This is really helpful. I already submitted a PR on github and hope to contribute where I can.
0
Gary Kester
Hi Joshua,
Thanks for this.
I was working on another version of the app using functions instead of classes, especially for the main app.
Checking how you're tracking with this repo with all the changes on Zendesk.
Regards,
Gary
0
Joshua Hansen
Hi Gary Kester
Changes need to be tracked manually. We looked into parsing the documenation but the task proved to be too much work for little payoff, since in the event that Zendesk would change their documentation format, the docs parsing tool would potentially need to be rewritten.
It might be worthwhile to have some sort of tools that notifies when the docs are updated, and which page is updated, but for now, it's as simply as monitoring the docs and Zendesk's announcements from time to time to see if any major changes were made.
0
Gary Kester
Thanks Joshua,
I'm always on a lookout for any changes that might simplify how we can work with their tools.
Your conversion to TS gave me an awesome starting point to build on and that's much appreciated.
I use functions over classes in REACT and material UI instead of ZD Garden for theming.
Personal preference I guess.
All the best.
Gary
0