Closed9
Denoのテンプレートリポジトリを作る
Denoの開発をする際のテンプレートを作りたい
loggerを使えるようにするため、リポジトリに以下のlogger.ts
を追加しておく
毎回coc.nvimの設定が面倒なので、リポジトリに入れてしまう
.vim/coc-settings.json
{
"deno.enable": true,
"deno.lint": true,
"deno.unstable": true,
"prettier.disableLanguages": ["typescript"],
"typescript.format.enabled": false
}
dotenv
も結構使うのでファイルを作っておく
Safe Modeを使うため、.env.example
に対応する環境変数の名前を書いておく
.env.example
SECRET_TOKEN=
env.ts
import { config } from "https://deno.land/x/dotenv@v2.0.0/mod.ts";
const {
SECRET_TOKEN,
} = config({ safe: true });
export { SECRET_TOKEN };
各種ツールがDenoリポジトリの判定にdeps.ts
の存在を見ているっぽいので空ファイルとして保存しておく
deps.ts
// dependencies wil bel here!
deno fmt
とdeno lint
が楽に実行できるようなシェルスクリプトを追加
テストの実行やhookへの追加はひとまず様子見
ci.sh
#!/bin/bash
set -x
deno fmt
deno lint
# deno test
一旦fixで良いかな…
CIをちゃんと設定したい場合はこちらを参考にする
あーいや、ちゃんと読んでなかった
Velociraptorを使おう
❯ deno install -qAn vr https://deno.land/x/velociraptor@1.0.1/cli.ts
✅ Successfully installed vr
/Users/kawarimidoll/.deno/bin/vr
ℹ️ Add /Users/kawarimidoll/.deno/bin to PATH
export PATH="/Users/kawarimidoll/.deno/bin:$PATH"
scripts.yml
を定義
scripts.yml
allow:
- write=app.log
# - env
scripts:
start:
desc: run main script
cmd: main.ts
# test: deno test
lint: deno lint
format: deno fmt
pre-commit:
cmd:
- vr lint
- vr format
gitHook: pre-commit
これでvr
を実行すればhook
が作成される
❯ vr
✅ Git hooks successfully installed
🦖 Available scripts
• start
run main script
$ main.ts
• lint
$ deno lint
• format
$ deno fmt
• pre-commit
Runs at pre-commit
$ vr lint, vr format
To run a script pass its name as the first argument to the vr command:
$ vr start
Any additional arguments will be passed to the script.
Denoのセキュリティ思想は優れているとはいえ、--allow-write
とかのオプションをいちいち足すのは面倒だったので助かる
とりあえずFix
このスクラップは2021/06/20にクローズされました