Forwarded from Веб-стандарты (Vadim Makeev)
Внутреннее устройство карт кода для JavaScript. Манодж Вивек подробно объясняет, как минифицированный JavaScript связывается с исходным: от структуры формата и VLQ-кодирования до того, как DevTools восстанавливают пути, строки и имена. Разбор проходит через этапы сборки TypeScript, структуру сегментов и примеры декодирования. #js #devtools
https://www.polarsignals.com/blog/posts/2025/11/04/javascript-source-maps-internals
https://www.polarsignals.com/blog/posts/2025/11/04/javascript-source-maps-internals
Forwarded from Веб-стандарты (Vadim Makeev)
Тестирование веб-компонентов в Light DOM проще, чем кажется. Херардо Родригес рассказывает, как связка Vitest, Lit, DOM Testing Library, vitest-axe, и продуманная архитектура Light DOM упростили проверку событий, форм, фокуса, и доступности в крупном легаси-проекте. #js #webcomponents #testing
https://cloudfour.com/thinks/testing-html-light-dom-web-components-easier-than-expected/
https://cloudfour.com/thinks/testing-html-light-dom-web-components-easier-than-expected/
Forwarded from Веб-стандарты (Vadim Makeev)
JSDoc как идеальный инструмент типизации для JavaScript. Джаред Уайт утверждает, что JavaScript в сочетании с JSDoc и проверкой типов через TypeScript tsc обеспечивает ту же безопасность и ясность, что и TypeScript, но без лишней сборки. Он описывает настройку jsconfig.json и tsconfig.json и показывает, как JSDoc делает код самодокументируемым и гибким. #js #jsdoc
https://thathtml.blog/2025/12/nuances-of-typing-with-jsdoc/
https://thathtml.blog/2025/12/nuances-of-typing-with-jsdoc/
Forwarded from Веб-стандарты (Vadim Makeev)
ES2026 решает головные боли JavaScript с датами, вычислениями и модулями. Мэри Бранскомб рассказывает, что ECMAScript 2026 приносит долгожданный Temporal, исправляющий Date, более точные вычисления и новые Intl API. Отложенные импорты и upsert улучшат перфоманс и надёжность кода. #js #ecmasript
https://thenewstack.io/es2026-solves-javascript-headaches-with-dates-math-and-modules/
https://thenewstack.io/es2026-solves-javascript-headaches-with-dates-math-and-modules/
Forwarded from Веб-стандарты (Vadim Makeev)
Веб-зависимости сломаны, можно ли это исправить? Лия Веру признаёт, что платформа переложила управление зависимостями на бандлеры, а import maps требуют глобальной конфигурации в HTML и плохо масштабируются. Она предлагает внешние import maps, доставку через заголовки и разрешение указателей на сервере. #js #tools
https://lea.verou.me/blog/2026/web-deps/
https://lea.verou.me/blog/2026/web-deps/
Forwarded from Веб-стандарты (Vadim Makeev)
Запуск навигации с помощью Navigation API. Олли Уильямс разбирает методы
https://olliewilliams.xyz/blog/initiating-navigations-with-the-navigation-api/
navigation.navigate(), reload(), back(), forward() и traverseTo(), проверку canGoBack и canGoForward, и выбор между push и replace, ссылаясь на идею Ахмада Альфи об URL как состоянии. Также он объясняет state и info, а ещё промисы committed и finished для перехваченных навигаций. #js #router #urlhttps://olliewilliams.xyz/blog/initiating-navigations-with-the-navigation-api/
Forwarded from Веб-стандарты (Vadim Makeev)
Готовый к продакшену стартовый шаблон для веб-компонентов. Аарон Густафсон собрал репозиторий с мастером настройки, вариантами импорта и регистрации, тестами на Vitest и Happy DOM, ESLint и Prettier, CI в GitHub Actions, а также с безопасной публикацией в npm и заметками по лучшим практикам для кастомных элементов. #webcomponents #js #tools
https://www.aaron-gustafson.com/notebook/a-web-component-starter-template/
https://www.aaron-gustafson.com/notebook/a-web-component-starter-template/
Forwarded from Веб-стандарты (Vadim Makeev)
Date уходит, Temporal приходит. Мэт Маркиз объясняет, почему JavaScript Date ведёт себя непредсказуемо при парсинге и легко ломает логику из-за изменяемости объектов. Он показывает Temporal, Stage 3 предложение TC39, где есть типы «только дата», работа с часовыми поясами и операции
https://piccalil.li/blog/date-is-out-and-temporal-is-in/
add/subtract возвращают новые значения. Поддержка уже есть в свежих Chrome и Firefox. #js #temporalhttps://piccalil.li/blog/date-is-out-and-temporal-is-in/
Forwarded from Веб-стандарты (Vadim Makeev)
Расследование размера бандла. Надя Макаревич пошагово проходит анализ сборки в Vite, находит как wildcard-импорты ломают tree-shaking, почему lodash без ESM раздувает бандл и убирает дубликаты библиотек дат, чтобы сократить приложение на React с 5 МБ до 601 КБ. #js #performance
https://www.developerway.com/posts/bundle-size-investigation
https://www.developerway.com/posts/bundle-size-investigation
Forwarded from Веб-стандарты (Vadim Makeev)
Хватит превращать всё в массивы. Мэтт Смит показывает, как iterator helpers в JavaScript дают ленивые цепочки
https://allthingssmitty.com/2026/01/12/stop-turning-everything-into-arrays-and-do-less-work-instead/
map, filter и take без промежуточных массивов и прекращают работу, когда UI получил нужные элементы. Это удобно для больших списков, потоков и пагинации, поддержка есть в современных браузерах и Node 22+. #js #performancehttps://allthingssmitty.com/2026/01/12/stop-turning-everything-into-arrays-and-do-less-work-instead/
Forwarded from Веб-стандарты (Vadim Makeev)
Как динамически устанавливать кастомные элементы. Хейдон Пикеринг предлагает соглашение об именах, хелперы
https://heydonworks.com/article/dynamically-loading-custom-elements/
define() и скрипт install(), который ищет :not(:defined), убирает дубликаты и импортирует только реально используемые элементы. Для зависимых компонентов есть событие ready, а для добавлений после загрузки подходит MutationObserver. #js #webcomponentshttps://heydonworks.com/article/dynamically-loading-custom-elements/
Forwarded from Веб-стандарты (Vadim Makeev)
Результаты опроса State of JavaScript 2025. TypeScript фактически победил как язык, отстреливание типов позволяет запускать его нативно в стабильных версиях Node.js, а Vite по загрузкам обогнал Webpack. При этом AI все сильнее влияет на разработку, к концу 2025 года чуть меньше 30% кода было сгенерировано AI, и быстро растут Cursor, Zed, Claude, Gemini и Copilot. #stateof #js
https://2025.stateofjs.com/
https://2025.stateofjs.com/
Forwarded from Веб-стандарты (Vadim Makeev)
Явное управление ресурсами в JavaScript. Мэтт Смит объясняет
https://allthingssmitty.com/2026/02/02/explicit-resource-management-in-javascript/
using и await using, а также Symbol.dispose и Symbol.asyncDispose, чтобы очистка всегда выполнялась при выходе из области видимости и в обратном порядке для нескольких ресурсов. Для большей гибкости есть DisposableStack и AsyncDisposableStack. #js #ecmasripthttps://allthingssmitty.com/2026/02/02/explicit-resource-management-in-javascript/
Forwarded from Веб-стандарты (Vadim Makeev)
Нативные JSON-модули наконец-то стали реальностью. Мэтт Смит объясняет, как атрибуты импорта позволяют загружать JSON-файлы напрямую через
https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/
import data from 'data.json' with { type: 'json' } без сборщика. Браузеры и рантаймы обрабатывают JSON-модули нативно с явным указанием типа, что избавляет от трансформаций на этапе сборки и закладывает основу для будущих типов модулей. #json #jshttps://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/
Forwarded from Веб-стандарты (Vadim Makeev)
Прогрессивные веб-компоненты. Ариэль Салминен представляет Elena — опенсорсную библиотеку для создания веб-компонентов, которые сначала работают на HTML и CSS, а затем гидратируются с помощью JavaScript. Elena решает распространённые проблемы: сдвиги раскладки, проблемы доступности и слабую поддержку серверного рендеринга. Библиотека весит всего 2,6 КБ и включает более 1000 тестов со 100% покрытием кода. #webcomponents #js
https://arielsalminen.com/2026/progressive-web-components/
https://arielsalminen.com/2026/progressive-web-components/
Forwarded from Веб-стандарты (Vadim Makeev)
Полностью локальные встраиваемые примеры кода. Александр Овганнисян создал веб-компонент, который рендерит изолированные песочницы для кода через
https://www.aleksandrhovhannisyan.com/blog/local-code-embeds/
<iframe srcdoc> без сторонних сервисов вроде CodePen или CodeSandbox. Компонент берёт HTML, CSS и JavaScript из элемента <template> и создаёт полностью локальный изолированный превью. Работает везде, где поддерживаются HTML и JavaScript, и не имеет зависимостей. #html #jshttps://www.aleksandrhovhannisyan.com/blog/local-code-embeds/
Forwarded from Веб-стандарты (Vadim Makeev)
Варианты предзагрузки изображений на JavaScript. Алекс Макартур сравнивает пять подходов:
https://macarthur.me/posts/preloading-images/
new Image(), <link rel="preload">, скрытый <div> с CSS-фоном, Cache API и fetch(). У каждого метода свои компромиссы в плане браузерного кеширования, обработки CORS и гибкости. Статья разбирает, когда лучше использовать каждый из них, чтобы избежать задержки при показе ещё не загруженных изображений. #js #performancehttps://macarthur.me/posts/preloading-images/
Forwarded from The Devs