Deno
DenoはNode.jsと同系統のJavaScript実行環境です。Node.jsの開発者が開発した後発機だけあってNode.jsから多くを改善しています。Qiita等でググると使用感や改善点がいい感じにまとまった日本語記事も出てきます。インストール方法は大体ワンライナーコマンドで以下にずらっと並んでいます。WindowsならChocolateyでサクッと入ります。
Deno#installation
choco install deno
Denoの使い方はNodeと大体同じ感覚で大丈夫です。以下のコマンドでJavaScriptファイルないしTypeScriptファイル(tsconfigなしで)を動かせます。
deno hoge.ts
Denoはまだまだ新しい実行環境でNode.jsに比べてそのサポートは未だ貧弱です。この記事ではPhpStormで快適にDenoのコードを書くための環境を紹介します。
Denoを使っていてすぐに気付くNode.jsとの最も違う点は実行環境組み込みのモジュール群でしょう。Node.jsでファイルを読み書きする時は次の様に fs モジュールを使用していました。
const fs = require('fs'); const tmpContent = fs.readFileSync('package.json');
Denoでは次の様に記述します。
const tmpContent = Deno.readFileSync('package.json')
グローバル変数 Deno が存在し、そこから各機能をたどって使用するわけです。こうなるとIDEによるコード補完機能は必須といっても過言ではないでしょう。コード補完機能と補完したコードのコメントだけで相当機能を把握できます。
PhpStorm関係なく重要なのはDenoの型情報をもったライブラリであるtypescript-deno-pluginです。
justjavac/typescript-deno-plugin: Deno language service plugin for TypeScript
npm で公開されているこれを入れるだけで TypeScript 対応のIDEはDenoを快適に使えるはずです。
PhpStormでは最近Denoのサポート用プラグインがPhpStorm開発元のJetBrainsから公開されてました。これを入れるとグローバル変数Denoに警告を出されなくなったり、Ctrl + F10でDenoを実行できたりと色々細かい所でDenoを使いやすくしてくれます。
Deno – plugin for IntelliJ IDEs | JetBrains