公開

コードのエクスポート

アプリをZIP、GitHub、GitLabでSetherionの外へ持ち出す方法、プロジェクトの中身、別の場所で動かす方法、そして外へ出してもSetherionに頼る部分を説明します。

すべてのアプリは本物のReactコードで、持ち出すことができます。このページでは、エディターから外へ出す方法、手に入るもの、自分のコンピューターやホストで動かす方法、そして外へ出したあともSetherionに頼る部分を説明します。

コードを持ち出せるのは、有料プランのProとBusinessです。Freeでは、エディターでコードを読んだり検索したりできますが、コピーやダウンロードはできません。データは別で、どのプランでもエクスポートできます。詳しくは下記をご覧ください。

持ち出す方法

方法手に入るもの場所プラン
Download ZIP.zipファイルのプロジェクトPublishの横のフォルダーのアイコンProとBusiness
Export to GitHubあなたのGitHubアカウントのリポジトリPublish、続いてExport to GitHubProとBusiness
Export to GitLabあなたのGitLab.comアカウントのリポジトリPublish、続いてExport to GitLabProとBusiness
Native projectアプリ全体をスマートフォン用プロジェクトにしたもの。Android StudioとXcodeでビルドしますPublish、続いてPublish to app stores、続いてNativeProとBusiness
Your dataあなた自身のSupabase用のSQL、または1つのコレクションのCSVManage、続いてCloudすべてのプラン

最初の4つは、アプリのビルドが終わるまで使えません。ビルドや変更の実行中、またはまだ何もビルドされていないときは、ボタンはグレーです。

ZIPをダウンロードする

ビルドが終わるまで待つ

Setherionがアプリを書いている間や確認している間は、フォルダーのアイコンはグレーです。

フォルダーのアイコンを押す

Publishの右にあり、ポインターを合わせるとDownload ZIPと表示されます。Freeプランでは王冠が付いていて、代わりにアップグレードの案内が開きます。

ZIPを展開する

ファイルの名前は、coffee-shop.zipのようにアプリの名前になります。中には、それだけで動くプロジェクトが入っています。別の場所で動かすをご覧ください。

GitHubへエクスポートする

開く

Publishを押し、続いてExport to GitHubを押します。

GitHubに接続する

Connect with GitHubを押して承認します。これは、アプリのインポートが非公開リポジトリに使うのと同じ接続です。接続したくない場合は、「Use a token instead (PAT)」を開き、repoスコープの個人用アクセストークンを貼り付けます。貼り付けたトークンは、お使いのブラウザーの中だけに保管されます。

リポジトリに名前を付ける

Repository nameを入力します。名前は小文字になり、英字、数字、ドット、ハイフン、アンダースコア以外の文字はハイフンになります。

Private repositoryを選ぶ

最初はチェックが入っています。これが関係するのは、Setherionがリポジトリを作るときだけです。すでに同じ名前のリポジトリがある場合は更新され、その公開設定はそのままです。

Export to GitHubを押す

数秒後に、ウィンドウに「Pushed to GitHub!」と表示され、Open repoでリポジトリへ移動できます。

いつでももう一度エクスポートして、リポジトリを更新できます。エクスポートのたびに、「Update from Setherion」というコミットが、すでにある履歴の上のデフォルトブランチに追加され、プロジェクトのすべてのファイルがもう一度書き込まれます。リポジトリで変更したファイルのうち、プロジェクトにも含まれているものは置き換えられるので、ご自身の作業は自分のブランチで行ってください。プロジェクトに含まれないファイルはそのままです。

Setherionがリポジトリを作るとき、その説明文は、あなたがアプリのために書いた指示の冒頭から作られます。Private repositoryのチェックを外す前に、そのことを思い出してください。

GitLabへエクスポートする

GitHubと同じ方法です。

開く

Publishを押し、続いてExport to GitLabを押します。

GitLabに接続する

Connect with GitLabを押すか、「Use a token instead (PAT)」を開いて、apiスコープの個人用アクセストークンを貼り付けます。

名前を付けてエクスポートする

Repository nameを決め、Private repositoryにするかどうかを選んでから、Export to GitLabを押します。Open repoでリポジトリへ移動できます。

リポジトリは、あなた自身のユーザー名で、GitLab.com上に作られます。チェックを外さない限り非公開で作られ、すでにあるリポジトリは、GitHubとまったく同じように更新されます。

チームワークスペースでは、GitHubやGitLabへのエクスポートは、送り先のリポジトリとともに監査ログに記録されます。

プロジェクトの中身

ZIPと2つのリポジトリには、同じプロジェクトが入っています。アプリ自身のファイルと、それを動かすために周りに必要なものです。

ファイル内容
src/アプリ本体です。App.js、componentsにある画面と部品、libにあるデータが入っています。
src/main.jsxアプリを起動するエントリーポイントです。アプリが自分で書いていない限り、追加されます。
index.htmlアプリが開くページです。アプリの名前がタイトルになり、画面の言語が設定されています。
vite.config.jsアプリを動かしてビルドするツール、Viteの設定です。アプリの書き方に合わせて、JSXを通常の.jsファイルに書けるようにします。
package.jsonアプリが実際にインポートしているパッケージ、ビルド用のツール、そして3つのスクリプト、dev、build、previewです。
README.md動かし方です。
.gitignorenode_modules、dist、.envファイルをGitに入れないようにします。
.env.exampleZIPだけに入っています。あなた自身のSupabaseで動くアプリに必要な2つの値が、記入するコメントとして書かれています。
supabase/schema.sqlアプリが保存するテーブルをSQLにしたものです。アプリがデータを保存する場合だけで、テーブルだけです。行は入っていません。
src/lib/setherion.jsSetherionにあるアプリのバックエンドとやりとりをする小さなクライアントです。アプリがログイン、データの保存、フォームの送信、AIの呼び出しを行う場合だけです。アプリのIDとSetherionのアドレスが入っています。

画像はプロジェクトにコピーされません。コードはウェブアドレスで画像にリンクしているので、Setherionが保管している場所から読み込まれ続けます。

別の場所で動かす

アプリを動かすコンピューターやホストに、Node.jsが必要です。npmも一緒に入ります。

プロジェクトを手に入れる

ZIPを展開するか、リポジトリをクローンします。

必要なものをインストールする

ターミナルでプロジェクトのフォルダーを開き、npm installを実行します。

動かす

npm run devで、あなたのコンピューター上で起動します。Viteが開くアドレスを表示します。たいていはhttp://localhost:5173です。

ホスト用にビルドする

npm run buildで、完成したサイトがdistというフォルダーに書き出されます。静的ファイルなので、どの静的ホストでも配信できます。

text
npm install
npm run dev
npm run build

アプリに複数のページがある場合は、ホストの設定で、すべてのパスにindex.htmlで応答するようにしてください。多くの静的ホストでは、シングルページアプリの設定やリライトと呼ばれています。この設定がないと、/pricingのようにページを直接開いたとき、アプリではなく「見つかりません」と表示されます。Setherionでは、これは自動で行われます。

あなた自身のSupabaseを使うアプリでは、.env.exampleを.envにコピーして、VITE_SUPABASE_URLとVITE_SUPABASE_ANON_KEYを記入します。どちらも、もともと公開されるものです。ホストがサイトをビルドするときにも、同じ2つの値が必要です。

それでもSetherionに頼る部分

エクスポートしたコードは、公開したアプリが動かしているコードそのものなので、サーバーが裏にあるものについては、引き続きSetherionにアクセスします。どの部分がそうかを知っておくと、外へ移る前に何をすべきかがわかります。

アプリの部分エクスポートでの扱いすること
ログインと保存したデータsrc/lib/setherion.jsにアプリのIDが入っているので、エクスポートしたアプリは、公開したアプリと同じアカウントとレコードを読み書きします。それが必要な間は、アプリをSetherionに置いておきます。頼らなくなるには、下記のとおり、データをあなた自身のSupabaseへ移します。
フォーム、AI、連携したサービス、シークレット同じファイルを通ります。Setherionがキーを保管し、呼び出しを行い、1回ごとに連携クレジットとして数えます。シークレットキーがエクスポートしたコードに書き込まれることはありません。サービスを接続したままにします。または、それらの呼び出しを、あなた自身のサーバーコードとあなた自身のキーに置き換えます。
支払いショップのチェックアウトはSetherionに問い合わせます。SetherionはあなたのStripeキーを保管し、Stripeが支払い済みと伝えたときに注文を記録します。上と同じです。アプリにStripeを接続したままにするか、あなた自身のサーバーでチェックアウトを作ります。
画像と動画ウェブアドレスでリンクされ、Setherionが保管しています。アプリを削除する前に、必要なものをダウンロードしてください。画像と動画は、アプリと一緒に削除されます。
あなた自身のSupabaseすでにあなた自身のSupabaseを使っているアプリは、データのためにSetherionを使いません。上のとおり、2つのVITE_の値を記入します。

クライアントはブラウザーからSetherionのAPIを呼び出し、そのAPIはどのアドレスからの呼び出しも受け付けるので、エクスポートしたアプリは、どこでホストしてもAPIにアクセスできます。アプリを削除したり、バックエンドを一時停止したり、月の連携クレジットの上限を超えたりすると、公開したアプリと同じように、それらの呼び出しは止まります。詳細設定と連携クレジットをご覧ください。

プランが終了すると、アカウントはFreeに移り、Freeではコードを持ち出せません。その前にエクスポートするか、必要な間はプランを続けてください。

データをあなた自身のSupabaseへ移す

Setherionのバックエンドから離れるには、Manageを開き、続いてCloud、Advanced settingsを開いて、Move this app to your own Supabaseを使います。すべてのプランで使え、行をエクスポートできるのは、アプリのオーナーか管理者だけです。

  • Build the exportは、テーブルのSQLと、現時点の行を書き出します。各コレクションの最初の2,000行までで、実際の合計も表示されるので、切り捨てがあるかどうかがわかります。
  • それを、あなたのSupabaseプロジェクトで実行します。Supabaseアカウントを接続していればRun it for meで、そうでなければ、コピーするか.sqlファイルをダウンロードします。
  • 続いてRewrite the app for my Supabaseが、あなたのプロジェクトを使うようにアプリを変更するよう、アシスタントに頼みます。ほかの変更と同じようにクレジットがかかり、Supabaseコネクタが必要です。

3つのものは移りません。パスワードは移せないので、人々のログイン情報(人々は新しく登録し直します)、アップロードした画像と動画(Setherionに残ります)、そして各コレクションの2,000行を超える行です。1つのコレクションだけなら、Cloudの下のDatabaseにあるExport CSVで、最新の最大10,000件のレコードをダウンロードできます。詳細設定とデータベースをご覧ください。

スマートフォン用プロジェクト

Nativeは、アプリ全体をスマートフォン用プロジェクトとして、ZIPで、またはGitHubリポジトリへのプッシュで渡します。上のプロジェクトにCapacitorのシェルを加えたもので、Android Studioと、MacのXcodeでビルドし、Node 22以降が必要です。ウェブ版のプロジェクトと同じ方法で、引き続きSetherionにアクセスします。コマンド、アプリID、署名については、ネイティブプロジェクトをご覧ください。

アプリを取り込む

インポートはその逆の方向です。コードのリポジトリやZIP、Lovable、Bolt、v0、Base44で作ったアプリ、またはスプレッドシートを取り込みます。インポートはコピーではなく、作り直しです。Setherionはコードを読み、その動作を平易な説明に書き起こし、その説明からアプリをもう一度作ります。ここからエクスポートしたリポジトリでも同じです。新しいアプリ1つ分に、読み取りの分が加わった料金がかかり、最初のインポートは無料です。アプリのインポートをご覧ください。

このページは役に立ちましたか?

コミュニティに参加

質問、アイデア、ほかの人が作っているもの。