Fork me on GitHub

2018-02-05 JS: AVA 1.0.0β, TypeScript 2.7, MDN의 브라우저 호환성 정보

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #369 - 테스트 프레임워크 AVA 1.0.0β가 공개됐습니다.

Babel 7β를 사용하며 이 영향으로 powerAssert 등 기존 변환 옵션이 변경됐습니다.
babelcompileEnhancements 옵션을 제공, 통일적으로 관리할 수 있게 돼 있으며 두 옵션 모두 false로 지정하면 Babel을 사용한 변환을 일절 하지 않습니다.

{
  "ava": {
    "babel": false,
    "compileEnhancements": false
  }
}

test 함수의 첫 번째 인수로 테스트의 제목을 필수로 전달해야 하므로 이제 아래와 같이 제목 없는 테스트는 이용할 수 없습니다.

// 에러
test(t => t.pass());

AVA 1.0.0β는 ava@next로 사용해 볼 수 있습니다.

npm install ava@next

TypeScript 2.7이 릴리스 됐습니다.

클래스 필드의 초기화 검사를 엄격히 실시하는 strictPropertyInitialization과 Definite assignment assertions(!)가 추가됐습니다. 또, Babel 그리고 Webpack과 동일한 런타임 동작을 위한 --esModuleInterop 컴파일 옵션을 제공합니다.

자세한 내용은 아래 일본어 기사를 참고하세요.


MDN browser compatibility data: Taking the guesswork out of web compatibility – Mozilla Hacks – the Web developer blog에는 MDN이 제공하는 브라우저 호환성 데이터와 이 데이터를 사용하는 방법에 관해 작성돼 있습니다.

MDN의 기능 레퍼런스 페이지에는 그 기능을 지원하고 있는 브라우저나 버전 목록 정보가 제공되고 있습니다.
이 데이터는 mdn-browser-compat-data라는 npm 패키지로도 사용할 수 있게 됐습니다. 프로젝트 저장소는 다음과 같습니다.


헤드라인


Node v9.5.0 (Current) | Node.js

nodejs.org/en/blog/release/v9.5.0/

node.js ReleaseNote

Node v9.5.0이 릴리스 됐습니다.
performance.clearEntries(name)를 지원하며 cluster.settingscwd 옵션이 추가됐습니다.


Announcing TypeScript 2.7 | TypeScript

blogs.msdn.microsoft.com/typescript/2018/01/31/announcing-typescript-2-7/

TypeScript ReleaseNote

TypeScript 2.7이 릴리스 됐습니다.
클래스 프로퍼티의 Strict 옵션, Definite assignment assertions(!), Babel 그리고 Webpack과 동일한 런타임 동작을 위한 --esModuleInterop 컴파일 옵션 등이 추가됐습니다. 또, Tuple, in, instanceof 오브젝트 리터럴의 디자인이 개선됐습니다.


Release 1.0.0-beta.1 · avajs/ava

github.com/avajs/ava/releases/tag/v1.0.0-beta.1

JavaScript testing library

AVA 1.0.0β가 릴리스 됐습니다.
Babel 7β를 사용하며 test 작성히 테스트의 제목을 필수로 지정하도록 변경 됐습니다. 또, powerAssert의 비활성화 옵션을 babelcompileEnhancements 옵션 절에서 관리할 수 있도록 변경 됐습니다.


V8 JavaScript Engine: V8 release v6.5

v8project.blogspot.com/2018/02/v8-release-65.html

V8 ReleaseNote

V8 6.5가 릴리스됐습니다.
Unstruted code mode가 기본적으로 활성화 됐으며 WebAssembly의 Streaming compilation을 지원합니다. 또, 배열과 Array 메서드의 개선이 이뤄졌습니다.


아티클


Bootstrap 4.0 Release: What’s New?

auth0.com/blog/whats-new-in-bootstrap4/

CSS library article

BootStrap 4.0의 변경 사항에 대해 정리돼 있는 글입니다.


Stimulus 1.0: A modest JavaScript framework for the HTML you already have

m.signalvnoise.com/stimulus-1-0-a-modest-javascript-framework-for-the-html-you-already-have-f04307009130

JavaScript ruby library article

Stimulus 1.0이 릴리스됐습니다.
Rails의 Turbolinks와 연계할 수 있는 JavaScript 프레임워크입니다.
HTML 템플릿과 JavaScript 컨트롤러를 조합해 애플리케이션을 개발합니다.


Automatic visual diffing with Puppeteer – Monica Dinculescu

meowni.ca/posts/2017-puppeteer-tests/

JavaScript testing browser article

Puppeteer를 사용한 Visual Diff 테스트에 관해 작성돼 있습니다.
스크린샷을 Pixelmatch로 비교하고 이미지 Diff를 바탕으로 테스트를 실행하는 방법에 대해 소개합니다.


Introducing React Easy State | @RisingStack

blog.risingstack.com/introducing-react-easy-state/

JavaScript redux library

ES Proxy를 사용한 상태 관리 라이브러리 react-easy-state에 대해 소개합니다.


Debugging JavaScript With A Real Debugger You Did Not Know You Already Have — Smashing Magazine

www.smashingmagazine.com/2018/02/javascript-firefox-debugger/

firefox debug article

Firefox의 개발자 도구와 debugger.html에 대해 작성돼 있습니다.


Jest 등을 사용하지 않고 스냅샷 테스트를 작성하다 | Web Scratch(일본어)

efcl.info/2018/02/02/snapshot-test/

JavaScript testing article

특별한 라이브러리를 사용하지 않고 스탭샷 테스트를 구현하는 방법에 대해 작성돼 있습니다.


Testing your npm package before releasing it using Verdaccio + ngrok

blog.strapi.io/testing-npm-package-before-releasing-it-using-verdaccio-and-ngrok/

npm article testing

npm 패키지를 publish 하기 전에 테스트를 실행하는 방법에 대해 소개합니다.
Private npm registry인 Verdaccio에 publish 하고 localhost 터널인 ngrok를 사용해 테스트 하는 방법이 작성돼 있습니다.


Debugging CSS Performance with Chrome’s Profiling Tools - Ada Developers Academy

adadevacademy.tumblr.com/post/170121818942/debugging-css-performance-with-chromes-profiling

CSS performance article

React의 문제로 인지하고 여러가지 시도 끝에 CSS 렌더링 문제 였던 경우를 토대로 CSS의 성능 문제에 대해 이야기합니다. 해당 문제를 인라인 CSS, gradient를 정정하여 해결하고 개발자 도구에서는 이 문제가 어떻게 보였었는지 작성돼 있습니다.


Introducing Node Clinic - A performance toolkit for Node.js developers | nearForm

www.nearform.com/blog/introducing-node-clinic-a-performance-toolkit-for-node-js-developers/

node.js performance Tools article

Node.js 애플리케이션 성능 모니터링 도구인 Clinic를 소개합니다.
대시보드에서 CPU, 메모리, 이벤트 루프의 지연 등을 살펴 볼 수 있습니다.


How JavaScript works: The building blocks of Web Workers + 5 cases when you should use them

blog.sessionstack.com/how-javascript-works-the-building-blocks-of-web-workers-5-cases-when-you-should-use-them-a547c0757f6a

webworker article

WebWorker의 사용 방법이나 유스케이스에 대해 작성돼 있습니다.


사이트, 서비스, 문서


MDN browser compatibility data: Taking the guesswork out of web compatibility – Mozilla Hacks – the Web developer blog

hacks.mozilla.org/2018/02/mdn-browser-compatibility-data/

mdn document npm JavaScript CSS HTTP

MDN에서 사용하고 있는 브라우저 지원 상황 종합 데이터를 npm 패키지로 사용할 수 있게 됐습니다.
이 데이터의 사용 방법이나 접근한 사이트가 지원하는 브라우저 정보를 제공하는 파이어폭스 확장 플러그인에 대해서도 작성돼 있습니다.


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


thejameskyle/glow: Make your Flow errors GLOW

github.com/thejameskyle/glow

flowtype console Tools

Flow의 에러를 CodeFrame으로 출력하고 glob으로 대상을 필터링할 수 있는 도구입니다. 또 Watch 모드를 지원합니다.


FullHuman/purgecss: Remove unused css

github.com/FullHuman/purgecss

CSS Tools console

사용하지 않는 CSS 코드를 삭제하는 도구입니다.
컨텐츠(HTML, JS 등)과 CSS를 전달해 불필요한 CSS를 삭제할 수 있습니다.


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