DenoでHTMLタグを楽に書けるモジュールを作ってレジストリに公開した感想Zennkawarimidoll🦕DenoでHTMLタグを楽に書けるモジュールを作ってレジストリに公開した感想2021/07/27に公開・約3,200字ツイートHTMLJavaScriptTypeScriptDenoSVGidea本記事の主題はDenoの自作モジュールの説明ではなく、Denoのモジュール公開に関する所感について述べるものです。したがってIdea記事です。markup-tagをリリースした先日、markup-tagというモジュールをリリースしました。world!");のように書けるようになります。<meta>や<input>などは閉じタグを作らないようにしています。わかりやすい記事が存在しているので、本記事で再掲することは控えます。ついてはこちら:https://zenn.dev/uki00a/articles/an-introduction-to-nest-landこれらの記事を見れば公開は問題なくできると思います。自分の具体的な作業記録も画像つきで残していますのでご参考にどうぞ。https://zenn.dev/kawarimidoll/scraps/bea1e70bf9e075所感deno.land/xについて公開は簡単deno.land/xは、GitHubでReleaseしたときのWebHook経由でレジストリに連携します。このため、GitHubにないモジュールは公開できませんが、一度設定してしまえばあとはリリースを作るだけなので簡単です。モジュール名にハイフンを使えないアンダースコアは使えます。GitHubのリポジトリ名と同じにする必要はないので、適宜変更すれば登録は可能です。いうかGitHubとの連携が必須なら、ユーザー名とリポジトリ名をそのままモジュール名に反映させても良かったのでは...。細かい設定ができない前述の「Release時にWebHookで公開する」以外の方法がないので、ローカルからpublishするとか、リリースを作った後にちょっとだけ修正したいとかはできません。モジュールとして不要なファイル(.gitignoreとか)もページ上に公開されてしまいます。.denolandignoreみたいなことはできないようです。https://twitter.com/KawarimiDoll/status/1419122343327068161不要なファイルに関しては、サブディレクトリにモジュールとREADMEの本体を配置し、そのディレクトリのみを公開すれば良いかもしれません。そこまでする必要があるか?というと疑問ですが。nest.landについて公開は簡単eggsコマンドをインストールする必要があるものの、操作自体は別に難しくありません。publishを動かすことができるので、deno.land/xへの公開と同時に実行することができます。バージョンナンバーを省略したインポートはできない試してみましたができないようでした。今回公開したモジュールですが、これを更新する際にはREADME.mdのサンプルに書いてあるバージョンeggs.ymlに定義しているバージョンを修正しないといけません。これを忘れてリリースしてしまうと、READMEだけ更新されていなかったり、deno.land/xとnest.landでバージョンがずれたりします。コード中でバージョンナンバーを扱っている場合、更に修正箇所が増えるでしょう。公開したモジュールをあとから修正することはできないので、再度リリースする必要があります。あと、deno.land/xに公開されているモジュールのバージョンはv1.2.3のようにvがついているものが多い印象ですが、nest.landでは1.2.3のようにvがないものが多いようです。いえばdenoとdeno_stdでも統一されていないし。https://twitter.com/KawarimiDoll/status/1414522570624307200自分はvなしのほうに統一しました。user/organizationでの公開数制限があるので、それを考慮するとnest.landをメインに使うべきかもしれません。15個だからそんなにすぐ使い切るものでもなさそうです。そもそもDenoのシステム上、GitHubなどで公開されていれば直接インポート可能なんですよね。"https://raw.githubusercontent.com/kawarimidoll/deno-markup-tag/0.1.2/mod.ts";そうするとなぜレジストリが存在しているのか...。検索性とパスの長さの問題でGitHubから直接取り込むことはあまりないのですが。おわりにということで、公開はできるけどちょっと直感と合わないところがあるかもな、という印象でした。このあたりは自分がDenoエコシステムにまだ慣れていないためでもあると思うので、どんどん使って染まっていきたいと思います。バージョンナンバーの修正は結構面倒だと感じました。Actionsで自動化できているので、ここに更に処理を挟んで、以下のように自動化したいと思っています。自動化している方や、よりよい方法をご存じの方はコメントいただけると嬉しいです。↩︎ツイートkawarimidollバトルオペレーション!セット!イン!!バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフト券が還元されます。deno.land/xについてnest.landについて両方についておわりにZennエンジニアのための情報共有コミュニティAboutZennについて運営会社お知らせ・リリースGuides使い方Publicationよくある質問LinksTwitterGitHubメディアキットLegal利用規約プライバシーポリシ。