Фича --experimental-resolve-self, добавленная в Node.js 13.1.0 больше не является экспериментальной, и, вероятнее всего, появится в следующей версии Node.js (13.6.0). Эта фича избавляет от необходимости использовать префиксы вида
‘../../dir/file.js’ в импортах и позволяет указывать вместо этого путь относительно самого пакета. Поддерживаются оба варианта — ESM и CommonJS.GitHub
module: unflag resolve self · nodejs/node@c7f328f
PR-URL: https://github.com/nodejs/node/pull/31002
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Tro...
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Tro...
В TypeScript влили PR Type-only imports and exports, который добавляет Flow-подобный синтаксис для этой задачи и решает многие проблемы различных тулчейнов.
GitHub
Type-only imports and exports by andrewbranch · Pull Request #35200 · microsoft/TypeScript
TL;DR:
import type { A } from './mod', export type { A } from './mod'
Add flag to stop eliding import declarations from emit
To do:
parsing
checking: default import
checking: ...
import type { A } from './mod', export type { A } from './mod'
Add flag to stop eliding import declarations from emit
To do:
parsing
checking: default import
checking: ...
Новая версия Google Closure Compiler (вышла 1 января) теперь поддерживает ES2020 фичи
Полный список изменений:
https://github.com/google/closure-compiler/wiki/Releases#january-1-2020-v20200101
globalThis и String.prototype.matchAll.Полный список изменений:
https://github.com/google/closure-compiler/wiki/Releases#january-1-2020-v20200101
Статья о написании алгоритма решения Судоку с использованием дополненной реальности (компьютерного зрения) и #WebAssembly
https://blog.scottlogic.com/2020/01/03/webassembly-sudoku-solver.html
https://blog.scottlogic.com/2020/01/03/webassembly-sudoku-solver.html
Scott Logic
A WebAssembly Powered Augmented Reality Sudoku Solver
An Augmented Reality Sudoku solver using the WebAssembly build of OpenCV (a C++ computer vision library), Tensorflow (a machine learning library) and solver written in Rust. It neatly demonstrates how WebAssembly allows you to write performance-critical…
Firefox 73 принесёт некоторые изменения для cros-origin <iframe>. Геолокация, полноэкранный режим, запись экрана, доступ к камере и микрофону теперь выключены по умолчанию для айфреймов для сохранения приватности и безопасности пользователя. Если Вы хотите разрешить третьей стороне что-то из этих API, Вам необходимо добавить
allow атрибут с указанием нужных API.Вышел Firefox 72 с различными улучшениями DevTools, CSS, Web API. Из новых фич JS появилась поддержка Nullish Coalescing (ES2020).
Дополнительный материал
Релизные записи для разработчиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/72
Совместимость: https://www.fxsitecompat.com/en-CA/versions/72/
Релизные записи для конечного пользователя: https://www.mozilla.org/en-US/firefox/72.0/releasenotes/
Дополнительный материал
Релизные записи для разработчиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/72
Совместимость: https://www.fxsitecompat.com/en-CA/versions/72/
Релизные записи для конечного пользователя: https://www.mozilla.org/en-US/firefox/72.0/releasenotes/
Mozilla Hacks – the Web developer blog
Firefox 72 — our first song of 2020
2020 is upon us, folks. We'd like to wish everyone reading this a happy new year, wherever you are. As you take your first steps of the new year, figuring out what your next move is, you may find it comforting to know that there's a new Firefox release to…
Chromium борется с навязчивым использованием Notifications API. В следующей версии Chromium (и соответственно в Chrome 80) UI запроса разрешения от пользователя для нотификаций будет переработан.
https://blog.chromium.org/2020/01/introducing-quieter-permission-ui-for.html
https://blog.chromium.org/2020/01/introducing-quieter-permission-ui-for.html
Chromium Blog
Introducing quieter permission UI for notifications
Notifications on the web enable users to receive important updates even when they are not interacting with a website. Notifications are an ...
10 декабря состоялась 118я встреча Генеральной Ассамблеи Ecma International. Теперь членами этой организации также являются Alibaba, Dell Technologies, Huawei Technologies, Sony Interactive Entertainment, MetaMask, Sujitech. Как видим, большой интерес к участию в работе над стандартами Ecma проявляют китайские компании, и в первую очередь это, конечно, работа в составе технического комитета 39. Также на этой встрече co-chair #TC39 от компании Mozilla Юлия Старцев получила награду Ecma recognition award.
Вышел Safari Technology Preview 98. В нём:
- улучшения и исправления Web Inspector
- Web Animations CSS integration включена по умолчанию
- Generic Text Track Cue API
-
- различные улучшения и исправления некоторых Web API, CSS, Web RTC,
- TLS 1.0 и 1.1 выключены по умолчанию
- валидация и генерация WebAssembly байткода за один проход
https://webkit.org/blog/9689/release-notes-for-safari-technology-preview-98/
- улучшения и исправления Web Inspector
- Web Animations CSS integration включена по умолчанию
- Generic Text Track Cue API
-
OffscreenCanvas.convertToBlob- различные улучшения и исправления некоторых Web API, CSS, Web RTC,
- TLS 1.0 и 1.1 выключены по умолчанию
- валидация и генерация WebAssembly байткода за один проход
https://webkit.org/blog/9689/release-notes-for-safari-technology-preview-98/
WebKit
Release Notes for Safari Technology Preview 98
Safari Technology Preview Release 98 is now available for download for macOS Catalina and macOS Mojave.
Также TLS 1.0 и 1.1 будут отключены по умолчанию для всех версий, начиная с Firefox 74 (до этого они были отключены только в Firefox Nightly, начиная с версии 71).
https://www.fxsitecompat.dev/en-CA/docs/2020/tls-1-0-1-1-support-has-been-removed/
https://www.fxsitecompat.dev/en-CA/docs/2020/tls-1-0-1-1-support-has-been-removed/
На web.dev вышла статья о том, как добавить своё веб приложение в меню share на Android.
https://web.dev/workbox-share-targets/
https://web.dev/workbox-share-targets/
web.dev
Integrate PWAs into built-in sharing UIs with Workbox
How to register routes in Workbox so that your Progressive Web App shows up in system-level sharing UIs, alongside platform-specific apps.
С конца июля TypeScript опережает Babel по количеству скачиваний в npm и эта разница стремительно растёт
https://www.npmtrends.com/typenoscript-vs-babel-core
https://www.npmtrends.com/typenoscript-vs-babel-core
Как справедливо заметил @pterolex, на графике в предыдущем сообщении учитывается Babel 6. Совсем забыл, что мы давно перешли под неймспейс 😅🤦♂️.
Правильный график вот тут и Babel всё ещё лидирует.
Правильный график вот тут и Babel всё ещё лидирует.
Npmtrends
typenoscript vs @babel/"/"/"/"/"/"/><link rel="canonical | npm trends
Compare npm package download statistics over time: typenoscript vs @babel/"/"/"/"/"/"/><link rel="canonical
@maxgraey предлагает вычесть из скачиваний
https://www.npmtrends.com/typenoscript-vs-@babel/core-vs-@babel/preset-typenoscript
@babel/core скачивания @babel/preset-typenoscript, и в этом случае TS и Babel практически сравниваются. На этом про TS vs Babel на сегодня всё :)https://www.npmtrends.com/typenoscript-vs-@babel/core-vs-@babel/preset-typenoscript
Npmtrends
npm trends: Compare NPM package downloads
Which NPM package should you use? Compare NPM package download stats over time. Spot trends, pick the winner.
Создана новая Unicode Working Group — Message Formatting. Рабочая группа представлена сотрудниками Amazon, Dropbox, Facebook, Google, IBM, Mozilla, OpenJSF и Paypal и будет заниматься разработкой нового стандарта для форматирования текста. Текущая версия ICU Message Format сложна для различных форм слова (таких как род, число и др), поэтому было решено создать новую с учётом всех проблем ICU.
https://github.com/unicode-org/message-format-wg
https://github.com/unicode-org/message-format-wg
GitHub
GitHub - unicode-org/message-format-wg: Developing a standard for localizable message strings
Developing a standard for localizable message strings - unicode-org/message-format-wg
Статья о том, как команда Chrome сотрудничает с опенсорс фреймворками, библиотеками и инструментами.
https://web.dev/advancing-framework-ecosystem-cds-2019/
https://web.dev/advancing-framework-ecosystem-cds-2019/
web.dev
Advancing the web framework ecosystem | Articles | web.dev
Learn about how Chrome is investing efforts in a number of open-source tools to advance the JavaScript ecosystem
Во всех последних версиях версиях Firefox и Thunderbird найдена критическая уязвимость, позволяющая получить контроль над системой атакуемого. Уязвимость была обнаружена в оптимизирующем JIT компиляторе JavaScript IonMonkey и уже широко использовалась.
Mozilla
Security Vulnerabilities fixed in Firefox 72.0.1 and Firefox ESR 68.4.1
WICG предлагает добавить Compression Streams API для использования gzip и deflate (в будущем планируются и другие алгоритмы, например brotli) для прикладных задач в веб платформе. Уже сейчас можно попробовать новое API в Chrome Canary в демо, которое так же демонстрирует использование Native File System API
GitHub
WICG/compression
Standard text for CompressionStream and DecompressionStream API - WICG/compression
Вышел TypeScript 3.8 Beta. Очень класссный релиз, в котором:
- Type-Only Imports and Export
- приватные поля классов (stage 3)
- export * as ns
- top-level await (stage 3)
- поддержка
- продвинутая поддержка file-watching
- дополнительная настройка для быстрого тайпчекинга
- Type-Only Imports and Export
- приватные поля классов (stage 3)
- export * as ns
- top-level await (stage 3)
- поддержка
@public, @private и @protected в JSDoc- продвинутая поддержка file-watching
- дополнительная настройка для быстрого тайпчекинга
Microsoft News
Announcing TypeScript 3.8 Beta
Today we’re announcing the availability of TypeScript 3.8 Beta! This Beta release contains all the new features you should expect from TypeScript 3.8’s final release. To get started using the beta, you can get it through NuGet, or through npm with the following…
Вышел Babel 7.8.0. Тоже классный релиз, в котором:
- поддержка ES2020 фич по умолчанию (nullish coalescing и optional chaining)
- поддержка разных форматов файлов конфигурации
- новые параметры CLI для конфигурации вывода
Также в статье новости о будущем релизе Babel 8, о котором можно почитать подробнее вот тут.
- поддержка ES2020 фич по умолчанию (nullish coalescing и optional chaining)
- поддержка разных форматов файлов конфигурации
- новые параметры CLI для конфигурации вывода
Также в статье новости о будущем релизе Babel 8, о котором можно почитать подробнее вот тут.
babeljs.io
7.8.0 Released: ECMAScript 2020, .mjs configuration files and @babel/cli improvements · Babel
This is the first release of the year! 🎉
Оказывается команда SpiderMonkey (JavaScript движок, используемый в Firefox) недавно завела блог, в котором публикует новости об изменениях в движке. В последней новостной рассылке есть много всего интересного:
- обновление
- Project Visage — новый фронтенд (парсер и эмиттер байткода) для JavaScript, написанный на языке Rust
- улучшения парсера
- Project Stencil — новый формат данных, генерируемых парсером
- движок для регулярных выражений будет заменён на тот, что используется в V8
- упрощение байткода
- устаревшие
- улучшения дебаггера
- улучшения производительности
- в Nightly появился флаг, включающий поддержку JS BigInt <-> wasm I64 conversion
- продолжается работа над уже добавленными #WebAssembly пропозалами Reference types и bulk memory
- много улучшений Cranelift — кодогенератора, который в будущем будет использоваться для оптимизирующего компилятора WebAssembly
- ведётся работа на WebAssembly пропозалом multi-value
- ведётся работа над включением SharedArrayBuffer по умолчанию
- начата работа по добавлению WebAssembly пропозала exception handling
- обновление
Intl.DateTimeFormat.prototype.formatToParts до актуальной версии, соответствующей последним изменениям в спецификаци- Project Visage — новый фронтенд (парсер и эмиттер байткода) для JavaScript, написанный на языке Rust
- улучшения парсера
- Project Stencil — новый формат данных, генерируемых парсером
- движок для регулярных выражений будет заменён на тот, что используется в V8
- упрощение байткода
- устаревшие
toSource и uneval убраны из движка- улучшения дебаггера
- улучшения производительности
Array.prototype.reverse и BigInt- в Nightly появился флаг, включающий поддержку JS BigInt <-> wasm I64 conversion
- продолжается работа над уже добавленными #WebAssembly пропозалами Reference types и bulk memory
- много улучшений Cranelift — кодогенератора, который в будущем будет использоваться для оптимизирующего компилятора WebAssembly
- ведётся работа на WebAssembly пропозалом multi-value
- ведётся работа над включением SharedArrayBuffer по умолчанию
- начата работа по добавлению WebAssembly пропозала exception handling
spidermonkey.dev
Newsletter 2 (Firefox 73)
Happy new year from the SpiderMonkey team!