JSConf JP

JavaScript パーサーに using 対応をする過程で与えたエコシステムへの影響

セッショントラックBJapanese

JavaScript には acorn という JavaScript パーサーがあります。 Next.js / Svelte / Webpack / Prettier / ESLint / Rollup (スター数順) など、多くの有名なライブラリが acorn に依存しています。

ECMAScript には、Explicit Resource Management という、通称 using 宣言 と呼ばれたりする仕様があります。 我々は、先日、acorn に using 対応するための PR を作成しました。 (baseballyama が実装して ota-meshi と marijnh がレビューをしました) https://github.com/acornjs/acorn/commit/b4ae0d29384f2bf3fafac7d42f1c3e2ee9a48204

最初は単に using 対応をしたかっただけだったのですが、結果として、Node.js サポートに対する問題を発見し、acorn に直接依存しない他のツールチェーンにも影響を与える結果となりました。 この発表では、 Explicit Resource Management とはなんなのか、どうやって acorn に機能実装したのか、 そしてどのようにエコシステムに影響を与えることになったのかを発表します。

※ この発表は Svelteコアチームメンバーである baseballyama と ESLint / Vue / Svelte などのチームメンバーである ota-meshi による共同発表です。