пробежаться и расставить айдишники в template. Хочется написать что-то с использованием парсера для vue component. А есть какой-то парсер из коробки, чтобы распарсить компонент в что-то типа AST и там по дереву пробежаться (и желательно, чтобы оно редактируемое было)? Мне для жены надо - сам-то я бэкендер больше, а не вот это вот все....
(UPDATE: Vue 3)
жена может знает, че у нас спрашиваешь..)
Ну если бы она знала, то я бы и не спрашивал
а чем регулярки не подходят?
Не, ну в принципе, навреное можно по-дедовски, да. Пока не вник где конкретно ей нужны айдишники, но, понятно, что на регулярках можно любую логику нафигачить.
Володь, а чем тебя не устраивает прокинуть айдишники традиционным способом, через пропсы?
Видимо уже ушёл деплоить
Там айдишники для автотестов расставляют. Это не про биндинги. Что-то вроде selenium-id проставить в определенных тегах, которые удовлетворяют определенным критериям. Это как-то можно пропсами?
Я так понимаю, тебе нужно прописать в тегах custom data attribute, если у компонента есть необходимый контекст - не вижу препятствий
Так а там не только компонентам - больше их тэгам. Вот компонент из 18 input'ов. В зависимости от того, как эти инпуты используются им может понадобиться айди.
Давай начнем с базового. Ты хочешь только параметры тегам дописать, или структуру дерева модифицировать?
У вас есть определённые условия, так может эти условия применить в тестах и не бахать данные для тестов в прод?
Никаких изменений в структуре. Просто буквально: было <input v-model="..." .../> стало <input my-freaking-id="some_id" v-model="..." ... />
Так там же часть будет генерироваться в процессе именно работы динамически. Если ID будет последовательными номерами, или даже генерироваться автоматом... Что-то как-то так себе представляют задумку.
Может у тебя проблема XY?
Потребуются концентрационные лагеря переобучения для тестеров....
Не - они хотят свои специальные айди - не имеющие отношения к вьюшным.
У них есть логика по которой они хотят видеть эти айди - некая стабильная комбинация собержимого из v-model.
Погоди немного. У Vue есть возможность рендеринга как на основе html, так и через https://vuejs.org/api/render-function.html#h
Это левак, тут задача в том, что бы промаркировать тэги потратив минимум каллорий. Переписать весь код на рендер функции в концепцию не вписывается)
Тестеры свои скрипты пишут - опираются на них.
То есть ваши тестировщики не могут (не хотят) написать тест, поэтому вы подгоняете проект под них?
Я про то, что это не левак, а нормальная практика самого Vue. Инструмент должен использоваться на максимум для удобства
Ну вообще-то подумать об удобстве тестирования - не плохая идея.
Технически если есть компонент, то у компонента есть логика и некий жизненный цикл. Если речь про отладку, то компонент при рождении может создать для себя уникальный ID и вставляй его каким-нибудь скриптом обвязкой
А компонентов много-много сотен? Есть компилятор sfc, но если не тысяча компонентов, я бы лучше сделал регуляркой + руками
Да, компонентов около 250 и там по первым прикидкам в каждом по 20-30 айди в среднем надо расставить. Но есть и 50 и 5.
Я немного потыкал в sfc - как будто только дял Vue2?
А эти материалы смотрел? https://vuejs.org/guide/scaling-up/tooling.html#testing
Это нормальная практика, но внедрять её с нуля выйдет дороговато
Но я так - палкой с большого расстояния
Где-то было сообщение, в котором описывалось, что собственно за id должны получиться, откуда они берутся и как определяется, куда ставятся?
Ну там все неточно, но логика содержимого этих айди как-будто бы опирается на сам тэг, точнее на содержимое v-model в тэге.
А главное для чего
Определенные задача не стала)
А типа, это очень важно, какое содержимое каждого айдишника? Вот прям вообще капец как жить не можешь без этого. Я могу, хотя я наполовину в задаче а ты не можешь?
А зачем?
Да, важно для решения задачи. У тебя буквально суть задачи расстановке id , неплохо бы понимать условия этой расстановки. > Вот прям капец как жить не можешь без этого Уверен, ни кто в чате не умрет, если твоя задача никогда никем не будет решена, все будет так же спокойно жить и спать :)
Ну слуш, нет - это не важно. Ты просто не умеешь в абстракцию.
а ты, очевидно, не умеешь в диалог
Или я понимаю, какие нюансы важны, для решения задачи, и какие могут быть совершенно разные пути. Отличный инженерный уровень 👍, не надо называть непонимание своей задачи абстракцией. Абстрактно можете вставить через Ctrl+v, регулярки, директивы, код на js
На самом деле я просто наверху уже выдал много деталей, которые указывают на то, что не важно какие айди - хоть рандомные строки и также то, что с рантаймом это не связано. Учитывая, что часто бывает много особенных разрабов, которым задачу объяснять дольше, чем сделать самому, вопросы по второму/третьему кругу скорее всего меня триггерят.
Как в голанге по абстракции?
Я начал вопрос с того, что спросил, было ли уже сообщение с этим описанием. Раз были, можно ответить, что были. Соболезную, что триггерят технические вопросы и не выходит держать себя в руках
у тебя, по-моему, явно проблемы с problem solving skills если ты не вчера влетел в разработку, то тебе должно быть очевидно, что итоговое значение id в твоей задаче может кардинально влиять на путь к ее решению: - если это статика, которая берется из названия переменной - это можно сделать нехитрой регуляркой - а если это, например, динамическое название, которое берется по смыслу и в вариаций там десятки, то, как минимум, часть задачи будет решаться мануально поэтому утверждение, что это не имеет значения в твоей задаче - буквально подпись под тем, что ты абсолютно не понимаешь свою задачу
ИМХО ты неверно подходишь к вопросу отладки в целом. Вроде бы должен знать, что большие системы не маркируют на каждом шагу. Их проверяют блочно в целом. И только при нестабильной работе выявляют проблемную область постепенно исключая блоки и сужая область проблемы до минимально возможной детали.
https://t.me/vuejs_ru/1251613
на vite можно
Ну соррян. Я не увидел вопроса. Триггерят, но выходит держать себя в руках. Я в своих руках.
Да я уже написал, как они эти айди создают: > На текст в аттрибуте тэга буквально на строку v-model="myModel.myCoolField" <- скорее всего айдишник будет "myCoolField" К чему все эти "если"? Вчера было 23 года, как я в разработке. И более того, я написал, для чего айдишники - для тестеров, чтобы они свои автоскрипты прицепили к ним. Давайте по 10-му кругу: "а что у вас в айдишниках, а там значения с большой буквы или с ммаленькой?"
чел, ты тут уже час, наверное, страдаешь
я работаю паралелльно жена пишет скрипт проблема так-то решена, почему я страдаю?
а, ну если решена - вопросов нет
я просто залетел час назад - обсуждают вставку айди в скрипты. Залетел сейчас - тоже самое.
Мне стало интересно это само по себе. А как? Я чот не нахожу документированного ничего...
Обсуждают сегодня