Недавно дошли руки до выкладывания T4MVCJS в opensource. Распространение исходников в зип-архиве показалось слегка устаревшей методикой и мы переехали на codeplex :)
Попутно было слегка отрефакторено использование T4MVC, вместо простой «копипасты» теперь используется оригинальный исходник с вырезанными из него строками, отвечающими за генерацию T4MVC-хэлперов. Таким образом легко и просто используется весь парсинг, осуществляемый T4MVC, и обновление до новых версий будет представлять куда меньше проблем (скопипастить файл, выкинуть 400 подряд идущих строк — вуа-ля :)).
Помимо эстетического удовлетворения это позволило с лёгкостью обрабатывать MVC Area (предыдущая версия, этого не умела, за репорт этого бага спасибо Брайану Бетти).
Заодно я задумался о проблеме существования двух экшенов с одинаковыми именами — в Javascript перегрузка функций, к сожалению, недоступна. В результате на свет появляются экшены Edit, Edit1, Edit2, etc. :) Если кто-нибудь предложит более адекватное решение проблемы — я бы с удовольствием его обсудил :)
P.S. в качестве системы контроля версий T4MVCJS используется Mercurial, так что при желании внести изменения — форкайте с удовольствием :)
P.P.S. На момент изначальной публикации поста ареи-таки не работали. Начиная с версии 1.0.10 всё ок.
А чего не на github? Это же модно и молодежно :)
>>скопипастить файл, выкинуть 400 подряд идущих строк — вуа-ля :)
Вот это не понял. Это автоматически делается при парсинге T4MVCшного файла?
Автоматически — нет, не делается, хоть и можно было бы :) просто если раньше код был скопипастен «частично» и перемешивался с кодом собственно библиотеки, то сейчас всё «честно и прозоро» — в отдельном файле.
Грубо говоря если раньше обновление требовало бы мозговых усилий и получаса времени, то теперь — 2 минуты механического труда :) Обновляться будет нечасто, поэтому автоматизировать смысла не увидел.
>>А чего не на github? Это же модно и молодежно :)
Джит это капец. Я врагу не пожелаю заводить у себя эту дурмашину. Можт это и из разряда «один раз сделать и забыть» — но для новичка — полный капец. Я выматерился когда делал патч к SquishIt.
С тех пор и хотел попробовать меркуриал, и вот от него — исключительно положительные впечатления. Быстро, просто, очевидно. Собираюсь вот свой сервак поставить :)
Костыль с копипастой не впечатляет :( Написал бы Дэвиду — может, у него какие мысли на этот счет есть
Я напишу, ага. Просто скорее всего изменений никаких не будет. Ну то есть я сам из решений вижу только включение T4MVCJS в состав T4MVC :) Остальные довольно-таки геморройные — заморачиваться смысла нет.
Вот я и довел до состояния, которое меня максимально устраивает без усилий со стороны :)
Ну да, ты молодец.
Идея со включением интересная. Можно было бы сделать опцией, которая по умолчанию выключена.