| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
(https://nda.ya.ru/t/nzLqVjNO7RtJnf
commit_hash:e9776dabeb2d60f4c97889a4ec9b49681fecaa04
|
| |
|
|
| |
commit_hash:fa9f381375deffd8fa2a5bd60b7276e165baae77
|
| |
|
|
| |
commit_hash:df7cd66aaf3674f89b9c2de41e2167b90ac03cdf
|
| |
|
|
|
|
| |
--config.prefer-symlinked-executables true
commit_hash:d397d43267d09779e40f0934a374592fbb838879
|
| |
|
|
|
|
| |
прав на запись
commit_hash:9c8e067c99e9e18718fd1dcd8aa3c9c20dea79f3
|
| |
|
|
| |
commit_hash:ed70cd729998e0329c62e9c846104cc0529bf8d0
|
| |
|
|
| |
commit_hash:ff97bf7139227c9f62a7c1018bcf710ee907efc3
|
| |
|
|
| |
commit_hash:a3538e00a017f2b80e2b752e106c84a9202b1d0a
|
| |
|
|
| |
commit_hash:388056ab641ea2a274a06e5db9f3248864cc1c78
|
| |
|
|
|
|
| |
ya.make
commit_hash:76d6d3957e2208b59863c8dd97de29c59b1ab958
|
| |
|
|
|
|
| |
ya.make
commit_hash:dae19ab6c507a1f85dea74300a411c1ba9ae8ece
|
| |
|
|
|
|
| |
.nots/pnpm-store
commit_hash:f5f5fd9f8e06201395cda230991d1ab40f94299b
|
| |
|
|
|
|
|
|
|
|
| |
переместить директории хранилищ
- Добавить директорию виртуального хранилища в список директорий для поиска модулей для eslint.
(для того, чтобы данное изменение начало работать для `eslint` необходим релиз test-tool)
- Вынести content-addressable store в корень build-root
- Путь к virtual-store приводим к стандартному для tier1
commit_hash:60ca9e4b2cc059ffb50fdc688514036cb76d84d0
|
| |
|
|
| |
commit_hash:9960194d44a237d2a0a946d4c19be42e59164732
|
| |
|
|
|
|
| |
pnpm всегда, кроме distbuild
commit_hash:451493159914facba06df833a74b2d0fd4d22799
|
| |
|
|
| |
commit_hash:0a5e27c9a156a9ec5212876ab382e1eec53c03c2
|
| |
|
|
| |
commit_hash:3307ce0a773a79f1cfa89ea9161ed6a0fd08040a
|
| |
|
|
|
| |
Убрать привязку флага local_cli к созданию бандла workspace_node_modules
commit_hash:2660a42778f6abcedd581209d5efb452db64d7f7
|
| |
|
|
|
|
|
|
| |
тестов (jest, eslint, typecheck)
- Выставляем флаг локального запуска при работе через nots
- При запуске install с указанием virtual-store директории исключаем гонку и хешируем по pre-lock файлу
commit_hash:fcc3afdd0d702a9846ee627d6e709f3d3cf97482
|
| |
|
|
| |
commit_hash:7efc8ab40184186a1c5d597aa5ea2c0dc1fbe85a
|
| |
|
|
| |
commit_hash:67e03f3141acec0e9767fe74135d1afe760d84d2
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Новая переменная для получения бандла с node_modules для конкретных проектов из скоупа сборки:
`ya make ... -DNODE_MODULES_FOR=some/arc/path:some/other/arc/path`
Это позволяет получить упакованные node_modules для проектов из скоупа сборки
(скоупом является целевой модуль и его пиры) при необходимости.
Если получение такого выходного артефакта необходимо постоянно, то целевом
`ya.make` можно использовать макрос `WITH_NODE_MODULES()`.
По умолчанию `node_modules` теперь упаковываться не будут, это позволяет сэкономить время.
<section id="quibbler-autodescription">
#### Добавление опции для упаковки node_modules по запросу 📝
- ✨ Добавлена новая опция `--nm-bundle` для управления упаковкой `node_modules` в архив.
- 🔧 Изменены конфигурационные файлы для поддержки новой опции, включая обновление макроса `WITH_NODE_MODULES()` и добавление флага `NODE_MODULES_FOR`.
- 📝 Обновлены тесты для проверки новой функциональности, включая добавление тестов для опции `--nm-bundle`.
- 📚 Обновлена документация, добавлены ссылки на новый макрос `WITH_NODE_MODULES()`, объясняющий его использование и назначение.
<a href="HIDDEN_URL"><font size="2">Autodescription by Code Assistant</font></a>
</section>
commit_hash:afdbc2b03fd128c9caafa3f989316390f3453d01
|
| |
|
|
| |
commit_hash:fbb82972273665ff4bb1be1b739a737f86d4899a
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
пропуск pnpm install на актуальных node_modules
## Суть изменений:
1. Пересмотрены методы логирования при сборке (и после), чтобы не показывались логи действий, который не выполняются (пропускаются).
Таким образом логирование секций кода (с последующим стиранием строки лога) теперь осуществляется в методе-обёртке.
2. Команда `nots install` теперь выполняет последовательную сборку пиров (раньше запускал параллельно, что приводило к состоянию гонки);
3. Сборка пиров в команде `nots install` выполняется без рекурсивного обхода пиров для пиров (все пиры и так переданы). Это позволило не "чинить дедупликацию", а в принципе не приводить к "дупликации" – каждый пир проходится один раз. Тут важно определить порядок обхода.
4. Пропуск повторных запусков `pnpm install` без необходимости. Необходимость вычисляется так:
- `builder` в локальном режиме кладет в аутпут файлик `pre.pnpm-lockfile.yaml`, хеш которого используется в `nots/cli`
- `builder` в локальном режиме рядом с папкой `node_modules` создает файлик `node_modules.json` с хешом `pre.pnpm-lockfile.yaml`, который использовался при сборке этого `node_modules`
- `nots/cli` использует сравнивает файлик из аутпута и из `node_modules.json` и если отличаются, то `pnpm install` запускается.
Пожалуй, пункт 4 стоит расписать.
Кажется, что эти файлики всегда будут совпадать, но я перестраховываюсь: часть пиров может быть закеширована в сборке, но удалена из `~/.nots/nm_store`, например, при запуске с `nots --clean`.
Чтобы избежать подобных локальных казусов я и перестраховываюсь.
Хеш от `pre.pnpm-lockfile.yaml` предпочтительнее хеша от `pnpm-lockfile.yaml`, т.к. он включает в себя пиры (т.е. это результат смерживания лок-файлов).
Также была версия с проверкой, что node_modules создалась в промежутке между проверкой и запуском nots/cli (т.е. в рамках `ya make`), но это не работает при кешировании узлов сборки пиров.
Если у вас будут идеи, какие еще проверки можно сделать для принятия решения, запускать ли `pnpm install` – я открыт к предложениям.
## Побочные улучшения:
### nots/cli
- Добавлен хелпер `utils.ts:processItems(items, action)` - отказоустойчивый `forEach`;
- Для `log-formatters.ts:unlog` вместо прямой записи ESC-последовательностей в stdout используется модуль `readline`;
- `log-formatters.ts:unlog` не срабатывает в тестах (пишет заглушку) и при включении отладочного вывода (`DEBUG`/`--verbose`);
- Для `DoneHandler` добавлен метод-обёртка `runOnce(action, key, fn)` для более удобного использования, а также запись в лог отладки, если действие пропускается.
## Что не вошло в PR
Осталось на будущее:
1. Дедупликация пиров нескольких таргетов.
Т.е. сборка пиров при `nots install project1 project2` должна быть общей, а не своё поддерево для каждого.
И `ya make` для них нужно запускать один раз.
И пост-сборочные действия выполнять единожды в правильном порядке, деже не пытаясь в дупликацию.
2. Подобный пункту 4 механизм, но не для `nots build`, а `nots install` — не запускать `pnpm install`, если недавно ставили (тут нужно определиться с критерием)
commit_hash:11f98acb44f759464876f61c5dbf69da7c0d0340
|
| |
|
|
|
| |
`nots --clean-all` is to clean old pnpm store
commit_hash:927fbcdd1038f132059572ff8a6d37ac8377b082
|
| |
|
|
|
|
| |
+ use pnpm 9.12.3
<hr/>
commit_hash:401355b36acf391df042416ba13707112a07cecb
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Суть изменений:
1. Наполнение папки ~/.nots/nm_store/$MODDIR/node_modules прямо в builder (перед установкой модулей в $BINDIR)
2. Это все равно нужно было бы делать в nots/cli, а теперь оно наполняется заранее, что обеспечивает структуру node_modules выше по уровню, чем virtual-store (важно для кастомных резолверов пакетов, ищущих пакеты выше по иерархии)
3. Убран предварительный запуск `pnpm install`, пакеты качаются один раз (тарболы в ya make)
4. После `ya make` все равно запускается `pnpm install` для гарантии (там еще всякие действия делаются)
# Всем, кого робот призовет в PR
## Пожалуйста, игнорируйте, это массовая проверка, в транк не попадут изменения в ваших проектах
## Нам нужно лишь стриггерить CI, чтобы проверить, что никто не сломался. Правки в pnpm-lock.yaml файлах будет откачены.
commit_hash:d124ecb77bda10bd8e975078382c685ac35c8928
|
| |
|
|
|
|
|
| |
Не могу позеленить, локально всё хорошо: замокано, проходит и `nots test`, и `nots run test`, и `ya test`.
Разбираюсь, но это не мешает ревьюить
commit_hash:2e7b4cf14b0f8ff1a8340c919460395e5bcdfea7
|
| |
|
|
| |
commit_hash:2310b62b5ef95f4fc7ee6b278d8d4a71a9c3817c
|
| |
|
|
| |
commit_hash:cfbd74bf877107b5db0cb2ea60977b4849e15af5
|
| |
|
|
| |
commit_hash:a90772ebe7455e03b8882a87230324f1f13426dc
|
| |
|
|
| |
861cdb3f890da6b591920637785f8de1d1267b6e
|
| |
|
|
| |
f944a35c196f6f7b7d93b7d2e9716fcd57f85d9f
|
| |
|
|
| |
89c8f9767a1ef610f9ee050e1a5da5728bba02d7
|
| |
|
|
|
|
|
| |
frontend_build_platform, обновить все SUBSCRIBER в ya.make
Дополнительно заменил SUBSCRIBER(g:testplane) на SUBSCRIBER(g:frontend_build_platform) (не везде, а только для FBP проектов типа run_hermione)
93fcf9322da8ed15f1d8d343a571e1b38f11369a
|
| |
|
|
| |
e71f3730f57e720d6efb18f42adbd2006606844e
|
| |
|
|
| |
38492359bcf6831eaf3a0003363e44f8ee70c19b
|
| |
|
|
|
|
|
| |
Для автосборки выпускается `@yatool/[email protected]`. Переход на `v1` происходит с ломающим изменением - переход на `pnpm.overrides` (подробности в тикете(https://st.yandex-team.ru/)).
В рамках этого ПР не вносятся изменения в версии используемых пакетов. Производится только обновления структуры файлов `package.json` и `pnpm-lock.yaml` под новых подход работы с пребилдами.
7d29f2c38da8e22bd480056ac4a8be62240e3352
|
| |
|
|
|
| |
Integration is added in backward-compatible manner with `v0.x.x`
1f45f7b3235314fb1ee8d2051ff6d592c95813f0
|
| |
|
|
|
|
| |
Привет! В рамках [задачи по наведению порядка в Аркадии](https://clubs.at.yandex-team.ru/arcadia/30094) заменяем OWNER на SUBSCRIBER в ya.make, чтобы в будущем переключить ревью на a.yaml.
Этот пуллреквест приносит чисто технические изменения, правила и уведомления про ревью не меняются.
66643ef2ea3057cb2bdcd789ca7302eceeb936b1
|
| |
|
|
|
| |
Добавил `--config.confirmModulesPurge=false` при вызове команды `pnpm install`
c1b18870105ce0b5bccc98b120d321159b08557c
|
| |
|
|
| |
bc5f65939283a67efed802b5e7b2dda6cf645178
|
| |
|
|
| |
b61ff371d6ad2f8c646f2a04e4a7d0fa178a6541
|
| |
|
|
| |
d6858973111135b4053e51b2e05deea4955ffcdf
|
| |
|
|
|
|
|
| |
- Включить `pnpm@8` по умолчанию, увеличиваем range для допуска версий `8.х.х` при обновлении ресурсов.
- Убрать временный код, флаги и переменные, добавленные для совместимости лок-файлов версии 6 и `pnpm@7`
- Обновить `pnpm-lock` для `hrtech/frontend/services/st-miro-app`
6df5f5335cb95cbc90a0465c5d8d4f2cefbcc7be
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Раньше FROM_NPM строил урл для скачивания по имени пакета. Изменил это на использование поля tarball, потому что это требуется для интеграции с `@yatool/prebuilder`
|
| |
|
|
|
|
|
| |
модуля
Issues:
* https://st.yandex-team.ru/
* https://st.yandex-team.ru/
|