TypeScript: narrowing types via type guards and assertion functions — очередня статья от Axel Rauschmayer. В этот раз об уточнении типов.
https://2ality.com/2020/06/type-guards-assertion-functions-typescript.html#assertion-functions
https://2ality.com/2020/06/type-guards-assertion-functions-typescript.html#assertion-functions
WeakRefs (stage 3) только что были включены по умолчанию в Firefox Nightly 79, ждём билд.
https://bugzilla.mozilla.org/show_bug.cgi?id=1639246#c8
https://bugzilla.mozilla.org/show_bug.cgi?id=1639246#c8
bugzilla.mozilla.org
1639246 - Ship weak refs
ASSIGNED (jcoppeard) in Core - JavaScript: GC. Last updated 2020-06-09.
Прямо сейчас Yulia Startsev из Mozilla снова ведёт стрим, в этот раз о прошедшей встрече #TC39 и о работе комитета
https://www.twitch.tv/codehag
https://www.twitch.tv/codehag
Twitch
codehag - Twitch
Hi everyone! This channel is an experiment, to see if this format works well for people. My name is yulia, aka YSV aka codehag AKA ioctaptceb. I work on Firefox's SpiderMonkey Compiler and I want to help people learn about compilers and standards, so I created…
Новый ECMAScript пропозал await.ops (stage 0), добавляющий синтаксический сахар для работы с массивами промисов. Будет представлен комитету в июле.
GitHub
GitHub - tc39/proposal-await.ops: Introduce await.all / await.race / await.allSettled / await.any to simplify the usage of Promises
Introduce await.all / await.race / await.allSettled / await.any to simplify the usage of Promises - tc39/proposal-await.ops
Вчера прошла встреча #WebAssembly CG, на которой проголосовали за обобщения пропозала Module Types в Module Linking и перевода его на stage 1 (вот слайды). Также был представлен новый пропозал Numeric Values in WAT Data Segments и обсуждалась возможность убрать аннотации типов для ref.is_null.
GitHub
meetings/CG-06-09.md at main · WebAssembly/meetings
WebAssembly meetings (VC or in-person), agendas, and notes - meetings/CG-06-09.md at main · WebAssembly/meetings
Валидация внешних данных на TypeScript. Очередная статья из серии про TypeScript от Axel Rauschmayer.
https://2ality.com/2020/06/validating-data-typescript.html
https://2ality.com/2020/06/validating-data-typescript.html
В SpiderMonkey добавлена поддержка dateStyle и timeStyle для Intl.DateTimeFormat API (stage 3)
https://bugzilla.mozilla.org/show_bug.cgi?id=1557718#c7
https://bugzilla.mozilla.org/show_bug.cgi?id=1557718#c7
GitHub
GitHub - tc39/proposal-intl-datetime-style: dateStyle and timeStyle options for DateTimeFormat
dateStyle and timeStyle options for DateTimeFormat - tc39/proposal-intl-datetime-style
#W3C Audio Working Group опубликовала обновлённую версию Web Audio API Candidate Recommendation. Предыдущая версия Candidate Recommendation была опубликована 18 сентября 2018. Список изменений здесь.
Вышел Safari Technology Preview 108 с улучшениями Web Inspector и большим количеством различных исправлений.
https://webkit.org/blog/10840/release-notes-for-safari-technology-preview-108/
https://webkit.org/blog/10840/release-notes-for-safari-technology-preview-108/
WebKit
Release Notes for Safari Technology Preview 108
Safari Technology Preview Release 108 is now available for download for macOS Catalina and macOS Mojave.
Запись очередного стрима Yulia Startsev из Mozilla, который прошёл 12 июня. Об исправлении бага в SpiderMonkey.
https://www.twitch.tv/videos/648739280
https://www.twitch.tv/videos/648739280
Twitch
Twitch is the world's leading video platform and community for gamers.
В кодовую базу WebKit добавлена библиотека libavif, которая в скором времени позволит добавить поддержку видеоформата AV1 и формата изображений AVIF.
https://bugs.webkit.org/show_bug.cgi?id=212964
https://bugs.webkit.org/show_bug.cgi?id=212964
Promise.any (stage 3) стал доступен в Firefox без каких-либо ограничений (ранее был включен только для Nightly сборок) начиная с Firefox 79 Nightly.
https://bugzilla.mozilla.org/show_bug.cgi?id=1599769#c11
https://bugzilla.mozilla.org/show_bug.cgi?id=1599769#c11
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.
Computing with types in TypeScript — статья от Axel Rauschmayer о вычисляемых типах.
https://2ality.com/2020/06/computing-with-types.html
https://2ality.com/2020/06/computing-with-types.html
Подгруппе #TC39, которая занимается разработкой пропозала Temporal (stage 2), требуется помощь в тестировании полифилла, работа над которым закончена:
https://www.npmjs.com/package/proposal-temporal
Temporal предоставит более продвинутую и эргономичную альтернативу Date API, который имеет некоторые неочевидные части и в котором не хватает многих часто используемых функций. Temporal покрывает основную часть функциональности таких библиотек как moment.js, date-fns, luxon и т.д. Пожалуйста, попробуйте этот полифилл для своих примеров использования. Если какая-то часть API покажется вам неудобной, то обязательно напишите об этом в issue tracker на GitHub.
⚠️ Не рекомендуется использовать этот полифилл в продакшне как минимум до stage 3.
https://www.npmjs.com/package/proposal-temporal
Temporal предоставит более продвинутую и эргономичную альтернативу Date API, который имеет некоторые неочевидные части и в котором не хватает многих часто используемых функций. Temporal покрывает основную часть функциональности таких библиотек как moment.js, date-fns, luxon и т.д. Пожалуйста, попробуйте этот полифилл для своих примеров использования. Если какая-то часть API покажется вам неудобной, то обязательно напишите об этом в issue tracker на GitHub.
⚠️ Не рекомендуется использовать этот полифилл в продакшне как минимум до stage 3.
GitHub
GitHub - tc39/proposal-temporal: Provides standard objects and functions for working with dates and times.
Provides standard objects and functions for working with dates and times. - tc39/proposal-temporal
macOS 10.12 (Sierra) станет минимальной необходимой версией операционной системы для работы Firefox 79 (выйдет 28 июля).
https://bugzilla.mozilla.org/show_bug.cgi?id=1634765
https://bugzilla.mozilla.org/show_bug.cgi?id=1634765
bugzilla.mozilla.org
1634765 - Drop support for macOS < 10.12
RESOLVED (spohl.mozilla.bugs) in Core - Widget: Cocoa. Last updated 2020-06-17.
Вебня
⚡️ На 77й встрече #TC39, которая пройдёт 20-23 июля, уже как минимум два пропозала будут представлены к переходу на stage 4. Это Promise.any & AggregateError и WeakRefs 🔥 Вероятнее всего к ним присоединится также Logical Assignment Operators Обновление от…
GitHub
GitHub - tc39/proposal-intl-list-format: `Intl.ListFormat` specification [draft]
`Intl.ListFormat` specification [draft]. Contribute to tc39/proposal-intl-list-format development by creating an account on GitHub.
⚡️Официально: Генеральная Ассамблея Ecma International одобрила спецификации
ECMA262 (ECMAScript® 2020 Language Specification)
ECMA402 (ECMAScript® 2020 Internationalization API Specification)
Новое в ECMA262:
- String.prototype.matchAll
- import()
- BigInt
- Promise.allSettled
- globalThis
- for-in mechanics
- Optional chaining
- Nullish coalescing operator
- import.iss.oneta
Новое в ECMA402:
- Intl.RelativeTimeFormat
- Intl.NumberFormat Unified API
- Intl.Locale
С новым джаваскриптом! 😄
ECMA262 (ECMAScript® 2020 Language Specification)
ECMA402 (ECMAScript® 2020 Internationalization API Specification)
Новое в ECMA262:
- String.prototype.matchAll
- import()
- BigInt
- Promise.allSettled
- globalThis
- for-in mechanics
- Optional chaining
- Nullish coalescing operator
- import.iss.oneta
Новое в ECMA402:
- Intl.RelativeTimeFormat
- Intl.NumberFormat Unified API
- Intl.Locale
С новым джаваскриптом! 😄
GitHub
GitHub - tc39/proposal-string-matchall: ES Proposal, specs, tests, reference implementation, and polyfill/shim for String.prototype.matchAll
ES Proposal, specs, tests, reference implementation, and polyfill/shim for String.prototype.matchAll - tc39/proposal-string-matchall
Разработчики Chromium обещают поработать над совместимостью в 2020. Конкретно упомянуты Flexbox, CSS Grid, формы, скроллинг, а также обещают обращать большее внимание на совместимость новых фич. Такие изменения мотивированы результатами опроса веб разработчиков от MDN в 2019 году.
Chromium Blog
Improving Chromium's browser compatibility in 2020
Last year, MDN ran the 2019 Web Developer Needs Assessment (DNA) survey . The DNA survey drew responses from over 28,000 developers from aro...
Yulia Startsev опубликовала на Mozilla Hacks анонс своих стримов о работе над движком SpiderMonkey. Я уже размещал тут ссылки на трансляции, но теперь можно и самостоятельно следить за ними в календаре.
Mozilla Hacks – the Web developer blog
Compiler Compiler: A Twitch series about working on a JavaScript engine
Yulia Startsev, a JavaScript engineer on Firefox's SpiderMonkey team, introduces her new Twitch stream called Compiler Compiler. In the three opening interactive episodes, we get an inside look at how ...