publint отличает пропавший файл от исключённого из npm-пакета Импорт библиотеки работает в её репозитории, а после установки из npm ломается. Стоит проверить, попали ли файлы из exports в публикуемый пакет. У publint это две разные проблемы. FILE_DOES_NOT_EXIST означает, что указанного файла нет. FILE_NOT_PUBLISHED — файл есть локально, но в публикацию не входит. Вторая диагностика появляется только при локальной проверке. Если у пакета есть сборка, запустите её до проверки. Ещё одна проверка касается порядка условий: types в exports должно идти перед условиями для JavaScript. Успешная проверка упаковки не доказывает, что вся библиотека работает во всех средах. 📎 Правила проверки упаковки publint.
Open in Telegram
Веб-страница
Всё по фронтенду, бэкенду и девопсу в одном месте Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/64ai
Subscribers, 30 days
Oct 11 – Nov 4−145 (−0.6%)
Show as table
| Date | Subscribers |
|---|---|
| Oct 11, 2026 | 22,338 |
| Oct 12, 2026 | 22,337 |
| Oct 13, 2026 | 22,319 |
| Oct 14, 2026 | 22,318 |
| Oct 15, 2026 | 22,308 |
| Oct 16, 2026 | 22,301 |
| Oct 17, 2026 | 22,296 |
| Oct 18, 2026 | 22,290 |
| Oct 19, 2026 | 22,290 |
| Oct 20, 2026 | 22,284 |
| Oct 21, 2026 | 22,282 |
| Oct 22, 2026 | 22,277 |
| Oct 23, 2026 | 22,269 |
| Oct 24, 2026 | 22,266 |
| Oct 25, 2026 | 22,260 |
| Oct 26, 2026 | 22,251 |
| Oct 27, 2026 | 22,248 |
| Oct 28, 2026 | 22,242 |
| Oct 29, 2026 | 22,233 |
| Oct 30, 2026 | 22,226 |
| Oct 31, 2026 | 22,225 |
| Nov 1, 2026 | 22,215 |
| Nov 2, 2026 | 22,205 |
| Nov 3, 2026 | 22,197 |
| Nov 4, 2026 | 22,193 |
Average views per post by day
By publication day
Show as table
| Date | Avg views per post |
|---|---|
| Oct 6, 2026 | 1,589 |
| Oct 7, 2026 | 1,528 |
| Oct 8, 2026 | 1,444 |
| Oct 9, 2026 | 1,302 |
| Oct 10, 2026 | 1,416 |
| Oct 11, 2026 | 1,556 |
| Oct 12, 2026 | 2,686 |
| Oct 13, 2026 | 1,264 |
| Oct 14, 2026 | 1,363 |
| Oct 15, 2026 | 1,413 |
| Oct 16, 2026 | 1,366 |
| Oct 17, 2026 | 1,347 |
| Oct 18, 2026 | 1,419 |
| Oct 19, 2026 | 1,473 |
| Oct 20, 2026 | 1,438 |
| Oct 21, 2026 | 1,595 |
| Oct 22, 2026 | 1,551 |
| Oct 23, 2026 | 1,479 |
| Oct 24, 2026 | 1,498 |
| Oct 25, 2026 | 1,571 |
| Oct 26, 2026 | 1,629 |
| Oct 27, 2026 | 1,591 |
| Oct 28, 2026 | 1,567 |
| Oct 29, 2026 | 1,412 |
| Oct 30, 2026 | 1,452 |
| Oct 31, 2026 | 1,458 |
| Nov 1, 2026 | 1,368 |
| Nov 2, 2026 | 1,396 |
| Nov 3, 2026 | 1,214 |
| Nov 4, 2026 | 837 |
Advertising
- 4clk.me
Most viewed this month
- 01Views7.53KForwards89Reactions4Comments0
- 02Views1.66KForwards6Reactions3Comments0
- 03Views1.65KForwards20Reactions4Comments0
- 04Views1.62KForwards5Reactions2Comments1
- 05Views1.62KForwards5Reactions5Comments0
Latest posts
useId связывает поле с подсказкой без повторяющихся ID Если дважды вывести компонент поля с ID подсказки password-hint, один ID встретится в документе несколько раз. Связь поля с описанием станет неоднозначной. useId создаёт ID для таких связей. Его можно передать в aria-describedby поля и в id текста с подсказкой. Описание дополняет доступное имя. При этом label или другой способ дать полю имя всё равно нужен. При SSR дерево компонентов на сервере и клиенте должно совпадать. Для нескольких независимых корней React задайте identifierPrefix. На сервере и клиенте он должен совпадать. Для ключей списка useId не подходит. 📎 Примеры связей и SSR в документации React.
Open in TelegramrequestVideoFrameCallback вызывает обработчик при новом видеокадре Если вы рисуете видео на canvas через requestAnimationFrame, часть вызовов может приходиться на один и тот же видеокадр. Частота кадров видео может быть ниже частоты обновления экрана. requestVideoFrameCallback вызывает обработчик, когда новый кадр передают композитору. Частота вызовов ограничена меньшим из двух значений: частотой кадров видео и частотой рендера браузера. Для следующего вызова обработчик нужно зарегистрировать заново. В метаданных есть mediaTime, временная отметка кадра в секундах. Это best effort: колбэк может опоздать на один vsync. API не гарантирует точный переход к заданному кадру или синхронизацию кадр в кадр. В источнике указана поддержка Chrome 83, Firefox 132 и Safari 15.4. 📎 Механизм и ограничения API на web.dev.
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 5 h | 700 |
| 17 h | 861 |
| 24 h | 1,085 |
| 29 h | 1,179 |
- After 6 hours700
- After 24 hours1,085
- Total to date1,179
If-Match не даёт затереть чужую правку Два человека открыли одну запись. Первый сохранил изменения, второй отправил форму со старыми данными. Обычный PUT может затереть первую правку. Если сервер выдаёт ETag и поддерживает If-Match, клиент отправляет тег прочитанной версии вместе с изменением. Сервер сохраняет изменения только при совпадении тега. Устаревший тег приводит к 412 Precondition Failed, и интерфейс может предложить сравнить версии. If-Match использует сильное сравнение. Тег с префиксом W/ не подойдёт, а If-Match: * проверит лишь наличие ресурса. Проверку версии и запись сервер должен выполнять согласованно. Заголовок не заменяет авторизацию. 📎 Условные запросы в MDN.
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 11 h | 1,056 |
| 30 h | 1,248 |
- After 24 hours1,248
- Total to date1,248
text-box-trim убирает лишнее место у краёв текста У двух шрифтов с одинаковым размером разные метрики, поэтому подпись может визуально «плавать» внутри кнопки. Отрицательный margin под один шрифт исправляет картинку, пока шрифт не сменился. text-box-trim задаёт, какие края текстового блока подрезать: верхний, нижний или оба. А text-box-edge выбирает метрики, например высоту прописных букв и baseline. На примере MDN границы показывают разницу между trim-end и trim-both. Это не ограничение числа строк и не изменение интервала между всеми строками. Работа идёт с внешними краями текста. MDN отмечает Baseline 2026 с августа, но старые браузеры ещё нужно учитывать. Проверьте результат со сменой шрифта, диакритикой и другими письменностями. 📎 Примеры text-box-trim
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 5 h | 778 |
| 17 h | 959 |
| 29 h | 1,292 |
| 48 h | 1,385 |
- After 6 hours778
- After 24 hours1,292
- Total to date1,385
focusgroup предлагает отдать стрелочную навигацию браузеру В toolbar обычно нужен один вход по Tab, а между кнопками — переход стрелками. Сейчас ради этого пишут roving tabindex: следят за фокусом и меняют tabindex. Предложение focusgroup переносит эту механику в платформу. В официальном RFC достаточно focusgroup="toolbar", чтобы браузер управлял перемещением фокуса. Переключение pressed state, открытие меню и выполнение команд остаются задачей приложения. Автоматический фокус не реализует поведение кнопок за вас. Пока это эксперимент: для локальной проверки RFC предлагает флаг Experimental Web Platform Features в Chromium, а API может измениться. Сара Суэйдан включила его в пожелания к Interop 2027. Это аргумент в пользу развития примитива, а не обещание стабильной поддержки во всех браузерах. 📎 Демо и описание предложения
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 10 h | 1,054 |
| 35 h | 1,347 |
| 54 h | 1,406 |
- Total to date1,406
В черновике WCAG 3 отделяют требования от практик команды Пройти проверку и дать человеку выполнить задачу — разные результаты. В Working Draft WCAG 3 от 10 сентября 2026 года это различие отражается в новой структуре требований и отчётности. Core requirements задают обязательную основу соответствия. Supplemental requirements описывают дополнительные улучшения, а assertions — документированные заявления о практиках организации. Например, важен не только единичный результат, но и то, как команда регулярно ищет барьеры. Это проект, а не принятый стандарт. WCAG 3 ещё не заменил WCAG 2.2, а детали отчётности продолжают меняться. Полезно обсуждать направление заранее, но строить готовую сертификацию или придумывать баллы по этому черновику рано. 📎 Объяснение Léonie Watson · Working Draft W3C
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 5 h | 612 |
| 17 h | 820 |
| 29 h | 1,199 |
| 72 h | 1,368 |
- After 6 hours612
- After 24 hours1,199
- Total to date1,368
Одна сцена графика для браузера и серверного SVG Когда график нужен и на странице, и в серверном отчёте, легко получить две реализации с разными подписями и отступами. В Chartist 2 между конфигурацией и выводом есть общая сцена. На сайте показана связка renderToString(toScene(config, size)): сцена превращается в строку SVG, которую можно получить и на сервере. В браузере график стилизуется CSS-классами. Есть и комбинированный пример со столбцами, линией и двумя осями. Общий рендеринг не решает все задачи представления. У SVG всё ещё должны быть понятные подписи и текстовая альтернатива данным. А container-based responsive в источнике отмечен как экспериментальный: не рассчитывайте на него как на готовую универсальную адаптивность. 📎 Примеры и серверный рендеринг
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 10 h | 865 |
| 34 h | 1,246 |
| 71 h | 1,368 |
- Total to date1,368
Safari блокирует серверы, связывающие email с рекламными ID Один сайт знает ваш email, другой — свой непрозрачный tracking ID. Сервер identity resolution может связать их и помочь узнавать человека между сайтами. Именно такую инфраструктуру описывает новый разбор WebKit. В iOS, iPadOS, macOS и visionOS 27 Safari и WebKit блокируют сетевой доступ к её доменам. Барьер стоит на пути к посреднику, как на схеме. Поэтому отладка стороннего идентификатора теперь должна учитывать и эту причину неудачного запроса. Это не запрет на любую аналитику и не блокировка собственной персонализации сайта: источник отдельно различает first-party сценарий и межсайтовое сопоставление. Если интеграция перестала получать ID, сначала выясните роль домена. Не стоит автоматически считать это поломкой вашего логина или рассылки. 📎 Механизм блокировки в WebKit
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 4 h | 653 |
| 16 h | 894 |
| 28 h | 1,182 |
| 76 h | 1,467 |
- After 24 hours1,182
- Total to date1,467
Двоичный payload запроса можно рассмотреть прямо в Network Копировать байты запроса в сторонний декодер теперь нужно реже. В Chrome DevTools 152 у Payload появились варианты отображения Base64, Hex и UTF-8 для двоичных и сжатых данных запроса. На скриншоте источника — Response, чьи варианты перенесли в Payload. Это удобно, когда приложение отправляет не читаемый JSON, а бинарный формат. Можно остаться рядом с заголовками запроса и его ответом, переключить представление и проверить, какие данные ушли по сети. Только не путайте отображение с пониманием протокола. Hex покажет байты, UTF-8 попробует представить их текстом, но структуру вашего формата инструмент сам не объяснит и шифрованные данные не расшифрует. Для смысла полей всё ещё нужна схема протокола. 📎 Раздел Network в DevTools 152
Open in TelegramViews growthHide views growth
Views growth
Hours after publication
Show as table
| Hours after publication | Views |
|---|---|
| 0 h | 0 |
| 10 h | 928 |
| 70 h | 1,448 |
- Total to date1,448
Connections
Similar channels
Типичный программист@tprogerTechnologies78K
Инструменты программиста@prog_toolsTechnologies12.9K
Нейроканал@neuro_channelTechnologies12K
Точка входа в программирование@prog_pointTechnologies17.9K
Джун на фронте | IT Dev Log@divatozTechnologies7.56K
Rozetked@rozetkedTechnologies650K
Newtonlabs Pro@newtonlabsTechnologies22.6K
Проект «Архангел». Создание БПЛА.@projectarchangelTechnologies21.3K
Mentioned by
Mentions
Типичный программист@tproger5 reposts
Нейроканал@neuro_channel1 mention, 1 repost
Инструменты программиста@prog_tools2 reposts
Rozetked@rozetked1 mention
Точка входа в программирование@prog_point1 repost