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を使ってbundleしたものを配布する予定となっています。
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
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
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の正規表現の先読み/後読みのパターンについて。
スライド、動画関係
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
テスト駆動でのReactアプリケーション開発についての書籍