Создание собственной JavaScript‑библиотеки с открытым исходным кодом — это отличный способ прокачать навыки, заявить о себе в сообществе и научиться работать с реальными инструментами разработки. В этом материале вы узнаете, как правильно подготовить проект, опубликовать его в npm и настроить полный цикл автоматизации, который используют профессиональные разработчики.
Что вы изучите в рамках курса
Курс построен практическим образом: каждый модуль помогает вам шаг за шагом создать и выпустить собственную open source библиотеку. Ниже — основные аспекты, на которых делается акцент.
Настройка проекта на GitHub
Инициализация репозитория и базовая структура проекта.
Создание веток и оформление pull request'ов.
Добавление README, LICENSE и CONTRIBUTING для открытых проектов.
Работа с npm: от пакета до публикации
Правильное оформление package.json.
Настройка зависимостей и семантического версионирования.
Публикация и обновление библиотеки в npm‑реестре.
Тестирование и качество кода
Открытый исходный код — это не только свобода использования, но и ответственность за стабильность. Курс показывает, как поддерживать высокое качество проекта.
Unit‑тесты и интеграционное тестирование
Настройка Jest или другой тестовой среды.
Построение надежной структуры тестов.
Проверка покрытия кода и анализ результатов.
Автоматизация с Travis CI
Интеграция CI для автоматического запуска тестов.
Настройка сборки и уведомлений.
Оптимизация процесса перед каждым релизом.
Публикация результатов и поддержка проекта
Вы узнаете, как правильно презентовать свою библиотеку и вести работу над ней после публикации.
Отчеты на codecov.io
Курс рассматривает процесс подключения сервиса codecov.io для визуализации покрытия тестами и отслеживания изменений качества кода.
Лучшие практики open source
Работа с issue‑трекером и обратной связью от сообщества.
Поддержка стабильности релизов.
Развитие проекта на основе внешних вкладов.
Почему участие в open source — это мощный карьерный рост
Как отмечает Кент С. Доддс, участие в проектах с открытым исходным кодом становится одним из самых ценных этапов карьеры разработчика. Вы получаете опыт командной работы, учитесь писать понятный и поддерживаемый код, а также создаёте публичное портфолио, которое ценится работодателями.
Итог
Курс идеально подходит для разработчиков, которые хотят разобраться в экосистеме JavaScript глубже, вывести свои навыки на профессиональный уровень и стать активными участниками open source сообщества. После прохождения вы сможете вести и развивать собственную библиотеку, которая будет полезна другим разработчикам по всему миру.
Удален по просьбе правообладателя
Урок 1.00:04:56
Setup
Урок 2.00:02:52
License, Code of Conduct, & README
Урок 3.00:08:19
Exercise: Creating the Code of Conduct and License.
Урок 4.00:08:50
NPM Configuration and NPM Init
Урок 5.00:03:41
Exercise: Creating the Library
Урок 6.00:02:02
Creating the Library Solution
Урок 7.00:02:49
ESLint
Урок 8.00:13:15
Exercise: Linting the Library
Урок 9.00:12:54
Exercise: Setting Up Mocha & Chai
Урок 10.00:09:59
Exercise: Writing Unit Tests
Урок 11.00:07:41
Writing Unit Tests Solution
Урок 12.00:04:32
Code Coverage
Урок 13.00:13:40
Configuring NYC
Урок 14.00:03:39
Git Hooks
Урок 15.00:08:03
Exercise: Creating a Validate Script
Урок 16.00:04:00
Transpiling
Урок 17.00:13:00
Installing & Configuring Babel
Урок 18.00:07:01
Ignoring and Copying Files
Урок 19.00:11:22
Sending the Distribution to NPM
Урок 20.00:06:18
Babel Register & Istanbul
Урок 21.00:11:04
Exercise: Adding Babel Register & Istanbul
Урок 22.00:11:06
Universal JavaScript with Webpack
Урок 23.00:10:41
Adding & Configuring Webpack
Урок 24.00:09:54
Peer Dependencies
Урок 25.00:11:45
Forking & Renaming
Урок 26.00:06:46
Moving to the Master Branch
Урок 27.00:12:20
Exercise: Setting up Travis CI
Урок 28.00:12:54
Exercise: Tracking Code Coverage with Codecov
Урок 29.00:11:50
Publishing to npmjs.com
Урок 30.00:05:28
Semantic Release
Урок 31.00:06:41
Semantic Versioning with NPM
Урок 32.00:09:56
Exercise: Automating Releases Part 1
Урок 33.00:07:40
Exercise: Automating Releases Part 2
Урок 34.00:10:28
Exercise: Using Commitizen
Урок 35.00:11:51
Browsing the Updated Library
Урок 36.00:06:47
The Open Source Community: Getting Started
Урок 37.00:13:40
The Open Source Community: Documentation & Issues
Урок 38.00:07:27
The Open Source Community: Getting Contributors
Урок 39.00:02:11
Resources
Авторы - Kent C. Dodds, master.dev (ex FrontendMasters)
Kent C. Dodds - Full-Stack разработчик JavaScript в PayPal, помогал создавать продукты, поставляемые миллионам пользователей по всему миру. Я представляю PayPal на TC39. Я эксперт Google Developer, и я преподаю на egghead.io уже четыре года.
Master.dev — это образовательная платформа для разработчиков, которая помогает совершенствовать инженерные навыки: от изучения языков программирования и веб-разработки до работы с базами данных, облачной инфраструктурой, DevOps и искусственным интеллектом. Ранее известная как Frontend Masters, платформа расширила фокус и теперь обучает разработчиков всему спектру современной разработки ПО.