Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.
На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решен ие.
Для новичков, задача на неделю
В сообществе разработчиков есть много инструментов для установки Git-хуков. Хуже и лучше, медленнее и быстрее, некоторые с существенными ограничениями. Например, марсиане создали быстрый и фичастый Lefthook, который мы используем в коммерческих проектах, больших и маленьких.
Возникла идея создать альтернативу средству с максимальными возможностями: микро-менеджер Git-хуков, для «легких» frontend open source проектов. Под капотом — лишь запуск lint-staged
. Без парсинга конфигов в рантайме, с минимумом или совсем без зависимостей и лишь парой дополнительных строк в package.json
:
"simple-pre-commit": "npx lint-staged",
Польза: внести вклад в дело уменьшения коллективного размера node_modules
. Получить open source портфолио на Node.js.
pre-commit
, Lefthook, husky.postinstall
скрипте найти package.json
в process.cwd
и проверить, что ваш проект есть в devDependencies
(чтобы не запускаться при случайной установке во вложенных зависимостях).devDependencies
, то читать какое-то свойство с командой в package.json
, создавать исполняемый скрипт в .git/hooks/pre-commit
и прописывать туда указанную команду. Пусть при запуске хука будет запускаться сразу линтер, без траты времени на запуск вашего инструмента, разбор его конфигов и прочих тяжелых операций, свойственных популярным менеджерам git-хуков.pre-commit
-хука при обновлении конфига в package.json
. Можно оставить запуск этого CLI-скрипта ручным.