Мы используем возможности рабочих пространств pnpm, чтобы наш монорепозиторий работал более плавно, чем свежий блин с маслом.
Клонируйте монорепозиторий Hey на свой локальный компьютер:
git clone [email protected]:/repos/hey/hey.git
Качаете macOS? Вы можете получить и то, и другое с помощью Homebrew, как настоящий мастер пивоварения:
brew install nvm pnpm
Используйте nvm
для вызова необходимой вам волшебной версии Node.js:
nvm install
Телепортируйтесь в корень репозитория и позвольте pnpm посыпать его магией зависимостей:
pnpm install
.env
Направьте своего внутреннего мастера и создайте файл .env
из шаблона .env.example
для каждого пакета и приложения, которому он нужен. Не забудьте добавить необходимые переменные среды!
cp .env.example .env
Не забудьте сыграть в подражатель и повторить создание файла .env
для каждого пакета и приложения, которому он нужен. Последовательность является ключевым моментом!
Когда все звезды сойдутся и все будет на своих местах, запустите приложение в режиме разработки:
pnpm dev
Готовы создать приложение? Просто запустите эту команду:
pnpm build
Хотите запускать тесты во время разработки? Вот как это сделать:
pnpm test
Мы используем ts-prune
для поиска и устранения неиспользуемых экспортов и помощников, скрывающихся в нашей кодовой базе. Внимание: вам придется запускать эту задачу вручную для каждого пакета и приложения. Удачной обрезки!
cd apps/web ; npx ts-prune -i generated.ts
Пришло время изменить наши зависимости! Мы полагаемся на волшебные возможности pnpm
, чтобы все было актуально и выглядело четко.
script/clean-branches
script/update-dependencies
Мы доверяем pnpm
чтобы наш файл блокировки оставался свежим и красивым!
script/clean-branches
script/update-lock-file
Мы используем Ripgrep для поиска текста в базе кода. Как будто у grep
и ag
родился ребенок, и этот ребенок вырос демоном скорости!
Установите его через Homebrew:
brew install ripgrep
Поиск текста в базе кода:
rg " const Verified "
В apps/web
у нас есть анализатор пакетов, который позволяет узнать размер и содержимое наших производственных пакетов. Это похоже на рентгеновское зрение вашего кода!
Чтобы сгенерировать этот вывод, запустите:
cd apps/web
ANALYZE=true pnpm build
Запустите эту команду, чтобы создать apps/web
проект, и наблюдайте, как волшебным образом открываются три окна браузера, в каждом из которых отображаются сведения о пакетах узла, периферии и клиента. Клиентский пакет — это супергерой производительности страниц, в то время как все пакеты играют жизненно важную роль в разработке и повышении производительности.
Мы просим всех участников и членов команды следовать нашему Кодексу поведения. Считайте это золотым сводом правил нашего сообщества: играйте хорошо и сохраняйте хорошее настроение!
Этот проект имеет открытый исходный код под лицензией AGPL-3.0 . Все подробности можно найти в файле LICENSE. Это настоящее перелистывание страниц!
Мы ? ты до Луны и обратно! Ваша поддержка — это бесконечный запас кофе для нашего кода. Спасибо за то, что сделали Эй самым потрясающим местом во вселенной!
?