Fork me on GitHub

2019-04-15: jQuery 3.4.0(Sizzle), ESLint 6.0.0 α, react-redux 7.0(Hooks)

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #431 - jQuery 3.4.0이 릴리스됐습니다.

jQuery를 이용해 script 태그를 작성하면 nonce 속성이나 nomodule 속성이 무시됐지만 3.4.0에서 이 문제가 수정됐습니다.
함께 jQuery.extend에 있었던 프로토타입 오염(prototype pollution) 취약점이 수정됐습니다.

또, 3.4.0 부터 jQuery의 CSS 셀렉터 엔진인 Sizzle의 독자적인 셀렉터를 비권장됩니다.
:first, :last, :eq, :even, :odd, :lt, :gt, :nth이 이에 해당합니다.
jQuery 4.0.0에서 Sizzle을 삭제할 예정이며 위 셀렉터는 비표준으로 querySelectorAll에서 사용할 수 없기 때문에 비권장됐습니다.


ESLint 6.0.0 알파 버전이 릴리스됐습니다.

설치된 플러그인을 불러오는 방법이 변경됐기 때문에 전역에 ESLint를 설치해 사용하고 있다면 플러그인은 해당하는 프로젝트 로컬에 설치해야 합니다. 자세한 내용은 마이그레이션 가이드 문서를 참고하세요.
그리고 eslint:recommended가 수정됐고 규칙의 기본 설정이 일부 변경됐으며 설정 파일 유효성 검사가 좀 더 엄격하게 이뤄지도록 변경됐습니다.


React-Redux 7.0이 릴리스됐습니다.

connect 내부가 React.memo와 Hooks API를 사용해 구현됐습니다.
따라서 React-Redux 7는 React 16.8.4 이상의 환경을 요구하게 됐습니다.
또, Hooks API를 사용한 커스텀 훅 useRedux()도 향후 구현해 제공할 예정입니다.

이 외로 Subscription의 동작 변경, batch API 추가, store를 Props로 전달하는 기능을 시험하기 위한 재구현이 이뤄졌습니다.


헤드라인


jQuery 3.4.0 Released | Official jQuery Blog

blog.jquery.com/2019/04/10/jquery-3-4-0-released/

jQuery ReleaseNote

jQuery 3.4.0이 릴리스됐습니다.
script 태그 작성 시 nomodulenonce를 지원하며 Object.prototype 오염 취약점이 수정됐고 Sizzle이 독자적으로 지원하는 CSS 셀렉터가 비권장됐습니다.


Ember.js - Ember 3.9 Released

blog.emberjs.com/2019/04/10/ember-3-9-released.html

JavaScript library ReleaseNote

Ember 3.9가 릴리스됐습니다.
jQuery를 기본 환경에서 제거하기 위해 Ember.$() 등이 비권장됐고 .volatile().property()가 아닌 네이티브 getter/setter를 이용하도록 변경됐습니다.


ESLint v6.0.0-alpha.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2019/04/eslint-v6.0.0-alpha.0-released

ESLint ReleaseNote

ESLint 6.0.0 알파 버전이 릴리스됐습니다.
설치된 플러그인을 불러오는 방법이 변경됐습니다. 그리고 eslint:recommended가 수정됐고 규칙의 기본 설정이 일부 변경됐습니다.


Node v11.14.0 (Current) | Node.js

nodejs.org/en/blog/release/v11.14.0/

node.js ReleaseNote

Node.js 11.14.0이 릴리스됐습니다.
fs.promisesreadlineSymbol.asyncIterator 대응이 Stable로 전환됐습니다.


Release v7.0.1 · reduxjs/react-redux

github.com/reduxjs/react-redux/releases/tag/v7.0.1

React redux ReleaseNote

React-Redux 7.0이 릴리스됐습니다. connectReact.memo와 Hooks API를 사용해 구현됐으며 Subscription의 동작 변경이 이뤄졌습니다. 또, batch API가 추가됐고, store를 Props으로 전달하는 기능을 시험하기 위해 재작성됐습니다.


Prettier 1.17: More quotes options and support for shared configs · Prettier

prettier.io/blog/2019/04/12/1.17.0.html

JavaScript Tools ReleaseNote

Prettier 1.17이 릴리스됐습니다.
객체의 quote을 설정 하는 --quote-props가 추가됐으며 shared config를 지원하고 TypeScript 3.4의 readonly 수식자를 지원합니다.


아티클


Form Validation in Under an Hour with Vuelidate | CSS-Tricks

css-tricks.com/form-validation-in-under-an-hour-with-vuelidate/

Vue library article

Vue의 폼 검증 라이브러리인 Vuelidate를 소개하는 글입니다.


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


CatSnake11/Webpack-Ops: 📁 Webpack bundle visualization // optimization // config tool

github.com/CatSnake11/Webpack-Ops

webpack Tools

webpack 대시보드 애플리케이션입니다.
bundle 결과 시각화, 최적화 플러그인을 애플리케이션 내에서 실행해보거나 설정 파일을 UI로 쉽게 생성할 수 있습니다.


commenthol/date-holidays: worldwide holidays

github.com/commenthol/date-holidays

JavaScript library

공휴일을 판정하는 라이브러리입니다.
각국에 대한 공휴일 정보를 갖고 있습니다.


niklasvh/html2canvas: Screenshots with JavaScript

github.com/niklasvh/html2canvas

JavaScript HTML canvas library browser

HTML 랜더링 결과를 Canvas에 그려 스크린샷을 찍을 수 있는 자바스크립트 라이브러리입니다.


seek-oss/playroom: Design with JSX, powered by your own component library.

github.com/seek-oss/playroom

React Tools UI

JSX/React 컴포넌트 플레이그라운드 도구입니다.
여러 표현 범위(viewport)에서 실행해보면서 컴포넌트를 프로토타이핑 할 수 있습니다.


packem/packem: 📦⚡ A precompiled JavaScript module bundler

github.com/packem/packem

JavaScript Rust Tools bundler

Rust로 개발한 JavaScript 모듈 번들러입니다.
JavaScript로 플러그인을 만들어 확장도 할 수 있습니다.

  • 저장소엔 Rust 코드가 없습니다. 개발자가 개인 저장소에서 따로 관리하고 있는 것 같습니다(참고)

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