How to write plugin in typescript?
-
Hello, first of' thanks for the amazing work !
For the context: I'm a junior developer from France, so excuse my english (and my limited understanding of everything lol). I was looking for a software alternative to build a forum RPG. I just installed NodeBB on Ubuntu 20 (Focal) working on WSL 2. I'm using redis and want to write plugin using typescript.It would be great to have a guide version of the Quickstart plugin in typescript !
I know its possible to write plugin in typescript, the emoji plugin does that. But it would save me so much time to have a guide that explain the extra step we need to do in order of compiler and make it work on NodeBB.Here's my questions tho:
- Is it in the roadmap team of NodeBB to document how to write plugin in typescript?
- Did the team plan to write a typescript version of NodeBB?
Although it would be great to have some more advanced example right in the documentation on how to do something and what are the step to make it work.
Like here : https://community.nodebb.org/topic/16994/how-do-i-add-custom-user-fields-to-my-themeLike "if I want to add/ change something, I have to think of the scope of this features and what's need to be modify in other file to be working properly". Or at least, say it in the documentation a little bit more straightforward. So that beginner will understand that first sight. But I think examples are more worthy than tons of words.
-
Is it possible for beginner to contribute on the documentation to make it more specific and understandable for beginners, or is it a documentation for more experienced developers and a choice of the team (and don't want to change that)?
-
Is it because from a plugin to another, things might be working so differently that it's not worthy to do a more detailed documentation ?
Because people might be wanted to write plugin over time, mutualisation of knowledge would be great, so that might simplified the process of each developer trying to write plugin have to go throw investigations to understand how NodeBB works before even start to develop the actual plugin.
For example: How to interact with the database explain in this answer: https://community.nodebb.org/topic/17657/best-way-to-store-plugin-data-in-database-in-context-of-compatibility/2?_=1714543873650 for me this should be in the documentation.
In conclusion, I feel like in general people agree that it's difficult to start writting plugin without investigate and dive in the structure file of the source code. I'm willing to help on that make it easier to really understand how NodeBB works for developer. So that anyone not familiar with the source code can start almost immediately customization.