Fork me on GitHub

2019-02-26のJS: yarn v2候補(berry)、Fastify v2、TSLintの今後

Edit on GitHub 編集履歴を見る

JSer.info #424 - yarn v2のソースコードとなるリポジトリが公開されています。

次のIssueでも書かれているように、v1とは別のリポジトリにしているのはIssueのtriageをしやすくするためだそうです。

The codename for these changes is Berry
-- https://github.com/yarnpkg/yarn/issues/6953

"Berry"という名前はv2に向けた変更のコードネームです。

v2(berry)ではYarn's Future - v2 and beyondで予定されていたものが実装されている段階のようです。

コードベースがTypeScriptで書き直されていて、monorepoになっています。
lockファイルをymlサブセットとなるようなsymlというフォーマットを作り実装しています。また、プラグインの仕組みが追加され、PnPやnpm(package-lock.jsonを扱う)などの処理はプラグインとして実装されています。
また、ワークスペースの改善としてConstraintsというProlog(実際にはtau-prolog)を使った制約を扱うプラグインが追加されています。ワークスペース間の依存などのルールをPrologを使って記述して、より効率的に扱えるようにするのが目的のようです。

興味がある人はInstallして試したり、Issueを見てみると良いかもしれません。


TypeScriptの2019 JuneロードマップでTSLintではなくESLintのサポートを強化していくという話が行われ、typescript-eslintというプロジェクトが作成されESLintチームと協力していくことが発表されていました。

このような背景もあり、TSLintのメンテナーからTSLintの今後について記事が公開されています。

TSLintは2019年中には非推奨となり(今すぐではないです)、今後はESLintへの移行パスを整備していくという話が書かれています。
typescript-eslint(ESLintのTypeScript対応)は開発途中であるため、TSLintとの互換となるようなルールがない部分もあります。そのため、TSLint自体もしばらくはメンテンスを続けていくという方針についても書かれています。

現状のtypescript-eslintの動作については、次の記事も参照して見てください。


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

JSer.info Sponsors

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


ヘッドライン


Release Version 3.5.0 · knockout/knockout

github.com/knockout/knockout/releases/tag/v3.5.0

JavaScript library ReleaseNote

Knockout 3.5.0リリース。
foreachバインディングの挙動の変更とパフォーマンスの改善、ko.whenがPromiseを返すようになるなど


Release: [email protected] - 📣 announcements - npm forum

npm.community/t/release-npm-6-9-0-next-0/5553

npm ReleaseNote

npm 6.9.0-next.0リリース。
パッケージに別名をつけることができるpackage alias機能をサポート、--beforeオプションをサポートなど


The npm Blog — Managing JavaScript in the Enterprise

blog.npmjs.org/post/182958759735/managing-javascript-in-the-enterprise

npm news

npm Enterpriseの正式リリース。
SSO認証の対応やprivate registryのサポートなど


dsherret/conditional-type-checks: Types for testing TypeScript types.

github.com/dsherret/conditional-type-checks

TypeScript library testing

Conditional Typeを使いTypeScriptの型Assertionを行うライブラリ


Fastify v2.0.0 is here – Fastify – Medium

medium.com/@fastifyjs/fastify-v2-0-0-is-here-8275d613fba4

node.js ReleaseNote server

Node.jsフレームワークのFastify 2.0.0リリース。
onErrorpreParsingpreSerializationpreValidation hookの追加。
pluginのロードのタイムアウトを設定、シグネチャの一貫性の修正など


yarnpkg/berry: 📦🐈 A modern, fast, reliable, package manager; part of the Yarn organization

github.com/yarnpkg/berry

yarn news

yarn v2となるソースコードのリポジトリが公開された。
v1のリポジトリと分けているのは、issueをハンドリングしやすくするため。
現在はロードマップに予定した機能はある程度実装された状態で、一部の機能やドキュメントが足りていない状況。


アーティクル


AddyOsmani.com - JavaScript Loading Priorities in Chrome

addyosmani.com/blog/script-priorities/

JavaScript performance browser article

link rel=preloadとscript要素の defer/async属性を組み合わせ際のLoadingやExecution Priorityについてまとめた記事


How @supports Works | CSS-Tricks

css-tricks.com/how-supports-works/

CSS article

CSSの@supportsの使い方やユースケースについて。
また、JavaScriptからのCSS Supportsを使ったFeature Detectについて


Intelligent Tracking Prevention 2.1 | WebKit

webkit.org/blog/8613/intelligent-tracking-prevention-2-1/

safari security article

Safari 12.1で導入されるITP 2.1について。 Partitioned Cookiesのサポート終了、document.cookieで作成したクッキーは生存期間が7日間のcapがつくように、DNTの削除など


TSLint in 2019 – Palantir Blog – Medium

medium.com/palantir/tslint-in-2019-1a144c2317a9

TypeScript article Tools

TSLintの今後について。
今後TSLintは非推奨となり、TSLintからESLintへの移行パスを整備していくという話


サイト、サービス、ドキュメント


React – A JavaScript library for building user interfaces

ja.reactjs.org/

React 翻訳

Reactサイトの日本語訳


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


patr0nus/DeskGap: A cross-platform desktop app framework based on Node.js and the system webview

github.com/patr0nus/DeskGap/

node.js mac windows Electron

OSのWebViewの仕組みを利用したElectronライクなデスクトップアプリ作成フレームワーク。
Chromiumなどをbundleしないが、Node.jsをbundleしている。
フレームワーク上では制限されたElectronライクなAPIとNode.jsの機能が利用できる。


klaussinani/qoa: 💬 Minimal interactive command-line prompts

github.com/klaussinani/qoa

node.js library console UI

ターミナルで対話的なインタフェースを提供するNode.jsライブラリ。
Confirm、Quiz、Secure Promptなど


jariazavalverde/tau-prolog: An open source Prolog interpreter in JavaScript

github.com/jariazavalverde/tau-prolog

JavaScript program library

PrologインタプリタのJavaScript実装


fagbokforlaget/simple-fs: Handles files on indexeddb like you would do in node.js (promise)

github.com/fagbokforlaget/simple-fs

browser JavaScript library

IndexedDBを使ったファイルシステムライクなAPIを持ったブラウザ向けライブラリ


namics/webpack-config-plugins: Provide best practices for webpack loader configurations

github.com/namics/webpack-config-plugins

webpack 設定

webpackのloader設定をまとめたプラグイン。
Babel、TypeScript、Sass、Font、Imageなどのビルドを行うプラグインが用意されている


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