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

Building Bolt App with JavaScript vs TypeScript #950

Closed
erkand-imeri opened this issue Jun 1, 2021 · 3 comments
Closed

Building Bolt App with JavaScript vs TypeScript #950

erkand-imeri opened this issue Jun 1, 2021 · 3 comments
Labels
discussion M-T: An issue where more input is needed to reach a decision question M-T: User needs support to use the project TypeScript-specific

Comments

@erkand-imeri
Copy link

erkand-imeri commented Jun 1, 2021

Hello all, currently I have a Slack Bolt App built in TypeScript.

My current Slack bolt npm dependency is:

"@slack/bolt": "^2.0.1",

So, I want to update into the latest Slack bolt version 3.*.

My question is, how much support does currently Slack-Bolt has for TypeScript, do we have to reverse-engineer the library in order to figure out and compose the types? From my personal experience in many cases i always had to dig deep into the framework to figure out and infer types for many slack events, sometimes i had to create custom types as well.

Is it better for me to switch the app from TypeScript to JavaScript both for now and long term?

Thanks in advance.

@gitwave gitwave bot added the untriaged label Jun 1, 2021
@seratch seratch added discussion M-T: An issue where more input is needed to reach a decision question M-T: User needs support to use the project TypeScript-specific and removed untriaged labels Jun 1, 2021
@seratch
Copy link
Member

seratch commented Jun 1, 2021

Hi @erkand-imeri , thanks for using Bolt JS for a long time and asking this!

A few weeks ago, we had another discussion about TypeScript developer experience here: #826

After that, we (I'm the main person who has been working on, actually) have been working on many improvements. You can find many TypeScript related issues/pull requests we'll include in the next minor version (v3.4) here. The next minor version should surely be far better than the past versions. We'll release the version within a few weeks.

That being said, there may still be room for improvements even with v3.4 and later versions. Moreover, we are committed not to bring backward-incompatible changes as much as possible (except for the cases where we fix an obvious bug). Therefore, Bolt's past design decisions and/or implementation details may prevent significant changes for improvements in the future.

From my personal experience in many cases i always had to dig deep into the framework to figure out and infer types for many slack events, sometimes i had to create custom types as well.
Is it better for me to switch the app from TypeScript to JavaScript both for now and long term?

The Bolt team's current direction is clearly to make both optimal for developers as much as possible.

Going with JavaScript is also a great choice. I have to admit that it may be less distracting in some situations, while you'll lose the TypeScript compiler's supports.

We're sorry about the past non-ideal experience with Bolt in TS. If you continue using TS and let us know specific issues, we would greatly appreciate it. As we're now more committed to improving this area than ever before, you can expect reported problems to be fixed more quickly.

I'm not sure if this was a desirable answer for you, but I hope this was helpful to you for making the decision.

@seratch
Copy link
Member

seratch commented Jun 1, 2021

@erkand-imeri Thanks for your reaction. Let me close this issue now but please feel free to write in when you have anything further to discuss/ask regarding this topic.

@seratch seratch closed this as completed Jun 1, 2021
@erkand-imeri
Copy link
Author

erkand-imeri commented Jun 3, 2021

Hello @seratch, thanks a lot for your answer, much appreciated.

I have some questions regarding inferring some types, should I create a new issue or continue here on comments?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion M-T: An issue where more input is needed to reach a decision question M-T: User needs support to use the project TypeScript-specific
Projects
None yet
Development

No branches or pull requests

2 participants