T4MVCJS отрефакторен и выложен на codeplex

Недавно дошли руки до выкладывания T4MVCJS в opensource. Распространение исходников в зип-архиве показалось слегка устаревшей методикой и мы переехали на codeplex :)

Попутно было слегка отрефакторено использование T4MVC, вместо простой «копипасты» теперь используется оригинальный исходник с вырезанными из него строками, отвечающими за генерацию T4MVC-хэлперов. Таким образом легко и просто используется весь парсинг, осуществляемый T4MVC, и обновление до новых версий будет представлять куда меньше проблем (скопипастить файл, выкинуть 400 подряд идущих строк — вуа-ля :)).
Помимо эстетического удовлетворения это позволило с лёгкостью обрабатывать MVC Area (предыдущая версия, этого не умела, за репорт этого бага спасибо Брайану Бетти).

Заодно я задумался о проблеме существования двух экшенов с одинаковыми именами — в Javascript перегрузка функций, к сожалению, недоступна. В результате на свет появляются экшены Edit, Edit1, Edit2, etc. :) Если кто-нибудь предложит более адекватное решение проблемы — я бы с удовольствием его обсудил :)

P.S. в качестве системы контроля версий T4MVCJS используется Mercurial, так что при желании внести изменения — форкайте с удовольствием :)

P.P.S. На момент изначальной публикации поста ареи-таки не работали. Начиная с версии 1.0.10 всё ок.

Опубликовать в Facebook
Опубликовать в Google Plus

5 комментариев

  1. А чего не на github? Это же модно и молодежно :)

    >>скопипастить файл, выкинуть 400 подряд идущих строк — вуа-ля :)

    Вот это не понял. Это автоматически делается при парсинге T4MVCшного файла?

  2. Автоматически — нет, не делается, хоть и можно было бы :) просто если раньше код был скопипастен «частично» и перемешивался с кодом собственно библиотеки, то сейчас всё «честно и прозоро» — в отдельном файле.
    Грубо говоря если раньше обновление требовало бы мозговых усилий и получаса времени, то теперь — 2 минуты механического труда :) Обновляться будет нечасто, поэтому автоматизировать смысла не увидел.

    >>А чего не на github? Это же модно и молодежно :)
    Джит это капец. Я врагу не пожелаю заводить у себя эту дурмашину. Можт это и из разряда «один раз сделать и забыть» — но для новичка — полный капец. Я выматерился когда делал патч к SquishIt.
    С тех пор и хотел попробовать меркуриал, и вот от него — исключительно положительные впечатления. Быстро, просто, очевидно. Собираюсь вот свой сервак поставить :)

  3. Костыль с копипастой не впечатляет :( Написал бы Дэвиду — может, у него какие мысли на этот счет есть

  4. Я напишу, ага. Просто скорее всего изменений никаких не будет. Ну то есть я сам из решений вижу только включение T4MVCJS в состав T4MVC :) Остальные довольно-таки геморройные — заморачиваться смысла нет.

    Вот я и довел до состояния, которое меня максимально устраивает без усилий со стороны :)

  5. Ну да, ты молодец.

    Идея со включением интересная. Можно было бы сделать опцией, которая по умолчанию выключена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *