JSer.info #326 - React 15.5.0이 릴리즈됐습니다.
마이너한 릴리즈지만 몇몇 기능을 사용할 때 비권장 경고가 출력되도록 변경됐습니다. 이는 향후 16.0 버전에서 변경되는 인터페이스를 고려한 부분입니다.
리액트 라이브러리에 포함돼 있던 React.PropTypes
와 React.createClass
는 각각 prop-types와 create-react-class 패키지로 분리됐습니다.
이 변경에 관한 마이그레이션 스크립트는 react-codemod를 통해 공개돼 있습니다.
또, 새로 추가된 API나 변경된 인터페이스를 이용해 쉽게 대체할 수 있는 React Addons 패키지 몇개는 공식적으로 지원이 종료되게 됩니다.
ESLint v4.0.0의 알파(α) 버전이 릴리즈됐습니다.
- ESLint v4.0.0-alpha.0 released - ESLint - Pluggable JavaScript linter
- ESLint v4.0.0의 변경사항 정리 - Qiita
npm install eslint@next --save-dev
위 명령어를 이용해 알파 버전을 설치할 수 있습니다.
빌트인 eslint:recommend
규칙이 변경됐고 indent
규칙이 더 엄격하게 검사되도록 변경됐습니다. 또, .eslintrc
파일을 잘못 작성(맞춤법 오류, 지원하지 않는 속성 기재 등)하는 경우 ESLint에서 오류가 발생하게 되는 등 여러가지 기능이 변경됐습니다.
자세한 변경 사항(에정)은 아래 마이그레이션 가이드에 자세히 작성돼 있으니 참고하시길 바랍니다.
Ember의 View 레이어를 담당하고 있는 렌더링(템플릿) 엔진인 Glimmer의 사이트가 공개됐습니다.
이미 Ember 2.10에 Glimmer2가 포함돼 있었습니다만 이번에 Glimmer를 별도의 컴포넌트 라이브러리로써 사용할 수 있도록 공개 됐습니다.
Glimmer에 관해서는 아래 문서에 자세히 소개돼 있으니 함께 읽어보시길 바랍니다.
헤드라인
Video.js 6.0 Release! | Video.js Blog
blog.videojs.com/Video-js-6-0-Release/
Video.js 6.0이 릴리즈됐습니다.
Flash가 코어에서 제거됐으며 middleware와 관련된 변경이 이뤄졌습니다. 또, DOM 관련 메서드를 videojs.dom
으로 이전할 것으로 보입니다.
release: [email protected] by zkat · Pull Request #16244 · npm/npm
차후 릴리즈 예정인 npm 5.5.5 베타(β)에 관해 자세히 알 수 있는 PR 입니다.
npm install
를 이용해 상대 경로로 패키지를 설치할 때 symlink를 만들도록(file:
이 아닌 link:
로) 변경되며 캐시 시스템의 개선됩니다. 또, --prefer-offline
과 --ofline
추가됩니다.
앞으로 git://
프로토콜 에서도 semver를 지정할 수 있도록 제공되며 npm install
의 결과가 개요(summary) 형식으로 출력되도록 변경됩니다.
Release 0.19.0 · avajs/ava
github.com/avajs/ava/releases/tag/v0.19.0
AVA 0.19.0이 릴리즈됐습니다.
assertion이 하나라도 실행되지 않는 테스트는 기본적으로 실패되도록 변경됐으며 t.throws()
의 비동기 테스트와 관련된 부분이 개선됐습니다. 또, 비동기 테스트 시 진행되지 않고 멈춰있는(hanging) 것을 감지할 수 있도록 개선됐습니다.
Release v2.0.0-rc.0 · lerna/lerna
github.com/lerna/lerna/releases/tag/v2.0.0-rc.0
monorepo 관리 도구인 lerna 2.0.0 RC 버전이 릴리즈됐습니다.
--conventional-commits
로 conventional-commits 기반의 CHANGELOG를 만들 수 있게 됐습니다.
ESLint v4.0.0-alpha.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2017/04/eslint-v4.0.0-alpha.0-released
ESLint 4.0.0 알파(α) 버전이 릴리즈됐습니다.
eslint:recommend
규칙이 변경됐고 indent
규칙이 더 엄격하게 검사되도록 변경됐습니다. 또, AST nodes에서 코멘트 속성이 삭제되고 대신 코멘트를 얻을 수 있는 공개 API가 공개됐습니다.
Release v1.6.0 · karma-runner/karma
github.com/karma-runner/karma/releases/tag/v1.6.0
Karma v1.6.0이 릴리즈됐습니다.
browser_info
이벤트가 추가 됐고 proxyRes
와 proxyReq
이벤트를 hook 할 수 있도록 변경됐습니다.
React v15.5.0 - React Blog
facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
React 15.5.0이 릴리즈됐습니다.
라이브러리에 포함돼 있던 React.PropTypes
와 React.createClass
가 비권장되고 각각 별도의 패키지로 분리됐습니다.
react-codemod
를 사용하여 마이그레이션할 수 있습니다.
- React 15.5로의 업데이트 순서(prop-types와 React.createClass) - Qiita(일본어)
- All doc updates forv15.5 by flarnie · Pull Request #9359 · facebook/react
Release Notes for Safari Technology Preview 27 | WebKit
webkit.org/blog/7497/release-notes-for-safari-technology-preview-27/
Safari Technology Preview Release 27이 릴리즈됐습니다.
Object spread/rest property와 window.open
에 noopener
가 구현됐으며 Web Inspector가 개선됐습니다. 또, Web Cryptography API에서 SPKI/PKCS8를 대응하는 등 다양한 변경 사항이 있습니다.
Ember.js - EmberConf 2017: State of the Union
emberjs.com/blog/2017/04/05/emberconf-2017-state-of-the-union.html
Ember.js의 역사와 현재에 관해 작성돼 있습니다.
독립적으로 사용할 수 있게 된 컴포넌트 레이어 도구 Glimmer에 관해서 소개돼 있습니다.
Glimmer
Ember로 부터 분리돼 독자 컴포넌트로써 사용할 수 있게된 뷰 레이어 라이브러리 Glimmer의 공식 사이트입니다.
Release 8.0.0 · developit/preact
github.com/developit/preact/releases/tag/8.0.0
Preact 8.0.0(8.1.0)이 릴리즈됐습니다.
Pure Functional Components를 재작성하고 linkState
를 별도의 패키지로 분리했습니다. 또, 객체를 직렬화해 className
으로 표현하는 방식을 폐기하고 classnames 패키지 사용을 권고하는 등 다양한 변경 사항이 있습니다.
Release Version 3.0.0 · sweet-js/sweet.js
github.com/sweet-js/sweet.js/releases/tag/v3.0.0
Hygienic Macros를 지원하는 sweet.js 3.0.0이 릴리즈됐습니다.
아티클
How we built Twitter Lite | Twitter Blogs
blog.twitter.com/2017/how-we-built-twitter-lite
Twitter Lite의 기술 스택에 관해 소개돼 있습니다.
React, Redux, Normalizr, Globalize, Babel, Webpack, Jest, WebdriverIO 등을 사용하고 있다고 합니다.
성능을 위해 PRPL 패턴을 사용하고 requestAnimationFrame
이나 requireIdleCallback
을 사용해 렌더링 성능을 조절한 부분도 소개돼 있습니다.
Introducing ReactXP - ReactXP Blog
microsoft.github.io/reactxp/blog/2017/04/06/introducing-reactxp.html
React/React Native 기반의 크로스 플랫폼 UI 프레임워크를 소개합니다.
공통된 컴포넌트를 여러 플랫폼에서 사용할 수 있도록 하는게 목적으로 MS의 Skype 팀이 만들고 있습니다.
GraphQL & React tutorial (part 1/6) – Chroma
blog.hichroma.com/graphql-react-tutorial-part-1-6-d0691af25858
GraphQL에 관한 연재글입니다.
컴포넌트 주도 개발과 스키마 퍼스트 접근법이 소개돼 있습니다.
How to Create a Reddit Client Using Angular 4.0 - Progur!
progur.com/2017/03/how-to-create-reddit-client-with-angular-4.html
Angular v4으로 Reddit의 API로 데이터를 가져와 목록을 출력하는 과정을 예제로 한 튜토리얼 글입니다.
MathJax CDN shutting down on April 30, 2017
www.mathjax.org/cdn-shutting-down/
곧 MathJax CDN이 종료되기 때문에 사용 중인 파일을 로컬에 복사하거나 cloudflare를 이용할 필요가 있다는 공지 글입니다.
슬라이드, 영상
The Quest For Immer Mutable State Management
MobX에서의 Snapshot + mutable state tree에 관해 소개하는 슬라이드입니다.
풀/푸쉬 기반(Pull/Push-based) computed property 소개, Mutable State에서 Action을 리플레이 하기 위해 어떠한 방법을 사용해야 하는지 이야기합니다.
- Michel Weststrate: MobX: The Quest For Immer Mutable State Management - YouTube
- mobxjs/serializr: Serialize and deserialize complex object graphs to JSON
ng-conf 2017 - YouTube
www.youtube.com/watch?v=Nj9_p4qvm5U
ng-conf 2017 행사의 발표 영상이 공개됐습니다.
- ng-conf 2017 Summary - Day 1
- ng-conf 2017 1일째 Keynote 메모 | <output type="laco">(일본어)
- Long Term Support for Angular Announced at ng-conf 2017
Publish JavaScript packages on npm - Course by @trevordmiller @eggheadio
egghead.io/courses/publish-javascript-packages-on-npm
npm 패키지나 script에 관해 설명하는 스크린 캐스트 입니다.
소프트웨어, 도구, 라이브러리
Stylelint generator
maximgatilin.github.io/stylelint-config/
Stylelint의 설정 파일을 하나하나 선택해서 만들 수 있는 제너레이터 사이트 입니다.
mobxjs/serializr: Serialize and deserialize complex object graphs to JSON
클래스의 객체를 직렬화 또는 역직렬화할 수 있는 라이브러리입니다.
도서
ukyo/wasm-usui-book: webassembly에 관한 얇은 책
github.com/ukyo/wasm-usui-book
wasm에 관해 작성돼 있는 전자 서적입니다.
wasm의 개요, WABT를 사용한 개발, 파이너리 포멧이나 텍스트 포멧 등에 관해 적성돼 있습니다.