0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cursor + Composerで書いたコードがShadcnを使った場合、都度都度コンポーネントを追加するのが面倒なのでワンライナーで追加する

Last updated at Posted at 2024-12-20

Cursor + Composerで書いたコードがShadcnを使った場合、都度都度コンポーネントを追加するのが面倒でした。
そのため必要なコンポーネントを追加するワンライナーを書きました。

問題

Shadcnでこんなエラーが出ます。

Module not found: Can't resolve '@/components/ui/input'

Screenshot 2024-12-20 at 22.55.03.png

grep -R -E "@/components/ui/[a-zA-Z]+" . | sed -E "s|.*@/components/ui/([a-zA-Z]+).*|\1|"  | xargs -n 100 -I {} /bin/bash -c 'npx shadcn add --yes {}'

解説

コマンド 内容
grep -R -E "@/components/ui/[a-zA-Z]+" 該当行のimport文を抜き出す
`sed -E "s .@/components/ui/([a-zA-Z]+).
xargs -n 100 -I {} /bin/bash -c 'npx shadcn add --yes {}' shadcn add を行う

注意点

  • @/components/ui/ で始まっていなかったり改行が入っていたり、コンポーネント名がimport文と違うもの(があるのか不明ですが)場合には動きません
  • shadcn add で聞かれるダイアログはすべてエンターキーを押すようになっています

参考

shadcn のオプション

Options:
  -y, --yes          skip confirmation prompt. (default: false)
  -o, --overwrite    overwrite existing files. (default: false)
  -c, --cwd <cwd>    the working directory. defaults to the current directory.
  -a, --all          add all available components. (default: false)
  -p, --path <path>  the path to add the component to.
  -h, --help         display help for command

Xargsで引数の渡し方

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?