Why
たまに素の状態からディレクトリ構成を考える時があるけど、記号手打ちするの馬鹿らしい
検索したけど意外と誰も作ってない?
ディレクトリ図構成ビルダー
Task
Problem
How
-
アウトライナー的に書けばいい感じにツリー表示される
-
記号形式を選べる
-
/
入力でディレクトリ扱い
-
outlinerObject -> toDirectoryTreeStringで出来る
-
tree
コマンドで表示とかではない。
Info
名前
🏆dirtreeist
変換フロー
構造
type DirNode = {
name:string,
children:DirNode[]
}
type DirTree = DirNode[]
オプション : default
treeType : 1
1
├─
│
└─
2
┣━
┃
┗━
3
|
|-
+-
emptyLineBeforeUpperHierarchy : false
(true)
├──components
│ ├──App.tsx
│ └──App.css
│
├──config.json
└──utils
└──converter.ts
spaceBeforeName : false
(true)
├── components
│ ├── App.tsx
│ └── App.css
│
├── config.json
└── utils
└── converter.ts
spaceSize : 2
(4)
├──── components
│ ├── App.tsx
│ └── App.css
│
├──── config.json
└──── utils
└── converter.ts
公開手順
バージョンを上げる
yarn version --major
# v1.0.0 から v2.0.0 へ変更
yarn version --minor
# v1.0.0 から v1.1.0 へ変更
yarn version --patch
# v1.0.0 から v1.0.1 へ変更
ビルド
publish
CLI
dirTreeist <inputFile> [...options]
オプション
-t, --treeType ['normal'|'bold'|'ascii']
-e, --empty [boolean]
-space, --spaceBeforeName [boolean]
-size, --spaceSize [number]
機能
-
通常のTSModuleとして使用
-
CLIからオプションを渡して実行
Idea
Memo
-
parserとoutlinerは別物か?
-
test + readme駆動開発めちゃめちゃ心地よい
-
readmeは人間が見やすいユースケースの信頼できるソースだし、testはinput/outputのみに集中できるので設計の間違いに気づきやすい
-
唯一の難点はreadmeとtestを同時に修正することがあるくらい
-
viteはフロントエンドなので、ほんとうの意味のpure tsは実行できない?
アップデート(読み込み側)
yarn upgrade @k4a_l/[email protected]
npm install @k4a_l/[email protected]
ESMとCJS
-
基本
-
cjsを読み込むにはexport、esmはimport
-
cjsからはdefault exportしかできない
-
疑似ネームドにするなら、読み込んだ後に分割代入し直す
-
ビルド
-
cjsからもesmからも使えるようにする
-
tscやesmはesmとcjsの諸々をいい感じに処理はしてくれない?
-
babelやrollupなどを使わないといけないっぽい
-
総じてよくわからない
-
パッケージとして公開して別リポジトリから呼び出せるようにはなったけど、開発リポジトリ内で動かせない
-
ts-node-dev
だと色々怒られるし、nodemon
もだめ。
-
もうわけわからん
Link
Log
2022-09-05 作成
2022-09-09 一旦完成
2022-09-10 npmに公開して3日なのにweekly downloadが609もある。多分リリースされた最初はいろんなところからクロールされてるんだと思う。バージョンごとのダンロード数が40くらいで同じなので(バージョンごとの公開スパンは結構違うのに)。