Czy da się w jakiś sposób w vscode aby podmienić kod zanim zostanie wysłany do kompilacji przez typescript. Chodzi o stworzenie takiego middleweare aby przemielić kod który napisaliśmy na coś innego.-a właściwie inaczej, przesłanie do kompilatora ts innego kodu?
Ale czemu? TS jest tego typu transpilerem, bo zamienia TS w JS.
wygląda na to, że pod transpilację TypeScriptu można się podpiąć, pisząc własny "transformer":
https://blogs.u2u.be/diedrik/post/typescript-transformers-transform-and-rise-up
Ale nie używałem tego, teraz tylko w Google znalazłem. Ale z tego co tam piszą, to można tam ingerować w kod na poziomie AST.
Myślę, że lepiej dla Ciebie będzie, jeśli powiesz nam po co chcesz to zrobić (co chcesz tym osiągnąć), żebyśmy mogli powiedzieć Ci że w ten sposób się tego nie robi.
;-)
a: string = ''." ===> string a = ''."
taka zamianka w ts, aby można było zamienić to kolejnością.
ogólnie aby pisać ts w sposób jak się to pisze w języku np. c++
phanc napisał(a):
a: string = ''." ===> string a = ''."
taka zamianka w ts, aby można było zamienić to kolejnością.
ogólnie aby pisać ts w sposób jak się to pisze w języku np. c++
ale po co robić z TypeScripta coś, czym on nie jest i co nie daje nic, poza subiektywnym poczuciem estetyki, że się pisze typy w stylu C++, a nie w stylu Pascala (nawet jeśli składnia C++ jest bardziej zwięzła, bo nie trzeba pisać żadnego let/const, a składnia "pascalowa" jest trochę rozwlekła).
I jak chcesz to zrobić? Manipulacje AST nie będą działać out of the box, bo ta druga wersja pewnie w ogóle się nie skompiluje. Więc musiałbyś się wpiąć jeszcze głębiej do parsera. Ew. partyzancko pojechać regexpami.
Poza tym - będziesz pisać w stylu C++, a co na to twoje IDE? Pisząc niezgodnie ze składnią danego języka, możesz stracić podświetlanie składni czy autocomplete.
Jak dla mnie lepszym podejściem będzie po prostu zaakceptowanie, że TypeScript wygląda bardziej jak Pascal, a nie C++,.
Ew. poszukanie sobie innego języka kompilowanego do JSa (albo do WebAssembly), w którym taka składnia jest możliwa (np. C++, C#). Ale pytanie, czy ma to sens.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.