Вебня
4.69K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
И еще одна статья от разработчиков Chromium обо всех новинках и изменениях в Chromium 81 (выйдет 17 марта).
https://blog.chromium.org/2020/02/chrome-81-near-field-communications.html
Вышел Relay 9.0.0, в котором особенно хочется выделить поддержку чистых ECMAScript модулей (без примесей CommonJS), добавленную моим коллегой Богданом Чадкиным. Новая опция eagerESModules в конфигурации позволяет заменить опциональные require на обычные статические импорты. Это позволит, например, использовать Relay совместно с Rollup без кастомных трансформаций кода.
ECMAScript пропозал Promise.any (stage 3), соавтором которого я являюсь, оказался не web-compatible из-за того, что некий сайт prosieben.de добавляет свой полифилл, который несовместим со спецификацией. Так как случай единичный и пакета с таким полифиллом обнаржено небло, скорее всего имплементоры и комитет смогут пренебречь этой несовместимостью.

Мораль: не будьте как разработчики этого сайта — не используйте глобальные переменные и не пытайтесь дополнить стандартную библиотеку кастомными методами.
Вышел Node.js 13.9.0. Значительных изменений в нём я не обнаружил.

https://nodejs.org/en/blog/release/v13.9.0/
Вышел GraalVM 20.0.0. Что касается JavaScript, то Node.js в нём обновлён до версии 12.5.0, добавлена поддержка String.prototype.replaceAll и экспериментальная поддержка приватных и публичных полей класса.

Полный список изменений: https://www.graalvm.org/docs/release-notes/20_0/
Презентации с недавней F2F встречи #WebAssembly Community Group:
- Reference Types (Andreas Rossberg)
- Stack and continuations (Andreas Rossberg)
- Multi-value (Andreas Rossberg)
- Garbage Collection (Andreas Rossberg)
- Structural vs Nominal typing (Andreas Rossberg)
- Conditional Segments (Thomas Lively)
- Custom Annotation Syntax in the Text Format (Andreas Rossberg)
- Interface Types (Francis McCabe)
- Spec Editing Woes (Andreas Rossberg)
- WASI Embedding API, Interface Types and WASI (Peter Huene)
- Type Reflection for Wasm JavaScript API (Clemens Backes)
- Multiple Memories (Andreas Rossberg)
Новый релиз Safari Technology Preview 101 включает новые фичи Web Inspector, улучшения Web Animations, исправления для Media, обновления различных Web API.
Вышел TypeScript 3.8. Хороший релиз. Основные фичи:
- Type-Only Imports and Exports
- ECMAScript Private Fields
- export * as ns Syntax
- Top-Level await
- JSDoc Property Modifiers
- “Fast and Loose” Incremental Checking

https://devblogs.microsoft.com/typescript/announcing-typescript-3-8/
Также опубликованы записи с февральской F2F встречи #WebAssembly Community Group.

https://github.com/WebAssembly/meetings/blob/master/2020/CG-02.md
YouTube плейлист Chrome University от разработчиков Google Chrome:

https://www.youtube.com/playlist?list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx

В нём содержатся видео о том как работает Chrome под капотом.
Статья от делегата #TC39 от компании Mozilla Zibi Braniecki о грядущих фичах JavaScript, которые помогут с интернационализацией:
- Intl.RelativeTimeFormat (stage 4)
- Intl.Locale (stage 4)
- Intl.NumberFormat rev. 2 (stage 4)
- Intl.ListFormat (stage 3)
- Intl.DateTimeFormat dateStyle/timeStyle (stage 3)
- Intl.DisplayNames (stage 3)
- Intl.DateTimeFormat.formatRage (stage 3)

https://diary.braniecki.net/2020/02/14/js-intl-in-2020/
Совсем скоро выйдет ESLint 7.0.0. Основные изменения:
- прекращается поддержка Node.js 8
- интеграции для ESLint смогут использовать асинхронные операции, что позволит, например, производить параллельный линтинг файлов
- Node.js- и CommonJS-специфичные правила будут перенесены из ядра в eslint-plugin-node
- в комментариях-директивах можно будет оставлять описания
- различные изменения в конфигурациях
Dr. Axel Rauschmayer о типизации массивов в TypeScript.

https://2ality.com/2020/02/typing-arrays-typescript.html
Статья Ada Rose Cannon о том, как отлаживать вебсайты на настоящих мобильных устройствах, используя Samsung Internet (или Chrome) в качестве мобильного браузера и дескопный Chromium-based браузер для DevTools.

https://medium.com/samsung-internet-dev/testing-your-websites-on-real-devices-4e4f39336d7
Benjamin Coe о поддержке Source maps в Node.js, которая поможет в дебаге разработчикам, использующим TypeScript, Flow, ClojureScript или другие языки и прекомпиляторы.
https://medium.com/@nodejs/source-maps-in-node-js-482872b56116
В V8 отделили ветку версии 8.1, которая выйдет 17 марта вместе с Chrome 81. В новой версии появится поддержка Intl.DisplayNames (stage 3).
Опубликованы записи со встречи #TC39, проходившей 4-6 февраля.

Все результаты одним сообщением я публиковал ранее вот тут.