Fork me on GitHub

2019-11-26のJS: Node.js 13.2.0(ES Modules)、jQueryがAMDからES Modulesへ

Edit on GitHub 編集履歴を見る

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を使ってbundleしたものを配布する予定となっています。


ヘッドライン


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の正規表現の先読み/後読みのパターンについて。


スライド、動画関係


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

テスト駆動でのReactアプリケーション開発についての書籍


この記事へ修正リクエストをする
記事を紹介する