Mason — набор для командной строки, позволяющий унифицировать процесс создания файлов с шаблонным кодом без надобности написания своих плагинов для IDE. Это ускоряет разработку и позволяет больше фокусироваться на написании фич.
Для установки выполним команду:
dart pub global activate mason_cli
Далее инициализируем Mason в нашем проекте:
mason init
Для создания первого шаблона, который в Mason называется brick, необходимо прописать команду:
mason add (имя шаблона)
Это создаст папку __bricks__/my_brick в корне проекта. Внутри можно настроить структуру, а для генерации классов — использовать переменные.
Шаблоны в Mason не ограничены один файлом. Можно создать шаблоны на генерацию кода для разных библиотек, репозитории, State Management и страницы для одной фичи.
vars:
name:
type: string
description: Name of your class
Переменные используются для подстановки значений в шаблоне, например, для именования файлов и классов. Чтобы сгенерировать шаблон, запустите:
mason make (имя шаблона)
Создадим сам шаблон. В папку brick помещаем необходимые файлы {{name.snakeCase()}}.dart. И в нем же создаем шаблон для этого файла:
class {{name.snakeCase()}} {
final String {{name.camelCase()}}
{{name.snakeCase()}}(
this.{{name.camelCase()}},
);
}При вызове mason make с флагом –name my-class будет создан файл my_class.dart, содержащий код:
class MyClass{
final String myClass;
MyClass(
this.myClass,
);
}Готовые шаблоны можно найти на сайте.
Делитесь в чате используете ли вы Mason в своих проектах? 🙂
