Fork me on GitHub

2019-11-26: Node.js 13.2.0(ES Modules), jQuery 코드 기반 AMD에서 ES Modules로

Translator: U-Yeong Ju Edit on GitHub See Revisions

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를 플래그 없이 실행해 볼 수 있습니다.

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.jsrollup.js를 사용해 번들하여 배포할 예정이라고 합니다.


헤드라인


Core: Migrate from AMD to ES modules 🎉 by mgol · Pull Request #4541 · jquery/jquery

github.com/jquery/jquery/pull/4541

jQuery issue module news

jQuery 코드 기반이 AMD에서 ES modules로 재작성 됐습니다.


Release Notes for Safari Technology Preview 96 | WebKit

webkit.org/blog/9658/release-notes-for-safari-technology-preview-96/

safari ReleaseNote

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 ReleaseNote module

Node.js 13.2.0이 릴리스됐습니다.
--experimental-modules 플래그가 제거돼 기본적으로 ES Modules를 사용할 수 있습니다.
worker_threadsresourceLimits 옵션과 child_process 등에 serialization 옵션이 추가됐습니다.


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 news

AWS Lambda가 Node.js 12.x를 지원합니다.


TestCafe v1.7.0 Released | TestCafe

devexpress.github.io/testcafe/blog/testcafe-v1-7-0-released.html

browser testing E2E ReleaseNote

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 library news

Node.js의 웹 애플리케이션 프레임워크인 Fastify가 OpenJS Foundation의 Incubating Project로 선정됐습니다.


CanJS 6.0

www.bitovi.com/blog/canjs-6.0

JavaScript library ReleaseNote

CanJS 6.0이 릴리스됐습니다.
WebComponent 기반으로 변경됐고 컴포넌트 Props의 타입 시스템이 개선됐습니다. 또, Proxy를 사용한 ObservableObject 구조 등이 도입됐습니다.
마이그레이션 가이드와 관련 도구도 함께 공개됐습니다.


ESLint v6.7.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2019/11/eslint-v6.7.0-released

ESLint ReleaseNote

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/

JavaScript canvas article

Canvas를 사용해 이미지를 잘라내는 방법을 소개하는 튜토리얼 글입니다. 튜토리얼로는 수용할 수 없는 이미지를 다룰 때의 문제 등에 대해서도 작성돼 있습니다.


Regular expressions in JavaScript: lookaround assertions by example

2ality.com/2019/10/regexp-lookaround-assertions.html

JavaScript RegExp article

JavaScript 정규표현의 미리보기(lookahead)/돌아보기(lookbehind) 패턴에 대해 소개합니다.


슬라이드, 영상


Faster apps with JSON.parse (Chrome Dev Summit 2019) - YouTube

www.youtube.com/watch?v=ff4fgQxPaO0

JavaScript JSON performance video

객체 리터럴 보다 JSON.parse 하는 편이 성능이 좋은 이유에 대해서 설명하는 동영상입니다.
JSON에는 출현할 토크가 한정돼 있기 때문에 객체 리터럴보다 파싱 속도를 더욱 빠르게 할 수 있다고 말하며 SSR에서의 유스케이스 관련해서도 소개합니다.
10kB 이상 큰 데이터는 JSON.parse를 사용할 것을 권장하고 있습니다.


사이트, 서비스, 문서


EasyDB

easydb.io/

DB webservice node npm python

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

webservice API Tools

REST API, WebSockets, GraphQL를 지원하는 API의 요청 / 응답을 테스트할 수 있는 도구입니다.


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


jeremydaly/lambda-api: Lightweight web framework for your serverless applications

github.com/jeremydaly/lambda-api

node aws Lambda library

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

React testing book

테스트 주도 리액트 애플리케이션 개발을 주제로 한 서적입니다.


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