generate-fixtures round trip and new fixture builder API (api-components-bundle #321)
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- php
- Domain
- documentation
Research direction
Start with the fixtures/scaffold documentation pages and the silverback:api-components:generate-fixtures command described in the issue. Document the four CwaFixtureBuilder methods, redirects, route-dependent callbacks, and how to capture a live site before a purge-and-reload; done means the documented API and workflow cover the listed fixture behavior.
Written by the indexing model from the issue text.
Description
Source: components-web-app/api-components-bundle#321, PR components-web-app/api-components-bundle#322.
silverback:api-components:generate-fixtures now writes a scaffold that reloads as the same site after a purge. It carries:
- published state and drafts
- uploaded files, copied to
assets/next to the scaffold - component-owned groups and groups shared through
locationReference - relations (e.g. a navigation link's route), dates, and inherited and non-public fields
- meta descriptions, scheduled or draft routes (
liveAt) and redirects
The command lists anything it cannot reproduce.
New CwaFixtureBuilder API:
allow:on page groupsliveAt(?DateTimeImmutable)on page and page data builders$cwa->redirect('/old', to: 'routeName')$cwa->afterRoutes(fn (CwaFixtureBuilder $cwa) => ...), which runs once routes exist and before positions are created. Use it for anything that references a route.
Docs impact: the fixtures / scaffold pages should document the four builder methods and how to capture a live site with generate-fixtures before a purge-and-reload.
- Dominant language
- Vue
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from components-web-app/docs
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
components-web-app/docs#119 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
components-web-app/docs#1 · 2 comments ·
All issues in components-web-app/docs
Similar issues
-
module-request
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Complexity: Small P-Feature: Projects page ready for merge team role: back end/devOps role: front end size: 0.25pt
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 67/100
bellingcat/toolkit#905 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
blinklabs-io/gouroboros#2577 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day