Closed9

RaycastのPrivate Storeで自作拡張を作ってPrivate Storeに公開する

sakisaki

Organizations の Open Store -> Start Onboardingを押すとセットアップウィザードみたいなのが出てくる

Choose Folderを押して親ディレクトリを指定する
よく見るとsave asでディレクトリ名を指定できるようになってるので、ここで指定するのは
developmentとかそういうレベルのフォルダでOK

わざわざraycast_private_storeとかのディレクトリを自分で作ってそれを指定すると
raycast_private_store(自分で作ったやつ)/raycast-extensions(自動で作られるやつ)みたいになって
うっとおしいうえに後続のpublishで変なことになる可能性があるので注意(1敗)

今回はsave as raycast_private_extensionsとした
raycast_private_extensionsは最初からgit initされてるのでそのまま作業を続ける

sakisaki

raycast_private_extensionsの下にgetting-startedが自動で作られる
getting-startedがチュートリアル用の拡張機能っぽい

getting-startedのディレクトリでnpm install && npm run devを実行すると、ローカル拡張としてgetting-startedが起動する

sakisaki

さっきのウィンドウでContinueが押せるようになってるので、押したところ。

公式ドキュメントにはnpm run publishと記載があるが、Raycast上ではnpx ray publishを実行せよとのこと
getting-startedのディレクトリでnpx ray publishしてみる

% npx ray publish
error -  validate git repository
please commit or discard your uncommited changes first (git commit -a -m 'your changes')
ready -  validate owner
error -  failed validation extension

さっきのnpm installでpackage-lock.jsonが更新されてるので怒られる。

git add .
git commit -m "initial commit"

もういっちょnpx ray publish

成功するとConfettiがブワっと出てきてPrivateStore公開完了

ここまでがチュートリアル
次は自作の拡張を公開する

sakisaki

自作の拡張を公開するときはraycast_private_extensionsの下に突っ込んでgit add, commitし
npx ray publishする

したら怒られた
failed running git command 'git push -u origin ext/my_extension', exit status 128
とのこと(my_extensionは自作拡張のディレクトリ名)

sakisaki

なんでpushで怒られてるのかはよくわからないが、いずれにせよ社内共有を考えると必要なので
とりあえずremoteを設定する。

git remote add origin リモートリポジトリのURL

sakisaki

npx ray publishした結果
こんどはseems like there is nothing new to publishと怒られる

my_extensionのpackage.jsonを見直したところ、
publicなExtensionを下敷きに作ったときの設定が残っていたので以下の通り修正した

  • owner: 作成したOrganizationのhandleにする。
    • Raycast -> Organizations -> Edit Organizations -> handle(@hogeと表示されているhogeの部分)
  • author: 自分のRaycastユーザ名
  • access: public になっていたので項目ごと削除

npx ray publishして成功!

sakisaki

Raycast -> Store -> Privateで公開できていることを確認!

このスクラップは2023/08/07にクローズされました