Fork me on GitHub

2019-03-26: Babel 7.4.0과 core-js 3.0.0 릴리스, Chrome 74 beta. GAS 입문

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #428 - Babel 7.4.0이 릴리스됐습니다.

TypeScript 3.4 RC에 추가된 readonly 파싱을 지원하며 core-js v3으로 갱신했습니다.

또 ECMAScript의 제안(proposal)인 Partial application Syntax(Stage 1), Private Static Class Methods(Stage 3)를 지원합니다.

ECMAScript 제안 기능도 폴리필 지원하는 라이브러리 core-js 3.0.0이 릴리스됐습니다.

ECMAScript 사양과 제안을 대응하며 Reflect.enumerateRegExp.escape등 버려진 제안이 삭제됐습니다.
또 이번 버전부터 패키지를 3개(core-js, pure, bundle)로 나눠 공개됩니다.

  • core-js: 폴리필, 글로벌을 덮어씀
  • core-js-pure: 글로벌을 덮어쓰지 않는 폴리필(ponyfill 참고)
  • core-js-bundle: core-js를 bundle한 패키지

Chrome 74 beta가 릴리스됐습니다. 그리고 V8 7.4 릴리스 노트도 함께 공개됐습니다.

Chrome 74 beta에서는 CSS prefers-reduced-motion: reduce, private class field, Feature Policy의 JavaScript API, Intl.Locale 등을 지원합니다.
window.open을 unload 내에서 호출할 수 없도록 하는 변경 사항도 포함됐습니다.


헤드라인


Release v7.4.0 · babel/babel

github.com/babel/babel/releases/tag/v7.4.0

babel JavaScript ReleaseNote

Babel v7.4.0가 릴리스됐습니다.
core-js v3으로 갱신, Partial application Proposal, Private Static Class Methods Proposal 등을 지원합니다.


Release 3.0.0 - 2019.03.19 · zloirock/core-js

github.com/zloirock/core-js/releases/tag/v3.0.0

JavaScript polyfill library ReleaseNote

core-js 3.0.0이 릴리스됐습니다.
ECMAScript 사양과 제안에 대응했고 버려진 제안을 삭제했습니다.
또, 패키지를 3개(core-js,pure,bundle)로 나눠 배포했으며 LiveScript를 JavaScript로 재작성했습니다.


Firefox 66.0, See All New Features, Updates and Fixes

www.mozilla.org/en-US/firefox/66.0/releasenotes/

firefox ReleaseNote

Firefox 66.0이 릴리스됐습니다.
미디어 자동 재생이 기본적으로 차단되도록 변경됐으며 Windows Hello를 지원하고 AV1이 효율적으로 개선됐습니다.
또, 스크린을 쉐어할 수 있는 getDisplayMedia API, CSS Scroll Anchoring, 속성 셀렉터에서 대문자를 무시하는 i 플래그를 지원합니다.


LLVM 8.0.0 Release Notes — LLVM 8 documentation

releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-webassembly-target

LLVM WebAssembly ReleaseNote

LLVM 8.0.0이 릴리스됐습니다.
WebAssembly Target을 시험적(experimental)이 아니라 기본적인 Target으로써 지원합니다.


Release v2.5.0 · nuxt/nuxt.js

github.com/nuxt/nuxt.js/releases/tag/v2.5.0

Vue JavaScript library ReleaseNote

Nuxt.js 2.5.0이 릴리스됐습니다.
이제 Nuxt.js 자체에서 TypeScript 지원합니다. 애써 nuxt-ts를 설치하지 않아도 됩니다.
또, Babel 7.4과 core-js 3로 갱신했으며 .nuxtignore를 지원합니다.


Release Notes for Safari Technology Preview 78 | WebKit

webkit.org/blog/8676/release-notes-for-safari-technology-preview-78/

safari webkit ReleaseNote

Safari Technology Preview 78이 릴리스됐습니다.
Pointer Events를 기본적으로 활성화했으며 개발자 도구에서 CPU 사용율과 에너지 영향(energy impact)에 대해 살펴 볼 수 있습니다.


Chromium Blog: Chrome 74 beta: reducing unwanted motion, private class fields, and feature policy API

blog.chromium.org/2019/03/chrome-74-beta-reducing-unwanted-motion.html

Chrome ReleaseNote

Chrome 74 beta가 릴리스됐습니다.
CSS prefers-reduced-motion: reduce, private class field, Feature Policy의 JavaScript API, Intl.Locale을 지원합니다.
window.open을 unload 내에서 호출할 수 없도록 변경됐습니다.


V8 release v7.4 · V8

v8.dev/blog/v8-release-74

V8 ReleaseNote

V8 v7.4가 릴리스됐습니다.
JIT-less 옵션이 추가됐고 WebAssembly Threads, Private class fields, Intl.Locale 등을 지원합니다.


Release v7.0.0-beta.0 · reduxjs/react-redux

github.com/reduxjs/react-redux/releases/tag/v7.0.0-beta.0

React redux ReleaseNote

React-Redux 7β가 릴리스됐습니다.
useRedux() Hooks API를 지원하며 Batched Updates를 대응했습니다. store를 Props으로 전달하는 기능을 테스트하기 위해 일부 재구현했습니다.


React Training: React Router v5

reacttraining.com/blog/react-router-v5/

React library ReleaseNote

React Router 5가 릴리스됐습니다.
React 16와의 호환성이 개선됐으며 bundle 후의 파일을 배포하도록 변경됐고 <Route path>에 배열을 전달할 수 있도록 수정됐습니다.
사실 마이너 업데이트 사항이지만 react-router-dom의 버전과 맞추기 위해 메이저 업데이트로 릴리스됐습니다.


아티클


ES5 to ESNext — here’s every feature added to JavaScript since 2015

medium.freecodecamp.org/es5-to-esnext-heres-every-feature-added-to-javascript-since-2015-d0c255e13c6e

ECMAScript JavaScript article

ES5 부터 ES.next 사이에 추가된 기능을 소개하는 글입니다.
ES2015, 2016, 2017, 2018, 2019(후보)에 각 추가된 구문과 기능이 정리돼 있습니다.


A complete guide to threads in Node.js – LogRocket

blog.logrocket.com/a-complete-guide-to-threads-in-node-js-4fa3898fe74f

node.js article

Node.js의 worker_threads 모듈에 대해 이야기하는 글입니다.
기본적인 사용법이나 이벤트, threads 사이 메모리 공유, MessageChannel를 사용해 포트(port)로 메시징, 메인스레드를 판정하는 방식에 대해서 소개합니다.


슬라이드, 영상


프로그래머가 아닌 사람들을 위한 GAS 발표 - Google 슬라이드(일본어)

docs.google.com/presentation/d/1nHxLlNwNg23j_bp0JBgRhjUQpnm0E_S5OK4VAXiS2y8/edit#slide=id.g54702a7210_0_0

JavaScript google slide

Google Apps Script(GAS)를 주제로 한 슬라이드 자료입니다.
기본적인 JavaScript 작성 방법 설명 뿐 아니라 스프레드시트에서 동작하는 스크립트와 외부와의 연계에 있어 GAS를 사용하는 방법에 대해 이야기합니다.


소프트웨어, 라이브러리


q-nick/npm-gui: Graphic tool for managing javascript project dependencies - in a friendly way.

github.com/q-nick/npm-gui

npm GUI software

npm의 GUI 도구입니다. 의존 패키지 설치와 갱신, 스크립트 실행 기능이 있습니다.
npm, yarn을 지원합니다.


francisrstokes/hexnut: 🔩 Hexnut is a middleware based, express/koa like framework for web sockets

github.com/francisrstokes/hexnut

WebSocket node.js library

Express/Koa와 비슷한 WebSockets를 기반으로 한 서버 프레임워크입니다.


jakearchibald/idb: IndexedDB, but with promises

github.com/jakearchibald/idb

JavaScript IndexedDB library

IndexedDB를 Promise로 랩핑한 라이브러리입니다.


tomi/fromfrom: A JS library written in TS to transform sequences of data from format to another

github.com/tomi/fromfrom/

JavaScript TypeScript library

LINQ에 영향을 받은 데이터를 변환하는 라이브러리입니다.
데이터 변환 처리를 메서드 체인으로 파이프라인 처리할 수 있습니다.
Iterator를 기반으로 한 구현체로 지연 실행할 수 있습니다.


Pull Request to this article
JSer.info Slackに参加する