diff --git a/.github/workflows/create_ton_appkit_test.yml b/.github/workflows/create_ton_appkit_test.yml index 2b7830051..8ccc389dc 100644 --- a/.github/workflows/create_ton_appkit_test.yml +++ b/.github/workflows/create_ton_appkit_test.yml @@ -57,14 +57,28 @@ jobs: TARBALL="$(ls create-ton-appkit-*.tgz)" echo "TARBALL=$(pwd)/$TARBALL" >> "$GITHUB_ENV" - - name: Install create-ton-appkit globally - shell: bash - run: npm install -g "$TARBALL" - - - name: Scaffold a project + - name: Scaffold a project via " run" (${{ matrix.pm }}) shell: bash working-directory: ${{ runner.temp }} - run: create-ton-appkit my-app -y --template react --app-url https://example.com + run: | + set -euo pipefail + APP_URL=https://example.com + tname="$(basename "$TARBALL")"; cp "$TARBALL" "./$tname" + + printf '{"name":"_scaffolder","private":true,"scripts":{"scaffold":"create-ton-appkit my-app -y --template react --app-url %s"}}' "$APP_URL" > package.json + npm i "./$tname" >/dev/null 2>&1 + case "${{ matrix.pm }}" in + npm) npm run scaffold ;; + pnpm) pnpm run scaffold ;; + yarn) yarn run scaffold ;; + bun) bun run scaffold ;; + esac + + rm -rf node_modules package.json package-lock.json pnpm-lock.yaml yarn.lock bun.lock bun.lockb "$tname" + # Sanity-check the generated TonConnect manifest got the requested app URL. + manifest="my-app/public/tonconnect-manifest.json" + grep -q "\"url\": \"$APP_URL\"" "$manifest" + grep -q "\"iconUrl\": \"$APP_URL/favicon.svg\"" "$manifest" - name: Install dependencies (${{ matrix.pm }}) shell: bash diff --git a/packages/create-ton-appkit/README.md b/packages/create-ton-appkit/README.md index 2a647659a..72f94428a 100644 --- a/packages/create-ton-appkit/README.md +++ b/packages/create-ton-appkit/README.md @@ -31,7 +31,7 @@ pnpm create ton-appkit my-app --template react --app-url https://example.com -y |------|-------|-------------|---------| | `[project-name]` | | Project directory name | `my-ton-app` | | `--template ` | `-t` | Template to use | `react` | -| `--app-url ` | | App URL for TonConnect manifest | `https://your-app.example.com` | +| `--app-url ` | | App URL for TonConnect manifest | `https://appkit-template.vercel.app` | | `--overwrite` | `-o` | Overwrite existing directory | `false` | | `--yes` | `-y` | Accept all defaults (non-interactive) | `false` | | `--help` | `-h` | Show help message | | diff --git a/packages/create-ton-appkit/src/index.ts b/packages/create-ton-appkit/src/index.ts index 71fe94d39..27b1d2bb6 100644 --- a/packages/create-ton-appkit/src/index.ts +++ b/packages/create-ton-appkit/src/index.ts @@ -197,12 +197,12 @@ async function run(): Promise { let appUrl = argv['app-url'] as string | undefined; if (!appUrl) { if (useDefaults) { - appUrl = 'https://your-app.example.com'; + appUrl = 'https://appkit-template.vercel.app'; } else { const result = await prompts.text({ message: 'App URL (for TonConnect manifest)', - placeholder: 'https://your-app.example.com', - defaultValue: 'https://your-app.example.com', + placeholder: 'https://appkit-template.vercel.app', + defaultValue: 'https://appkit-template.vercel.app', }); if (prompts.isCancel(result)) { prompts.cancel('Cancelled.'); diff --git a/packages/create-ton-appkit/template-react/_env b/packages/create-ton-appkit/template-react/_env index ad3550dd8..4f02f821b 100644 --- a/packages/create-ton-appkit/template-react/_env +++ b/packages/create-ton-appkit/template-react/_env @@ -3,4 +3,4 @@ VITE_TONCENTER_API_KEY= # Override the TonConnect manifest URL. Defaults to ${origin}/tonconnect-manifest.json. -# VITE_TONCONNECT_MANIFEST_URL=https://your-app.example.com/tonconnect-manifest.json +# VITE_TONCONNECT_MANIFEST_URL=https://appkit-template.vercel.app/tonconnect-manifest.json diff --git a/packages/create-ton-appkit/template-react/public/tonconnect-manifest.json b/packages/create-ton-appkit/template-react/public/tonconnect-manifest.json index 165ac3585..886df16ff 100644 --- a/packages/create-ton-appkit/template-react/public/tonconnect-manifest.json +++ b/packages/create-ton-appkit/template-react/public/tonconnect-manifest.json @@ -1,5 +1,5 @@ { - "url": "https://your-app.example.com", + "url": "https://appkit-template.vercel.app", "name": "TON AppKit Template", - "iconUrl": "https://your-app.example.com/favicon.svg" + "iconUrl": "https://appkit-template.vercel.app/favicon.svg" }