JSer.info #463 - 개발 버전인 Node.js 13.2.0이 릴리스됐습니다.
지금까지 --experimental-modules
라는 플래그를 붙였을 때만 동작하는 방식으로 ECMAScript Modules를 지원했습니다.
13.2.0부터는 이 플래그 없이 기본적으로 확장자가 .mjs
인 파일이나 package.json
의 "type"
필드가 "module"
로 선언돼 있는 패키지는 ECMAScript Modules로 import
되도록 변경됐습니다.
- ECMAScript Modules | Node.js v13.2.0 Documentation
- Announcing core Node.js support for ECMAScript modules
아래와 같은 샘플 코드로 ECMAScript Modules를 플래그 없이 실행해 볼 수 있습니다.
mod.mjs
:
export function add(x, y) {
return x + y;
}
index.mjs
:
import { add } from "./mod.mjs"
console.log(add(1, 2));
Node.js 13.2.0부터는 이 index.mjs
를 --experimental-modules
플래그 없이 실행할 수 있습니다.
단, 실행 시 ExperimentalWarning이 표시됩니다.
$ node src/index.mjs
(node:97312) ExperimentalWarning: The ESM module loader is experimental.
3
아직 릴리스는 되지 않았지만 jQuery의 코드 기반이 AMD에서 ECMAScript Modules를 사용한 코드로 변경됐습니다.
이후 jquery.js
는 rollup.js를 사용해 번들하여 배포할 예정이라고 합니다.
The @jquery source is now authored in ES6 modules![1] You can import from `src/jquery.js` directly from the browser without any build process.[2]@RollupJS is used to create the final jquery.js file.
— Michał Gołębiowski-Owczarek (@m_gol) November 19, 2019
[1] https://t.co/mLGFF4n2WE
[2] https://t.co/uTWs7URXXW
헤드라인
Core: Migrate from AMD to ES modules 🎉 by mgol · Pull Request #4541 · jquery/jquery
github.com/jquery/jquery/pull/4541
jQuery 코드 기반이 AMD에서 ES modules로 재작성 됐습니다.
Release Notes for Safari Technology Preview 96 | WebKit
webkit.org/blog/9658/release-notes-for-safari-technology-preview-96/
Safari Technology Preview 96이 릴리스됐습니다.
Web Animations API가 기본적으로 활성화됐으며 navigator.clipboard.read()
가 구현됐습니다.
Node v13.2.0 (Current) | Node.js
nodejs.org/en/blog/release/v13.2.0/
Node.js 13.2.0이 릴리스됐습니다.
--experimental-modules
플래그가 제거돼 기본적으로 ES Modules를 사용할 수 있습니다.
worker_threads
에 resourceLimits
옵션과 child_process
등에 serialization
옵션이 추가됐습니다.
- ECMAScript Modules | Node.js v13.2.0 Documentation
- Announcing core Node.js support for ECMAScript modules
Node.js 12.x runtime now available in AWS Lambda | AWS Compute Blog
aws.amazon.com/jp/blogs/compute/node-js-12-x-runtime-now-available-in-aws-lambda/
AWS Lambda가 Node.js 12.x를 지원합니다.
TestCafe v1.7.0 Released | TestCafe
devexpress.github.io/testcafe/blog/testcafe-v1-7-0-released.html
TestCafe v1.7.0이 릴리스 됐습니다.
테스트 코드 내에서 현재 실행 브라우저와 OS에 대한 정보를 취득 가능한 t.browser
을 지원합니다.
Web Framework Fastify Joins OpenJS Foundation as an Incubating Project - OpenJS Foundation
openjsf.org/blog/2019/11/20/web-framework-fastify-joins-openjs-foundation-as-an-incubating-project/
Node.js의 웹 애플리케이션 프레임워크인 Fastify가 OpenJS Foundation의 Incubating Project로 선정됐습니다.
CanJS 6.0
CanJS 6.0이 릴리스됐습니다.
WebComponent 기반으로 변경됐고 컴포넌트 Props의 타입 시스템이 개선됐습니다. 또, Proxy를 사용한 ObservableObject 구조 등이 도입됐습니다.
마이그레이션 가이드와 관련 도구도 함께 공개됐습니다.
- Migrating to CanJS 6 | upgrade | Guides | CanJS — Build CRUD apps in fewer lines of code.
- Using Codemods | upgrade | Guides | CanJS — Build CRUD apps in fewer lines of code.
ESLint v6.7.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2019/11/eslint-v6.7.0-released
ESLint 6.7.0이 릴리스됐습니다.
규칙을 통해 Suggestion 후보를 제공하는 API가 추가됐고 설정 파일에 ignorePatterns
을 작성할 수 있게 됐습니다.
또, no-constructor-return
등의 5개의 규칙이 신규로 추가됐습니다.
아티클
Cropping Images to a specific Aspect Ratio with JavaScript • PQINA
pqina.nl/blog/cropping-images-to-an-aspect-ratio-with-javascript/
Canvas를 사용해 이미지를 잘라내는 방법을 소개하는 튜토리얼 글입니다. 튜토리얼로는 수용할 수 없는 이미지를 다룰 때의 문제 등에 대해서도 작성돼 있습니다.
Regular expressions in JavaScript: lookaround assertions by example
2ality.com/2019/10/regexp-lookaround-assertions.html
JavaScript 정규표현의 미리보기(lookahead)/돌아보기(lookbehind) 패턴에 대해 소개합니다.
슬라이드, 영상
Faster apps with JSON.parse (Chrome Dev Summit 2019) - YouTube
www.youtube.com/watch?v=ff4fgQxPaO0
객체 리터럴 보다 JSON.parse
하는 편이 성능이 좋은 이유에 대해서 설명하는 동영상입니다.
JSON에는 출현할 토크가 한정돼 있기 때문에 객체 리터럴보다 파싱 속도를 더욱 빠르게 할 수 있다고 말하며 SSR에서의 유스케이스 관련해서도 소개합니다.
10kB 이상 큰 데이터는 JSON.parse
를 사용할 것을 권장하고 있습니다.
사이트, 서비스, 문서
EasyDB
Node.js나 Python에서 24시간 사용할 수 있는 KVS한 DB를 만들어주는 웹 서비스입니다.
계정을 만들면 72시간 사용할 수 있으며 영구로 사용할 경우엔 $5/month로 이용할 수 있습니다.
헤커톤 등의 일시적인 이벤트 용 데이터 베이스 서비스입니다.
liyasthomas/postwoman: 👽 API request builder - A free, fast, and beautiful alternative to Postman https://postwoman.io 🔥
github.com/liyasthomas/postwoman
REST API, WebSockets, GraphQL를 지원하는 API의 요청 / 응답을 테스트할 수 있는 도구입니다.
소프트웨어, 도구, 라이브러리
jeremydaly/lambda-api: Lightweight web framework for your serverless applications
github.com/jeremydaly/lambda-api
AWS Lambda 용 Node.js 프레임워크 입니다.
의존 라이브러리가 없으며 HTTP 메서드에 관한 라우팅, HTTP 요청 / 응답에 관한 기본적인 처리를 제공합니다.
도서
Test-Driven React: Find Problems Early, Fix Them Quickly, Code with Confidence by Trevor Burnham | The Pragmatic Bookshelf
pragprog.com/book/tbreact/test-driven-react
테스트 주도 리액트 애플리케이션 개발을 주제로 한 서적입니다.