Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8833

【Deno】denonを利用してのscripts管理

$
0
0

背景

  • Deno利用時に以下の点が気になったため、Node同様に可能なのか調査することに。
    • deno run --allow-net --allow-read server.tsのような実行コマンドの長さを簡略化して、各種権限管理をしたい。
    • npm scriptsのように各環境や種類毎に管理できるようにしたい。
    • Nodeでのnodemonのようなオートリロード環境の仕組みにしたい。

結果

denon

  • 調査の結果、上記3つの要望が可能であるdenonを導入することに。
  • denonとは、nodemonのdeno代替であり、柔軟かつ高機能に設定が可能なツール。
  • 設定ファイルは、以下の3つの形式で記述することが可能。
    • json: denon.json
    • typescript: denon.config.ts
    • yaml: denon.yml

インストール

  • 下記のコマンドで、プロジェクトフォルダにインストール
deno install--allow-read--allow-run--allow-write--allow-net-f-q--unstable https://deno.land/x/denon@2.3.2/denon.ts

初期化

  • 下記のコマンドで設定ファイルの雛形を作成する。
    • ※Nodeであれば、npm initのようなもの。
# 標準では、json形式(denon.json)
denon init

# typescript形式(denon.config.ts)
denon init --typescript# yaml形式(denon.yml)
denon --init yaml

設定テンプレート

  • 以下の点をふまえた設定テンプレートを記述する。
    • 開発の流れで必須、また頻度が高いものをまとめる
    • なるべく環境変数は記述しない。
    • 多く記述せず、単純にする。
  • 今回は、視認性や機能性をふまえて、YAMLでの方法を記述する。
  • ※その他、denonの詳細な設定方法はこちらを参考にする。
denon.yml
scripts:dev:cmd:"denorunsrc/app.ts"desc:"runapp.tsfile"allow:["env","net","read","write","plugin"]unstable:truebuild:cmd:"denobundlesrc/app.ts>build/app.js"desc:"buildapp.tsfile"lint:cmd:"denolintsrc/"desc:"lintalltsfile"unstable:truefmt:cmd:"denofmtsrc/"desc:"formatalltsfile"watcher:exts:["js","jsx","ts","tsx","json"]skip:["*/.git/*"]

実行方法

  • 下記のコマンドのように実行。
# denon スクリプト名
denon dev

# フォーマット
denon fmt# ビルド
denon build

参考


Viewing all articles
Browse latest Browse all 8833

Trending Articles