| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
commit_hash:b8f364fd401df3802cd4839aa0f60348a91f8db8
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<section id="quibbler-autodescription">
#### Добавление поддержки libatomic для Node.js >= 25 📝
- 🛠️ Добавлена поддержка библиотеки `libatomic` в сборку для Node.js версии 25 и выше, что необходимо для корректной работы в среде Linux
- 📦 Обновлены ресурсы и конфигурации для включения `libatomic` при сборке проектов с Node.js >= 25 на Linux
- 🧪 Обеспечена корректная передача `LD_LIBRARY_PATH` в тестовую среду для поддержки новых версий Node.js
- 📝 Обновлены описания ресурсов и добавлено указание минимальной версии Node.js (>=25.9.0) в `package.json` для соответствующих проектов
- ⚙️ Расширена функциональность CLI и билдера с возможностью передачи дополнительного пути для `LD_LIBRARY_PATH` при запуске сборок
- 🧹 Очищены и обновлены тестовые сценарии для корректной работы с новыми параметрами сборки
- 📁 Добавлены новые ресурсы для `libatomic` на платформах Linux и Linux-aarch64, включая обновленные версии в `resources.json`
- 🧩 Реализована логика автоматического подключения `libatomic` при использовании Node.js >= 25 на Linux, учитывая архитектуру процессора
- 📦 Обновлены зависимости и конфигурации для корректной работы с новыми версиями Node.js и библиотеками
- 📁 Обновлены пути к ресурсам и метаданные в `resources.json`, отражающие изменения в сборке и поддержку новых версий Node.js
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
</section>
commit_hash:d078809fbb928dd6328f2b5200c895eb05a44220
|
| |
|
|
|
|
| |
неизменных зависимостях
commit_hash:140e997f13a190a260effe490921efaaa6f9cec8
|
| |
|
|
| |
commit_hash:8fa2c50ab7d98e6e265b6690f03b0a58928fe76b
|
| |
|
|
| |
commit_hash:ecebcfd300909c7deaa48cb323bd246b5c7c2b2b
|
| |
|
|
|
| |
#| || **<a href="https://nda.ya.ru/t/NmXL8DSH7W8pjd" target="_blank"> Echo tests</a>** || |#
commit_hash:595f1e5ce2f0b1215088b7c8d2b79f07955f9a4b
|
| |
|
|
| |
commit_hash:1284210f3d36c02044ff90213c56cd83c2a2a497
|
| |
|
|
| |
commit_hash:109283c5f34a9268f769025cba5fdb7ac54a1708
|
| |
|
|
|
| |
(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
|
| |
|
|
|
|
| |
Изменения расширяют пути поиска модулей для eslint / stylelint, что позволит стилевым тестам работать нормально после выноса virtual store из node_modules.
Необходимые изменения в jest будут внесены отдельно после дополнительных проверок.
commit_hash:7510370c04d8967d572408deea82fa05ee03228a
|
| |
|
|
|
|
| |
сборочного модуля
commit_hash:5809d143ff83fe0a0b2600caac7bf6301f20f586
|
| |
|
|
| |
commit_hash:a3538e00a017f2b80e2b752e106c84a9202b1d0a
|
| |
|
|
| |
commit_hash:388056ab641ea2a274a06e5db9f3248864cc1c78
|
| |
|
|
|
|
| |
ya.make
commit_hash:76d6d3957e2208b59863c8dd97de29c59b1ab958
|
| |
|
|
|
|
| |
ya.make
commit_hash:dae19ab6c507a1f85dea74300a411c1ba9ae8ece
|
| |
|
|
|
|
| |
.nots/pnpm-store
commit_hash:f5f5fd9f8e06201395cda230991d1ab40f94299b
|
| |
|
|
|
|
| |
(показывать только при --verbose)
commit_hash:53763489b6fe45c4add50d476dd1029b39717072
|
| |
|
|
|
|
|
|
|
|
| |
переместить директории хранилищ
- Добавить директорию виртуального хранилища в список директорий для поиска модулей для eslint.
(для того, чтобы данное изменение начало работать для `eslint` необходим релиз test-tool)
- Вынести content-addressable store в корень build-root
- Путь к virtual-store приводим к стандартному для tier1
commit_hash:60ca9e4b2cc059ffb50fdc688514036cb76d84d0
|
| |
|
|
|
|
|
|
| |
1. Убрал `TS_TRACE` переменную отовсюду (её больше нет)
2. В builder пишу трейсы, если передано `--local-cli yes`
3. Трейсы пишуется по адресу: `~/.nots/traces/<moddir>/<cmd>.builder.trace.json`
4. В каждый спан в трейсе добавились аргументы, с которыми функция была вызвана (очень удобно отлаживать)
commit_hash:4e47098cc62697b917e5ce4edf462a7e5a1b2c21
|
| |
|
|
| |
commit_hash:9960194d44a237d2a0a946d4c19be42e59164732
|
| |
|
|
|
|
| |
установке зависимостей
commit_hash:bb0e0e0fbba15b82c707868efb18f399a4b3e82d
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
commit_hash:b15cc006493a8cc498ed568935b939e12ef35b70
|
| |
|
|
| |
commit_hash:d85f21d6b4179697b8d5f8ab39c7d5216d35d1a8
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Новая переменная для получения бандла с 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
|
| |
|
|
| |
commit_hash:515418498d8710e18b175057df15cc9c993ec06c
|
| |
|
|
| |
commit_hash:2c55f79d794d1397298137030241375d3bff6f9d
|
| |
|
|
|
|
|
|
| |
сборки, чтобы можно было использовать его в BUNDLE()
Пока что есть проблемы с пирами (всегда).
Нужно разобраться, как их доставлять правильно.
commit_hash:caf90ef2192d4e9b5b18ee468b0697cb55b79408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Конфигурирование, сборка, последующая работа показывает, что все работает, как задумано (в этом конкретном кейсе точно).
```
~/arcadia/devtools/dummy_arcadia/typescript/pnpm_overrides -nots-support-pnpm-overrides took 3s
at 15:29:04 f ❯ notsl build -- -n
Building devtools/dummy_arcadia/typescript/pnpm_overrides…
Warn[-WUserWarn]: in $S/devtools/frontend_build_platform/nots/builder/ya.make: Using branch nots/builder
Ok
~/arcadia/devtools/dummy_arcadia/typescript/pnpm_overrides -nots-support-pnpm-overrides took 6s
at 15:30:05 f ❯ notsl start
> @yandex-int/pnpm-overrides-demo@ start /Users/khoden/arcadia/devtools/dummy_arcadia/typescript/pnpm_overrides
> ya tool nots node build/index.js
from fake_lodash
Previous line should be 'from fake_lodash'
```
commit_hash:650c69f1fe38483cda5922ecd8cd813fffdf5bcd
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
пропуск 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
|
| |
|
|
|
| |
Move node_modules bundle for peers only when those exist
commit_hash:ba53ab8e38bbf8c45cdb921344bf780ff1d5f9da
|
| |
|
|
|
| |
Duplicate paths for transitive peers should not block the bundling / installing
commit_hash:53d3e2dfbd7e68234dcf318e16ba982f5353eda1
|
| |
|
|
|
|
|
| |
Не могу позеленить, локально всё хорошо: замокано, проходит и `nots test`, и `nots run test`, и `ya test`.
Разбираюсь, но это не мешает ревьюить
commit_hash:2e7b4cf14b0f8ff1a8340c919460395e5bcdfea7
|
| |
|
|
| |
commit_hash:2310b62b5ef95f4fc7ee6b278d8d4a71a9c3817c
|