Fork me on GitHub

2021-10-12: npm 8.0.0(Node.js 16에 포함), jQuery Mobile 비권장 / jQuery UI는 유지 관리 모드로, ESLint 8

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #561 - npm 8.0.0이 릴리스됐다.

Node.js 10 지원 종료, Node.js 모듈(require("npm"))로 이용하는 방법 지원 종료됐다.

이미 npm 8은 Node v16.11.0에 포함돼 있다. 따라서 2021-10-26에 릴리스 될 예정인 Node.js 16 LTS에도 포함될 예정.


jQuery UI 1.13.0가 릴리스 됐다.

jQuery 1.7 이하 지원 종료하고 1.8 이후 부터 최신 버전을 포함하여 jQuery에 대응.
이 릴리스를 통해 jQuery UI는 유지 관리 모드로 전환 되며 이후로는 버그 수정이나 보안 수정만 주로 이뤄지게 된다.

또, 이와 동시에 jQuery Mobile는 Deprecated 됐다.


ESLint 8.0.0이 릴리스 됐다.

비호환 변경으로 Node 10 지원 종료, codeframetable 포메터를 코어에서 삭제, eslint:recommended 갱신이 이뤄졌다.
또, ESLint 클래스를 추가하면서 CLIEngine 클래스 삭제, eslint/lib 엔트리 포인트 삭제, 플러그인 관련해서도 일부 내용이 변경됐다.
따라서 일부 외부 규칙이 ESLint 8에서는 동작하지 않을 가능성이 있다.

기능 추가로는 ES2020 지원, 사용되지 않는 eslint-disable 주석을 삭제할 수 있게 됐다.

마이그레이션 가이드는 아래 문서에 공게돼 있다.


헤드라인


Release v8.0.0 · npm/cli

github.com/npm/cli/releases/tag/v8.0.0

npm ReleaseNote

npm 8.0.0 릴리스.
Node.js 10 지원 종료, Node.js 모듈(require("npm"))로의 접근 지원 종료.
2021-10-26에 릴리스 예정인 Node.js 16 LTS에 포함된다.


Release v4.0.0 · immutable-js/immutable-js

github.com/immutable-js/immutable-js/releases/tag/v4.0.0

JavaScript library ReleaseNote

immutable-js v4.0.0 릴리스.
MIT 라이센스로 변경, TypeScript와 Flow 타입 개선, 공식 문서 갱신.
비호환 변경으로 mergemergeDeep의 동작 방식 변경, Iterable을 Collection으로 이름 변경, 일부 API를 삭제하거나 추가 했다.
또, Collection이 ECMAScript의 Iterable protocol을 구현하도록 변경됐다.


Node v16.11.0 (Current) | Node.js

nodejs.org/en/blog/release/v16.11.0/

node.js ReleaseNote

Node.js v16.11.0 릴리스.
npm 8.0.0를 내포하는 버전.


Lots to see in Firefox 93! - Mozilla Hacks - the Web developer blog

hacks.mozilla.org/2021/10/lots-to-see-in-firefox-93/

Firefox ReleaseNote

Firefox 93릴리스.
AVIF 지원, ECMAScript Proposal Stage 4의 Static initialization blocks 지원.
ElementInternals.shadowRootHTMLElement.attachInternals 지원.


jQuery UI 1.13.0 released | jQuery UI Blog

blog.jqueryui.com/2021/10/jquery-ui-1-13-0-released/

jQuery GUI library

jQuery UI 1.13.0 릴리스.
jQuery 1.7 이하 지원 종료하고 1.8 이후 부터 최신 버전을 포함하여 jQuery에 대응.
이 릴리스를 통해 jQuery UI는 유지 관리 모드가 되며 향후에는 보안이나 버그 수정만 이뤄진다.


jQuery maintainers continue modernization initiative with deprecation of jQuery Mobile - OpenJS Foundation

openjsf.org/blog/2021/10/07/deprecation-of-jquery-mobile/

jQuery mobile ReleaseNote library

jQuery Mobile은 2021-10-07을 들어 Deprecated 됐다.


Release v0.39.0 · nvm-sh/nvm

github.com/nvm-sh/nvm/releases/tag/v0.39.0

npm Tools

Node 버전 관리 도구 nvm 0.39.0 릴리스.
WSL / MSYS / Cygwin 환경의 Windows를 지원한다.


ESLint v8.0.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2021/10/eslint-v8.0.0-released

ESLint ReleaseNote

ESLint v8.0.0 릴리스.
비호환 변경으로 Node 10 지원 종료, codeframetable 포메터를 코어에서 삭제, eslint:recommended 갱신.
또, ESLint 클래스를 추가하면서 CLIEngine 클래스를 삭제, eslint/lib의 엔트리 포인트도 삭제.
추가된 기능으로는 ES2020 지원, 사용되지 않는 eslint-disable 주석을 삭제할 수 있게 됐다.


Release v5.0.0 · typescript-eslint/typescript-eslint

github.com/typescript-eslint/typescript-eslint/releases/tag/v5.0.0

ESLint TypeScript ReleaseNote

TypeScript ESLint 5.0.0 릴리스.
ESLint 8로 업데이트, Node 10 지원 종료.
eslint-recommended 규칙 갱신, 일부 규칙 변경, AST 갱신 등이 이뤄졌다.


아티클


Safe DOM manipulation with the Sanitizer API

web.dev/sanitizer/

WebPlatformAPI security JavaScript article

Sanitizer API 제안(Proposal)을 소개.
HTML 문자열을 새니타이즈 하는 API와 Element#setHTML에서 설정하는 방법.
DomPurify 등과는 다르게 새니타이즈한 HTML 문자열 자체가 아닌 HTMLElement을 반환하는 API로 설계돼 있다.


Web Streams Everywhere (and Fetch for Node.js) | CSS-Tricks

css-tricks.com/web-streams-everywhere-and-fetch-for-node-js/

node.js WHATWG stream article

Web Streams API 소개.
기본적인 사용 방법, Node 17부터 이용할 수 있는 Node.js Stream에서 변경하는 방법.


슬라이드, 영상


Have Single-Page Apps Ruined the Web? | Transitional Apps with Rich Harris, NYTimes - YouTube

www.youtube.com/watch?v=860d8usGC0o

JavaScript opinion video

SPA와 MPA에 대한 이야기.
SPA에는 성능 등의 단점이 있고, MPA에는 네비게이션, 상태 관리 등에 단점이 있다.
애플리케이션은 SPA와 MPA로 따로 분리할 수 있는게 아니며, Next.js나 SvelteKit 등은 양쪽의 장점을 취하는 접근법을 갖고 있다. 이러한 것을 TransitionalApps라고 부르자는 이야기.


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


lukeed/tsm: TypeScript Module Loader

github.com/lukeed/tsm

TypeScript ECMAScript module Tools

Node.js의 --loader--require에 대응한 TypeScript loader 라이브러리(ts-node는 지원 안하는가 봄?).
ts-node와 같이 다룰 수 있는 도구. 내부에서는 esbuild를 사용하고 있다.


Core:Manipulation: Add basic TrustedHTML support by mgol · Pull Request #4927 · jquery/jquery

github.com/jquery/jquery/pull/4927

jQuery XSS security issue

jQuery에 Trusted Types 지원이 구현됐다.
jQuery 4.0에 포함될 예정.


google/safevalues

github.com/google/safevalues

JavaScript security library DOM

Trutsted Types 기반으로 HTML, JavaScript, URL 문자열을 처리하는 헬퍼 라이브러리.

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