Fork me on GitHub

2021-02-16のJS: TypeScript 4.2 RC、WebdriverIO v7、Nuxt.js 2.15.0

Edit on GitHub 編集履歴を見る

JSer.info #527 - TypeScript 4.2 RCがリリースされています。

Tuple TypesでRest Elementをサポート、Type Aliasの型追跡の仕組みを改善して表示される型が分かりやすくなるように。
また、オブジェクトではないオペランドに対してin演算子を利用した場合に、コンパイルエラーとなるように変更。
その他には、noPropertyAccessFromIndexSignatureオプションの追加、abstract newのサポート、--explainFilesフラグが追加されています。

TypeScript 4.2 Betaの時点では、Template Literal式をデフォルトでTemplate Literal Typeとして扱うように変更されていました。
しかし、この挙動は望ましくないケースもあることがわかり、revertしてデフォルトではstringとして扱うようになっています。
4.2 RCでは、Template Literal式に as const をつけた場合のみ、Template Literal Typeとして扱うようになっています。

declare const yourName: string;

// 'bar' has type '`hello ${string}`'.
const bar = `hello ${yourName}` as const;
//                              ^^^^^^^^

// 'baz' has type 'string'.
const baz = `hello ${yourName}`;

WebdriverIO v7がリリースされました。

Node.js 10のサポート終了、TypeScriptでの書き直し、Cucumber v7へアップデート、Lightouse連携の改善が含まれています。
browser.checkPWA()の追加、@babel/registerts-nodeがインストールされている場合に自動的にコンパイルするautoCompileOptsオプションの追加などが含まれています。


Nuxt.js 2.15.0がリリースされています。

破壊的な変更としてNode.js 10のサポート終了、@nuxt/components v2へのアップデートが含まれています。
@nuxt/components v2へのアップデートするマイグレーションガイドも公開されています。

その他にはYarnのPlug'n'Playのサポート、PostCSS 8をopt-inでサポートしています。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Release v4.0.0 · lerna/lerna

github.com/lerna/lerna/releases/tag/v4.0.0

JavaScript monorepo ReleaseNote

lerna 4.0.0リリース。
Node.js 10未満のサポート終了、依存のアップデートなど


Announcing TypeScript 4.2 RC | TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-4-2-rc/

TypeScript ReleaseNote

TypeScript 4.2 RCリリース。
Tuple TypesでRest Elementをサポート、Type Aliasの型追跡の改善、オブジェクトではないオペランドに対するin演算子のチェックを追加。noPropertyAccessFromIndexSignatureオプションの追加、abstract newのサポート、--explainFilesフラグの追加など


Release v2.0.0 · markedjs/marked

github.com/markedjs/marked/releases/tag/v2.0.0

Markdown library ReleaseNote

marked 2.0.0リリース


eBay Launches Marko 5

tech.ebayinc.com/engineering/ebay-launches-marko-5/

JavaScript library template ReleaseNote

Marko 5リリース。
コンパイラにBabelを使うように、webpackとRollupでのbundleに対応、@marko/testing-libraryの追加、VScodeなどのエディタ拡張のサポートなど。


WebdriverIO v7 Released | WebdriverIO

webdriver.io/blog/2021/02/09/webdriverio-v7-released/

webdriver JavaScript library ReleaseNote

WebdriverIO v7リリース。
Node.js 10のサポート終了、TypeScriptでの書き直し、Cucumber v7へアップデート、Lightouse連携の改善。
browser.checkPWA()の追加、@babel/registerts-nodeがインストールされている場合に自動的にコンパイルするautoCompileOptsの追加など


Release v2.15.0 · nuxt/nuxt.js

github.com/nuxt/nuxt.js/releases/tag/v2.15.0

Vue library ReleaseNote

Nuxtjs 2.15.0リリース。
Node.js 10のサポート終了、YarnのPlug'n'Playのサポート、@nuxt/components v2へのアップデートなど


アーティクル


Dynamic Static Typing In TypeScript — Smashing Magazine

www.smashingmagazine.com/2021/01/dynamic-static-typing-typescript/

TypeScript article express

expressのルーティングの型を書きながら、TypeScriptの高度な型について見ていくチュートリアル


Generators in Javascript: How to use them - DEV Community 👩‍💻👨‍💻

dev.to/karimelghamry/generators-in-javascript-how-to-use-them-372d

JavaScript article

generator関数の使い方とユースケースについて


Lazy Load Routes in Vue with webpack Dynamic Comments | CSS-Tricks

css-tricks.com/lazy-load-routes-in-vue-with-webpack-dynamic-comments/

Vue article

Vue Routerを使った遅延ロードについての解説記事。
webpackでのchunkの分離、webpackChunkNameでのchunkのファイル名の指定についてなど


Just(js): On Javascript Performance

just.billywhizz.io/blog/on-javascript-performance-01/

JavaScript benchmark performance article C++

Just(js)はどのような最適化をしてTechempowerのベンチマークのスコアをあげていったかについての記事


スライド、動画関係


Write videos in React | Remotion

www.remotion.dev/

React video library

Reactを使って動画を作るための開発環境とライブラリ


ソフトウェア、ツール、ライブラリ関係


tildeio/simple-html-tokenizer: A lightweight JavaScript library for tokenizing non-<script> HTML expected to be found in the <body> of a document

github.com/tildeio/simple-html-tokenizer

JavaScript HTML library

HTMLをパースしてトークナイズするライブラリ


Ethan-Arrowood/undici-fetch: A WHATWG Fetch implementation based on @nodejs/undici

github.com/Ethan-Arrowood/undici-fetch

node.js Fetch library

Node.js向けのFetch APIの実装ライブラリ。
undiciをベースに実装している。


vercel/nft: Node.js dependency tracing utility

github.com/vercel/nft

JavaScript module library CommonJS TypeScript

JavaScriptファイルの依存関係をトレースするライブラリ。
node_modulesなどを含むモジュールが依存するファイルパスを取得できる


gzuidhof/sunder: A minimal framework for Service Workers (such as Cloudflare Workers).

github.com/gzuidhof/sunder

ServiceWorker cloudflare library JavaScript

Service WorkerやCloudflare Worker向けのルーティングライブラリ


zeroturnaround/sql-formatter: A whitespace formatter for different query languages

github.com/zeroturnaround/sql-formatter

JavaScript SQL library

JavaScriptで書かれたSQLのフォーマッター


mizdra/eslint-interactive

github.com/mizdra/eslint-interactive

ESLint Tools

ESLintをルールごとにチェックして、ルールごとに--fixでの修正をインタラクティブにできるコマンドラインツール


この記事へ修正リクエストをする
JSer.info Slackに参加する