-
-
Notifications
You must be signed in to change notification settings - Fork 59
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
Отдельный tree-plugin для babel или ts #255
Comments
Вам нужны только эти два файла: https://github.com/eigenmethod/mol/blob/master/tree/tree.ts - для работы с форматом tree |
А как поддержка типов делается у вас. Вот скомпилился tree в ts-классы, а откуда возьмется информация о типах или все считается строками? Как ide выдаст предупреждение? Есть какая-то тулза, которая слушает изменения в tree, компилит ts и спустя какое-то время, watch ts сработает и ide покажет ошибки? |
Типы выводятся TS компилятором. Единственный нюанс - списки и словари могут содержать любые значения. Тулза, конечно, есть, но она лишь при сборке сейчас транслирует view.tree в ts: #254 |
Хотелось бы конечно в ts или в flow поддержку, с автокомплитом прям в tree без всяких компиляций, вы не оценивали трудозатраты? Вроде во flow/ts обещают поддержку syntax-плагинов. А не покажите пример, где лажает ts со словарями или списками? Я б во flow по аналогии попробовал бы проверить. |
Да ещё и под все IDE.. Боюсь трудоёмкость слишком высока. |
Под IDE не надо, достаточно под ts, сейчас тенденция, что IDE - просто морды к стандартным анализаторам, вроде flow/ts. |
Тенденция-то хорошая, но она ещё в зачаточном состоянии. |
Вы не думали о том, как лучше встроить tree в ts? что б плагином все это конвертить в классы. Например, в template strings работала бы типизация переменных. |
Не очень понял что вы имеете ввиду |
Преобразовать tree в функцию с шаблоном, по которому ts сгенерит класс: // some.tree.js
const Some = (t: ISome) => `
prop1:
${t.value}
` Хотя тут наверное больше проблем будет с интерфейсом. Пока не знаю как лучше, идея в том, что бы задействовать Compiler-API для генерации ts AST из tree. |
Интересная штука, правда как-то не завелась у меня. |
Судя по-всему для поддержки типов нужно дождаться Providing types. Еще упоминается Custom module resolution, но пока нет видимо api для этого. |
Вот, кстати ts-graphql-plugin. Вполне себя норм комплитит, не думали что-то подобное сделать для tree в виде template strings? Проще будет песочницу сделать. |
Боюсь я не осилю в ближайшее время. |
Описание требуемого функционала для плагина к .tree:
Открыто к обсуждению ) |
@gituser3000 Плагин к ide - должен быть самой простой и тонкой прослойкой в tsserver. Сам tsserver расширивается между двумя плагинами, штатным ts-плагином и tree-плагином. Можно выделить 3 истории в порядке значимости и удобства реализации: Вывод ошибок в treeАвтокомплит в treeНавигация по ctrl-clickРефакторинг |
Нет ли standalone версии tree?
Что б генерировал чистые классы из tree пока хотя бы в template strings и его можно было встроить в babel или ts.
PS
Я попытался для реакта применить подход "все содержимое компонента - в точки расширения". без tree получается некрасиво. Каждая хрень в JSX-верстке должна иметь уникальный идентификатор или быть функцией.
Пример моего counter: demo, src
The text was updated successfully, but these errors were encountered: