Skip to content

Commit 73a888b

Browse files
authored
2019-02-26のJS: yarn v2候補(berry)、Fastify v2、TSLintの今後 (#588)
* Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 424 draft * Update 2019-02-26-424draft.md * Move _i18n/ja/_posts/2019/2019-02-26-424draft.md to _i18n/ja/_posts/2019/2019-02-26-yarn-v2berryfastify-v2tslint.md * Remove _i18n/ja/_posts/2019/2019-02-26-424draft.md * Update 2019-02-26-yarn-v2berryfastify-v2tslint.md
1 parent aacbc67 commit 73a888b

File tree

1 file changed

+230
-0
lines changed

1 file changed

+230
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
1+
---
2+
title: "2019-02-26のJS: yarn v2候補(berry)、Fastify v2、TSLintの今後"
3+
author: "azu"
4+
layout: post
5+
date : 2019-02-26T02:02:23.716Z
6+
category: JSer
7+
tags:
8+
- yarn
9+
- node
10+
- typescript
11+
- eslint
12+
- tslint
13+
14+
---
15+
16+
JSer.info #424 - [yarn](https://yarnpkg.com/) v2のソースコードとなりリポジトリが公開されています。
17+
18+
- [yarnpkg/berry: 📦🐈 A modern, fast, reliable, package manager; part of the Yarn organization](https://github.com/yarnpkg/berry)
19+
20+
次のIssueでも書かれているように、v1とは別のリポジトリにしているのはIssueのtriageをしやすくするためだそうです。
21+
22+
> The codename for these changes is Berry
23+
> -- https://github.com/yarnpkg/yarn/issues/6953
24+
25+
"Berry"という名前はv2に向けた変更のコードネームです。
26+
27+
- [👑 Say hello to Yarn v2 · Issue #1 · yarnpkg/berry](https://github.com/yarnpkg/berry/issues/1 "👑 Say hello to Yarn v2 · Issue #1 · yarnpkg/berry")
28+
- [Yarn's Future - v2 and beyond · Issue #6953 · yarnpkg/yarn](https://github.com/yarnpkg/yarn/issues/6953#issuecomment-466589196 "Yarn's Future - v2 and beyond · Issue #6953 · yarnpkg/yarn")
29+
30+
v2(berry)では[Yarn's Future - v2 and beyond](https://github.com/yarnpkg/yarn/issues/6953)で予定されていたものが実装されている段階のようです。
31+
32+
コードベースがTypeScriptで書き直されていて、monorepoになっています。
33+
lockファイルをymlサブセットとなるような[syml](https://github.com/yarnpkg/berry/blob/master/packages/berry-parsers/sources/syml.ts)というフォーマットを作り実装しています。また、プラグインの仕組みが追加され、PnPやnpm(`pacakge-lock.json`を扱う)などの処理はプラグインとして実装されています。
34+
また、ワークスペースの改善として[Constraints](https://github.com/yarnpkg/berry/blob/master/docs/workspaces-constraints.md)というProlog(実際には[tau-prolog](https://github.com/jariazavalverde/tau-prolog))を使った制約を扱う[プラグイン](https://github.com/yarnpkg/berry/tree/master/packages/plugin-constraints)が追加されています。ワークスペース間の依存などのルールをPrologを使って記述して、より効率的に扱えるようにするのが目的のようです。
35+
36+
興味がある人は[Install](https://github.com/yarnpkg/berry#install)して試したり、[Issue](https://github.com/yarnpkg/berry/issues)を見てみると良いかもしれません。
37+
38+
----
39+
40+
[TypeScriptの2019 Juneロードマップ](https://github.com/Microsoft/TypeScript/issues/29288)でTSLintではなくESLintのサポートを強化していくという話が行われ、[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint)というプロジェクトが作成され[ESLintチームと協力](https://eslint.org/blog/2019/01/future-typescript-eslint)していくことが発表されていました。
41+
42+
このような背景もあり、TSLintのメンテナーからTSLintの今後について記事が公開されています。
43+
44+
- [TSLint in 2019 – Palantir Blog – Medium](https://medium.com/palantir/tslint-in-2019-1a144c2317a9 "TSLint in 2019 – Palantir Blog – Medium")
45+
- [Roadmap: TSLint -> ESLint · Issue #4534 · palantir/tslint](https://github.com/palantir/tslint/issues/4534 "Roadmap: TSLint -> ESLint · Issue #4534 · palantir/tslint")
46+
47+
TSLintは2019年中には非推奨となり(今すぐではないです)、今後はESLintへの移行パスを整備していくという話が書かれています。
48+
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint)(ESLintのTypeScript対応)は開発途中であるため、TSLintとの互換となるようなルールがない部分もあります。そのため、TSLint自体はまだしばらくはメンテンスを続けていくという方針についても書かれています。
49+
50+
現状の[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint)の動作については、次の記事も参照して見てください。
51+
52+
- [@typescript-eslint ことはじめ - teppeis blog](https://teppeis.hatenablog.com/entry/2019/02/typescript-eslint)
53+
54+
----
55+
56+
<h1 class="site-genre">ヘッドライン</h1>
57+
58+
----
59+
60+
## Release Version 3.5.0 · knockout/knockout
61+
[github.com/knockout/knockout/releases/tag/v3.5.0](https://github.com/knockout/knockout/releases/tag/v3.5.0 "Release Version 3.5.0 · knockout/knockout")
62+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
63+
64+
Knockout 3.5.0リリース。
65+
`foreach`バインディングの挙動の変更とパフォーマンスの改善、`ko.when`がPromiseを返すようになるなど
66+
67+
68+
----
69+
70+
## Release: [email protected] - 📣 announcements - npm forum
71+
[npm.community/t/release-npm-6-9-0-next-0/5553](https://npm.community/t/release-npm-6-9-0-next-0/5553 "Release: [email protected] - 📣 announcements - npm forum")
72+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">ReleaseNote</span></p>
73+
74+
npm 6.9.0-next.0リリース。
75+
パッケージに別名をつけることができるpackage alias機能をサポート、`--before`オプションをサポートなど
76+
77+
- [install: add support for package aliases by zkat · Pull Request #3 · npm/cli](https://github.com/npm/cli/pull/3 "install: add support for package aliases by zkat · Pull Request #3 · npm/cli")
78+
79+
----
80+
81+
## The npm Blog — Managing JavaScript in the Enterprise
82+
[blog.npmjs.org/post/182958759735/managing-javascript-in-the-enterprise](https://blog.npmjs.org/post/182958759735/managing-javascript-in-the-enterprise "The npm Blog — Managing JavaScript in the Enterprise")
83+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">news</span></p>
84+
85+
npm Enterpriseの正式リリース。
86+
SSO認証の対応やprivate registryのサポートなど
87+
88+
- [npm | Enterprise](https://www.npmjs.com/products/enterprise "npm | Enterprise")
89+
90+
----
91+
92+
## dsherret/conditional-type-checks: Types for testing TypeScript types.
93+
[github.com/dsherret/conditional-type-checks](https://github.com/dsherret/conditional-type-checks "dsherret/conditional-type-checks: Types for testing TypeScript types.")
94+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span> <span class="jser-tag">testing</span></p>
95+
96+
Conditional Typeを使いTypeScriptの型Assertionを行うライブラリ
97+
98+
99+
----
100+
101+
## Fastify v2.0.0 is here – Fastify – Medium
102+
[medium.com/@fastifyjs/fastify-v2-0-0-is-here-8275d613fba4](https://medium.com/@fastifyjs/fastify-v2-0-0-is-here-8275d613fba4 "Fastify v2.0.0 is here – Fastify – Medium")
103+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">server</span></p>
104+
105+
Node.jsフレームワークのFastify 2.0.0リリース。
106+
`onError``preParsing``preSerialization``preValidation` hookの追加。
107+
pluginのロードのタイムアウトを設定、シグネチャの一貫性の修正など
108+
109+
- [Release v2.0.0 · fastify/fastify](https://github.com/fastify/fastify/releases/tag/v2.0.0 "Release v2.0.0 · fastify/fastify")
110+
111+
----
112+
113+
## yarnpkg/berry: 📦🐈 A modern, fast, reliable, package manager; part of the Yarn organization
114+
[github.com/yarnpkg/berry](https://github.com/yarnpkg/berry "yarnpkg/berry: 📦🐈 A modern, fast, reliable, package manager; part of the Yarn organization")
115+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">yarn</span> <span class="jser-tag">news</span></p>
116+
117+
yarn v2となるソースコードのリポジトリが公開された。
118+
v1のリポジトリと分けているのは、issueをハンドリングしやすくするため。
119+
現在はロードマップに予定した機能はある程度実装された状態で、一部の機能やドキュメントが足りていない状況。
120+
121+
- [Yarn's Future - v2 and beyond · Issue #6953 · yarnpkg/yarn](https://github.com/yarnpkg/yarn/issues/6953#issuecomment-466589196 "Yarn&#x27;s Future - v2 and beyond · Issue #6953 · yarnpkg/yarn")
122+
- [👑 Say hello to Yarn v2 · Issue #1 · yarnpkg/berry](https://github.com/yarnpkg/berry/issues/1 "👑 Say hello to Yarn v2 · Issue #1 · yarnpkg/berry")
123+
124+
----
125+
<h1 class="site-genre">アーティクル</h1>
126+
127+
----
128+
129+
## AddyOsmani.com - JavaScript Loading Priorities in Chrome
130+
[addyosmani.com/blog/script-priorities/](https://addyosmani.com/blog/script-priorities/ "AddyOsmani.com - JavaScript Loading Priorities in Chrome")
131+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">performance</span> <span class="jser-tag">browser</span> <span class="jser-tag">article</span></p>
132+
133+
link rel=preloadとscript要素の defer/async属性を組み合わせ際のLoadingやExecution Priorityについてまとめた記事
134+
135+
136+
----
137+
138+
## How @supports Works | CSS-Tricks
139+
[css-tricks.com/how-supports-works/](https://css-tricks.com/how-supports-works/ "How @supports Works | CSS-Tricks")
140+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">article</span></p>
141+
142+
CSSの`@supports`の使い方やユースケースについて。
143+
また、JavaScriptからのCSS Supportsを使ったFeature Detectについて
144+
145+
146+
----
147+
148+
## Intelligent Tracking Prevention 2.1 | WebKit
149+
[webkit.org/blog/8613/intelligent-tracking-prevention-2-1/](https://webkit.org/blog/8613/intelligent-tracking-prevention-2-1/ "Intelligent Tracking Prevention 2.1 | WebKit")
150+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">security</span> <span class="jser-tag">article</span></p>
151+
152+
Safari 12.1で導入されるITP 2.1について。 Partitioned Cookiesのサポート終了、document.cookieで作成したクッキーは生存期間が7日間のcapがつくように、DNTの削除など
153+
154+
155+
----
156+
157+
## TSLint in 2019 – Palantir Blog – Medium
158+
[medium.com/palantir/tslint-in-2019-1a144c2317a9](https://medium.com/palantir/tslint-in-2019-1a144c2317a9 "TSLint in 2019 – Palantir Blog – Medium")
159+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span> <span class="jser-tag">Tools</span></p>
160+
161+
TSLintの今後について。
162+
今後TSLintは非推奨となり、TSLintからESLintへの移行パスを整備していくという話
163+
164+
165+
----
166+
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>
167+
168+
----
169+
170+
## React – A JavaScript library for building user interfaces
171+
[ja.reactjs.org/](https://ja.reactjs.org/ "React – A JavaScript library for building user interfaces")
172+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">翻訳</span></p>
173+
174+
Reactサイトの日本語訳
175+
176+
- [Is React Translated Yet? ¡Sí! Sim! はい! – React Blog](https://reactjs.org/blog/2019/02/23/is-react-translated-yet.html "Is React Translated Yet? ¡Sí! Sim! はい! – React Blog")
177+
178+
----
179+
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>
180+
181+
----
182+
183+
## patr0nus/DeskGap: A cross-platform desktop app framework based on Node.js and the system webview
184+
[github.com/patr0nus/DeskGap/](https://github.com/patr0nus/DeskGap/ "patr0nus/DeskGap: A cross-platform desktop app framework based on Node.js and the system webview")
185+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">mac</span> <span class="jser-tag">windows</span> <span class="jser-tag">Electron</span></p>
186+
187+
OSのWebViewの仕組みを利用したElectronライクなデスクトップアプリ作成フレームワーク。
188+
Chromiumなどをbundleしないが、Node.jsをbundleしている。
189+
フレームワーク上では制限されたElectronライクなAPIとNode.jsの機能が利用できる。
190+
191+
192+
----
193+
194+
## klaussinani/qoa: 💬 Minimal interactive command-line prompts
195+
[github.com/klaussinani/qoa](https://github.com/klaussinani/qoa "klaussinani/qoa: 💬 Minimal interactive command-line prompts")
196+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">node.js</span> <span class="jser-tag">library</span> <span class="jser-tag">console</span> <span class="jser-tag">UI</span></p>
197+
198+
ターミナルで対話的なインタフェースを提供するNode.jsライブラリ。
199+
Confirm、Quiz、Secure Promptなど
200+
201+
202+
----
203+
204+
## jariazavalverde/tau-prolog: An open source Prolog interpreter in JavaScript
205+
[github.com/jariazavalverde/tau-prolog](https://github.com/jariazavalverde/tau-prolog "jariazavalverde/tau-prolog: An open source Prolog interpreter in JavaScript")
206+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">program</span> <span class="jser-tag">library</span></p>
207+
208+
PrologインタプリタのJavaScript実装
209+
210+
211+
----
212+
213+
## fagbokforlaget/simple-fs: Handles files on indexeddb like you would do in node.js (promise)
214+
[github.com/fagbokforlaget/simple-fs](https://github.com/fagbokforlaget/simple-fs "fagbokforlaget/simple-fs: Handles files on indexeddb like you would do in node.js (promise)")
215+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p>
216+
217+
IndexedDBを使ったファイルシステムライクなAPIを持ったブラウザ向けライブラリ
218+
219+
220+
----
221+
222+
## namics/webpack-config-plugins: Provide best practices for webpack loader configurations
223+
[github.com/namics/webpack-config-plugins](https://github.com/namics/webpack-config-plugins "namics/webpack-config-plugins: Provide best practices for webpack loader configurations")
224+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">webpack</span> <span class="jser-tag">設定</span></p>
225+
226+
webpackのloader設定をまとめたプラグイン。
227+
Babel、TypeScript、Sass、Font、Imageなどのビルドを行うプラグインが用意されている
228+
229+
230+
----

0 commit comments

Comments
 (0)