Fork me on GitHub

2020-02-25: TypeScript 3.8 정식 릴리스, ESLint 7.0.0 변경 예정 사항

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #476 - TypeScript 3.8이 정식 릴리스 됐습니다.

타입 정의만 가져오거나 내보낼 수 있는 import type / export type이 추가됐고 ECMAScript Proposal Stage 3의 ECMAScript Private Fields, Top-Level await을 지원합니다.

또, tsconfig.jsontargetmodule 옵션에 es2020이 추가됐으며 watchOptions으로 --watch 시의 동작 방식을 설정할 수 있습니다. 이어 assumeChangesOnlyAffectDirectDependencies 컴파일 옵션을 활성화해 "Fast and Loose"한 인크리멘탈 빌드를 사용할 수 있도록 변경됐습니다. 이 옵션을 활성화하면 모든 파일을 확인하고 다시 빌드(rechecking/rebuilding) 하지 않고 변경된 파일만 확인하고 빌드 합니다.


ESLint 7(현재 v7.0.0-alpha.1가 공개돼 있음)의 변경 예정 사항이 정리된 문서가 공개돼 있습니다.

이 문서에는 주로 비호환적 변경 사항에 대해 다루고 있습니다.

Node.js 8.x의 지원을 종료하며 CLIEngine 클래스를 비권장 함과 동시에 ESLint 클래스가 도입될 예정입니다.
ESLint 클래스에 대해서는 RFC에 정리돼 있습니다. 간단하게 기존의 CLIEngine 클래스는 동기적으로 처리했던 것에 비해 ESLint는 비동기 처리에 대응합니다.

또, ESLint에 포함돼 있던 Node.js나 CommonJS 관련 규칙을 eslint-plugin-node로 옮길 예정입니다.
이 외로는 directive comments에 코멘트를 작성할 수 있도록 변경되며 홈 디렉터리에 있는 ~/.eslintrc 이용 시 경고가 출력됩니다. 이어 기본 ignore patterns가 갱신 됩니다.


헤드라인


Announcing TypeScript 3.8 | TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-3-8/

TypeScript ReleaseNote

TypeScript 3.8이 릴리스됐습니다.
import type / export type가 추가됐고 Stage 3의 ES Private Fields와 Top-Level await을 지원합니다.
이어 targetmodule 옵션에 es2020이 추가됐으며 watchOptions--watch 시의 도악ㅈㅇ르 설정할 수 있도록 변경됐습니다.


Node v13.9.0 (Current) | Node.js

nodejs.org/en/blog/release/v13.9.0/

node ReleaseNote

Node v13.9.0이 릴리스 됐습니다.
async_hooks 모듈에 executionAsyncResource가 추가됐고 crypto 모듈에 diffieHellman가 추가됐습니다.
또, Diagnostic Report가 worker_threds를 지원합니다.


Release Initial Release: 1.0.0 · reduxjs/cra-template-redux

github.com/reduxjs/cra-template-redux/releases/tag/v1.0.0

React redux Tools

create-react-app 용 Redux 템플릿 1.0.0이 릴리스됐습니다.
npx create-react-app my-app --template redux 명령어로 설치할 수 있습니다.
Redux Toolkit을 이용하고 있습니다.


Release 3.4.0 · avajs/ava

github.com/avajs/ava/releases/tag/v3.4.0

JavaScript testing ReleaseNote

AVA 3.4.0이 릴리스됐습니다.
테스트 실패없이 Assertion을 살펴볼 수 있는 t.try()를 지원합니다.


아티클


Understanding the “Initial”, “Inherit” and “Unset” CSS Keywords

medium.com/@elad/understanding-the-initial-inherit-and-unset-css-keywords-2d70b7121695

CSS article

CSS의 initial, inherit, unset, revert에 대해서 설명합니다.
CSS 프로퍼티 초기값의 차이와 각 의미에 대해서 작성돼 있습니다.


The Circuit Breaker Pattern

blog.bearer.sh/circuit-breaker-design-pattern/

node article

Node.js로 Circuit Breaker 패턴을 살펴보면서 학습하는 튜토리얼입니다.


가상 DOM은 정말 "빠른가?" DOM 조작의 새로운 사고를 프레임워크를 구현해 이해하자 - 엔지니어Hub|젊은 Web 엔지니어의 커리어를 생각하다!(일본어)

employment.en-japan.com/engineerhub/entry/2020/02/18/103000

VirtualDOM article

Virtual DOM란 무엇이며 어떻게 구현돼 있는지 소개합니다.
왜 Virtual DOM은 느리기 어려운지에 대해서도 이야기합니다.


Aborting a fetch request

meetguns.com/blog/aborting-a-fetch-request/

JavaScript Fetch article

AbortController를 사용해 Fetch의 취소 기능을 구현하는 방법을 소개합니다.


Angular 9: What’s New?

auth0.com/blog/angular-9-whats-new/

Angular article

Angular 9의 변경 사항이 정리돼 있습니다.


What's coming in ESLint v7.0.0 - ESLint - Pluggable JavaScript linter

eslint.org/blog/2020/02/whats-coming-in-eslint-7.0.0

ESLint article

ESLint 7.0.0의 변경 예정 사항에 대해 소개돼 있습니다.
CLIEngine 클래스는 비권장 되며 새로운 ESLint 클래스가 도입됩니다. 그리고 Node.js나 CommonJS와 관계된 규칙은 eslint-plugin-node로 옮겨집니다.
또, directive comments에 코멘트를 작성할 수 있으며 ~/.eslintrc 이용 시 경고가 출력되고 기본 ignore patterns이 갱신됩니다.


소프트웨어, 도구, 라이브러리


benawad/destiny: Prettier for File Structures

github.com/benawad/destiny

JavaScript Tools React

프로젝트의 파일 구조를 컴포넌트 별로 분리되도록 성형하는 도구입니다.


suchipi/hex-engine: A modern 2D game engine for the browser.

github.com/suchipi/hex-engine

canvas game library JavaScript

Canvas를 사용한 2D 게임 엔진 라이브러리입니다. React에서 영감 받아 설계된 API를 제공합니다.
음성 동기, 스프라이트 시트와 에니메이션, 물리 엔진 등을 지원합니다.
또 Aseprite, Tiled, BMFont 등 오쏘링 도구도 제공하고 있습니다.


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