И еще одна статья от разработчиков Chromium обо всех новинках и изменениях в Chromium 81 (выйдет 17 марта).
https://blog.chromium.org/2020/02/chrome-81-near-field-communications.html
https://blog.chromium.org/2020/02/chrome-81-near-field-communications.html
Chromium Blog
Chrome 81: Near Field Communications, Augmented Reality, and More
Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, Chrome OS, Linux, macOS, and Wi...
Вышел Relay 9.0.0, в котором особенно хочется выделить поддержку чистых ECMAScript модулей (без примесей CommonJS), добавленную моим коллегой Богданом Чадкиным. Новая опция
eagerESModules в конфигурации позволяет заменить опциональные require на обычные статические импорты. Это позволит, например, использовать Relay совместно с Rollup без кастомных трансформаций кода.GitHub
Release v9.0.0 · facebook/relay
9.0.0
Breaking
Rename getModernOperationVariables to getOperationVariables
Added
Added queuePendingOperation to RelayModernMockEnvironment in testing tools. This allows the caller to manually re...
Breaking
Rename getModernOperationVariables to getOperationVariables
Added
Added queuePendingOperation to RelayModernMockEnvironment in testing tools. This allows the caller to manually re...
Вебня
Mozilla проводит ревью дополнений для Firefox. За последние 2 недели были забанены 197, из которых 129 разработы компанией 2Ring и скачивали и выполняли удаленный код в браузере пользователя. Часть дополнений собирала пользовательские данные, еще часть являлась…
А вот и о Chrome расширениях исследования подъехали.
https://duo.com/labs/research/crxcavator-malvertising-2020
Кстати, как раз сегодня дошли руки посмотреть доклад Никиты Мостового, который в подробностях рассказывает о том как всё плохо.
https://duo.com/labs/research/crxcavator-malvertising-2020
Кстати, как раз сегодня дошли руки посмотреть доклад Никиты Мостового, который в подробностях рассказывает о том как всё плохо.
ECMAScript пропозал Promise.any (stage 3), соавтором которого я являюсь, оказался не web-compatible из-за того, что некий сайт prosieben.de добавляет свой полифилл, который несовместим со спецификацией. Так как случай единичный и пакета с таким полифиллом обнаржено небло, скорее всего имплементоры и комитет смогут пренебречь этой несовместимостью.
Мораль: не будьте как разработчики этого сайта — не используйте глобальные переменные и не пытайтесь дополнить стандартную библиотеку кастомными методами.
Мораль: не будьте как разработчики этого сайта — не используйте глобальные переменные и не пытайтесь дополнить стандартную библиотеку кастомными методами.
GitHub
GitHub - tc39/proposal-promise-any: ECMAScript proposal: Promise.any
ECMAScript proposal: Promise.any. Contribute to tc39/proposal-promise-any development by creating an account on GitHub.
Вышел Node.js 13.9.0. Значительных изменений в нём я не обнаружил.
https://nodejs.org/en/blog/release/v13.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/
Полный список изменений: 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)
- 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.
WebKit
Release Notes for Safari Technology Preview 101
Safari Technology Preview Release 101 is now available for download for macOS Catalina and macOS Mojave.
Вышел TypeScript 3.8. Хороший релиз. Основные фичи:
- Type-Only Imports and Exports
- ECMAScript Private Fields
-
- Top-Level
- JSDoc Property Modifiers
- “Fast and Loose” Incremental Checking
https://devblogs.microsoft.com/typescript/announcing-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/
Microsoft News
Announcing TypeScript 3.8
Today we’re proud to release TypeScript 3.8! For those unfamiliar with TypeScript, it’s a language that adds syntax for types on top of JavaScript which can be analyzed through a process called static type-checking. This type-checking can tell us about errors…
Публичные статические поля классов добавлены в Firefox 75 Nightly.
https://bugzilla.mozilla.org/show_bug.cgi?id=1535804
https://bugzilla.mozilla.org/show_bug.cgi?id=1535804
bugzilla.mozilla.org
1535804 - Implement the Static class features proposal
RESOLVED (andrebargull) in Core - JavaScript Engine. Last updated 2020-02-23.
Вебня
Презентации с недавней 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…
Ещё немного:
- Bulk Memory (Ben Smith)
- Constant-Time WebAssembly (Hovav Shacham и Deian Stefan)
- WebAssembly Exception Handling (Heejin Ahn)
- Solving WebAssembly’s Passthrough Debug Problem (Erik McClure)
- Bulk Memory (Ben Smith)
- Constant-Time WebAssembly (Hovav Shacham и Deian Stefan)
- WebAssembly Exception Handling (Heejin Ahn)
- Solving WebAssembly’s Passthrough Debug Problem (Erik McClure)
Также опубликованы записи с февральской F2F встречи #WebAssembly Community Group.
https://github.com/WebAssembly/meetings/blob/master/2020/CG-02.md
https://github.com/WebAssembly/meetings/blob/master/2020/CG-02.md
YouTube плейлист Chrome University от разработчиков Google Chrome:
https://www.youtube.com/playlist?list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx
В нём содержатся видео о том как работает 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/
- 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
- в комментариях-директивах можно будет оставлять описания
- различные изменения в конфигурациях
- прекращается поддержка Node.js 8
- интеграции для ESLint смогут использовать асинхронные операции, что позволит, например, производить параллельный линтинг файлов
- Node.js- и CommonJS-специфичные правила будут перенесены из ядра в eslint-plugin-node
- в комментариях-директивах можно будет оставлять описания
- различные изменения в конфигурациях
eslint.org
What's coming in ESLint v7.0.0 - ESLint - Pluggable JavaScript Linter
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.
Dr. Axel Rauschmayer о типизации массивов в TypeScript.
https://2ality.com/2020/02/typing-arrays-typescript.html
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
https://medium.com/samsung-internet-dev/testing-your-websites-on-real-devices-4e4f39336d7
Medium
Testing your websites on real devices
A guide to remote debugging with Samsung Internet
Benjamin Coe о поддержке Source maps в Node.js, которая поможет в дебаге разработчикам, использующим TypeScript, Flow, ClojureScript или другие языки и прекомпиляторы.
https://medium.com/@nodejs/source-maps-in-node-js-482872b56116
https://medium.com/@nodejs/source-maps-in-node-js-482872b56116
Medium
Source maps in Node.js
Supporting the many flavors of JavaScript
В V8 отделили ветку версии 8.1, которая выйдет 17 марта вместе с Chrome 81. В новой версии появится поддержка Intl.DisplayNames (stage 3).
v8.dev
V8 release v8.1 · V8
V8 v8.1 features improved internationalization support through the new Intl.DisplayNames API.
Опубликованы записи со встречи #TC39, проходившей 4-6 февраля.
Все результаты одним сообщением я публиковал ранее вот тут.
Все результаты одним сообщением я публиковал ранее вот тут.
GitHub
tc39/notes
TC39 meeting notes. Contribute to tc39/notes development by creating an account on GitHub.