fix: useStories() frameUrl #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Stories to GitHub Pages | |
| on: | |
| push: | |
| branches: [main, feat/next] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # Only one deployment at a time; skip queued runs but never cancel an in-progress one. | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: latest | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: pnpm | |
| # ── Module ────────────────────────────────────────────────────────────── | |
| - name: Install root dependencies | |
| run: pnpm install | |
| - name: Build module | |
| run: pnpm build | |
| # ── Playground dependencies ───────────────────────────────────────────── | |
| - name: Install playground dependencies | |
| working-directory: playground | |
| run: pnpm install | |
| # ── Frame pass ────────────────────────────────────────────────────────── | |
| # Generates the component renderer routes at /-frame/** | |
| # NUXT_STORIES_MODE overrides the mode option so the same nuxt.config is reused. | |
| - name: Generate frame output | |
| working-directory: playground | |
| run: pnpm nuxi generate | |
| env: | |
| NUXT_STORIES: "1" | |
| NUXT_STORIES_MODE: frame | |
| # Frame gets its own sub-base so its _nuxt/ assets land under /-frame/_nuxt/ | |
| # after the merge, preventing collision with the shell's _nuxt/ bundle. | |
| NUXT_APP_BASE_URL: /nuxt-stories/-frame/ | |
| - name: Save frame output | |
| run: mkdir -p playground/.output-tmp && mv playground/.output/public playground/.output-tmp/frame-public | |
| # ── Shell pass ────────────────────────────────────────────────────────── | |
| # Generates the stories UI (nav + iframe wrapper) | |
| - name: Generate shell output | |
| working-directory: playground | |
| run: pnpm nuxi generate | |
| env: | |
| NUXT_STORIES: "1" | |
| NUXT_STORIES_MODE: shell | |
| NUXT_APP_BASE_URL: /nuxt-stories/ | |
| # ── Merge outputs ─────────────────────────────────────────────────────── | |
| # Copy the frame output's /-frame/** into the shell output so both are | |
| # served from the same origin (required for same-origin postMessage). | |
| - name: Merge frame output into shell output | |
| run: | | |
| cp -r playground/.output-tmp/frame-public playground/.output/public/-frame && rm -rf playground/.output-tmp | |
| # GitHub Pages ignores folders prefixed with _ by default; .nojekyll disables this. | |
| - name: Add .nojekyll | |
| run: touch playground/.output/public/.nojekyll | |
| - name: Upload Pages artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: playground/.output/public | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |