Typescript support #714
Description
Hi : )
I am one frontend engineer, I used to build web app such label-studio-frontend WITH TypeScript/Javascript. I found label-studio is a grateful & useful annotation tool for my friend who works on AI, he/she needs to label/annotate data to prepare data for his/her training model.
Like some projects I seeked or wrote for them, the frontend of label-studio is not driven by TypeScript, so its customer could not benefit from its Type system. if you install @heartexlabs/label-studio
and import it to your existed project, no any Type Hints for frontend engineer.
Maybe, I think, we should introduce Typescript into label-studio now, reasons below:
-
In 2022, more and more frontend projects are built with Typescript, most frontend engineers have been used to it and want explicit type hints when they import one new npm package to their project --- even though their own project isn't driven by Typescript, they can still benifit from IDE's TS Server support (e.g. VS Code)
-
On the early stage of label-studio, maybe some full-stack engineers can develop both backend and frontend of label-studio. But as your project/product label-studio become biggier and more complex, and you want to sell the commercial version to your customer, they maybe need to tell their frontend engineer: "embed label-studio into our products". But, We all know the fact: most frontend engineers don't know how AI engineer works, what AI engineer needs. So the frontend engineer needs to read your document, to learn the domaintic knowledge and the conception in label-studio first, then he/she could embed label-studio gratefully.
But, if label-studio provides type support in npm package, most frontend engineers could benifit from it: they maybe know less about annotation/label, but the property exported const types, function signature would help them know what capability label-studio provides, with the example in documentation, they would embed it into an existed project faster.