Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 32 additions & 32 deletions README.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/adding-a-provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ type:

1. Register the event and any new scopes your extension needs in the
Throttle dashboard — see
[Throttle's Events guide](https://docs.usethrottle.dev/developers/extensions/events)
and [Scopes guide](https://docs.usethrottle.dev/developers/extensions/scopes).
[Throttle's Events guide](https://usethrottle.dev/docs/developers/extensions/events/)
and [Scopes guide](https://usethrottle.dev/docs/developers/extensions/scopes/).
2. Branch on `event.type` inside your provider's `handleEvent` (see the
demo provider's `if (event.type === 'order.created')` check) and read
whatever fields you need from `event.data` — validate their shape
Expand Down
4 changes: 2 additions & 2 deletions docs/cloudflare-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ The rest of `wrangler.jsonc`'s `vars` block matters for a real deployment:
the UI itself (same origin).
- `THROTTLE_READ_SCOPE` / `THROTTLE_MUTATION_SCOPE` — the scope strings your
extension declares and Throttle grants; see
[Throttle's Scopes guide](https://docs.usethrottle.dev/developers/extensions/scopes).
[Throttle's Scopes guide](https://usethrottle.dev/docs/developers/extensions/scopes/).
- `QUEUE_MAX_ATTEMPTS` — the durable business-retry cap enforced by
`packages/core`'s retry policy (defaults to `5`; see
[architecture.md](architecture.md#webhook--queue--provider)). This is
Expand Down Expand Up @@ -139,7 +139,7 @@ pnpm --filter @starter/cloudflare exec wrangler deploy
After deploying, point your Throttle extension's registered backend/UI
URLs at the deployed Worker and hosted UI, and move the installation out of
Test mode per
[Throttle's Publishing guide](https://docs.usethrottle.dev/developers/extensions/publishing)
[Throttle's Publishing guide](https://usethrottle.dev/docs/developers/extensions/publishing/)
when you're ready.

## 7. Verify release readiness
Expand Down
2 changes: 1 addition & 1 deletion docs/local-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ origin when you register it in Throttle **Test mode** — see the
[README's Test-mode walkthrough](../README.md#register-in-test-mode-real-throttle-install)
for the full registration → install → iframe verification → test-event →
uninstall sequence, and
[Throttle's Install guide](https://docs.usethrottle.dev/developers/extensions/install)
[Throttle's Install guide](https://usethrottle.dev/docs/developers/extensions/install/)
for the platform-side steps.

If you also need the Worker reachable from Throttle (e.g. to receive real
Expand Down
4 changes: 2 additions & 2 deletions docs/operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,15 +131,15 @@ If you suspect a credential or signing secret has been compromised:
schema change as a coordinated deploy of both `apps/cloudflare` and
`apps/extension-ui` (they should always be deployed together from the
same commit).
- See [Throttle's Versioning guide](https://docs.usethrottle.dev/developers/extensions/versioning)
- See [Throttle's Versioning guide](https://usethrottle.dev/docs/developers/extensions/versioning/)
for how the platform expects extension version publication and rollout to
work.

## Deprecation

When you stop maintaining an extension built from this starter:

1. Follow [Throttle's Publishing guide](https://docs.usethrottle.dev/developers/extensions/publishing)
1. Follow [Throttle's Publishing guide](https://usethrottle.dev/docs/developers/extensions/publishing/)
to unpublish or mark the extension deprecated in the dashboard so new
installs are blocked.
2. Decide what to do with existing installations' data under your own data
Expand Down
7 changes: 4 additions & 3 deletions docs/release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Throttle installation.
behind by an incomplete cleanup.
- [ ] **Least-privilege scopes requested.** Confirm the extension only
requests the Throttle scopes it actually uses (see
[Throttle's Scopes guide](https://docs.usethrottle.dev/developers/extensions/scopes))
[Throttle's Scopes guide](https://usethrottle.dev/docs/developers/extensions/scopes/))
and that `THROTTLE_READ_SCOPE` / `THROTTLE_MUTATION_SCOPE` in
`apps/cloudflare/wrangler.jsonc` match what you registered in the
Throttle dashboard.
Expand Down Expand Up @@ -106,8 +106,9 @@ things only you, the publisher, can supply:
- Placeholder Cloudflare identifiers in `apps/cloudflare/wrangler.jsonc`
(Worker name, D1 database name/ID, queue names) until you replace them
per [cloudflare-deployment.md](cloudflare-deployment.md).
- The placeholder `<this-repository-url>` in the README quickstart until
you replace it with your published repository's real URL.
- If the README quickstart still contains the placeholder
`<this-repository-url>` (rather than a real clone URL), until you replace
it with your published repository's real URL.

Warnings do not fail the command; they are a reminder of what still needs
publisher-specific values before a real deploy. If `pnpm verify:release`
Expand Down
30 changes: 15 additions & 15 deletions tests/documentation.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,21 +87,21 @@ describe('README canonical Throttle links', () => {
const canonicalLinks = [
'https://usethrottle.dev',
'https://app.usethrottle.dev',
'https://docs.usethrottle.dev/developers/extensions/overview',
'https://docs.usethrottle.dev/developers/extensions/get-started',
'https://docs.usethrottle.dev/developers/extensions/starter-repository',
'https://docs.usethrottle.dev/developers/extensions/build',
'https://docs.usethrottle.dev/developers/extensions/identity',
'https://docs.usethrottle.dev/developers/extensions/events',
'https://docs.usethrottle.dev/developers/extensions/scopes',
'https://docs.usethrottle.dev/developers/extensions/install',
'https://docs.usethrottle.dev/developers/extensions/testing',
'https://docs.usethrottle.dev/developers/extensions/versioning',
'https://docs.usethrottle.dev/developers/extensions/security',
'https://docs.usethrottle.dev/developers/extensions/publishing',
'https://docs.usethrottle.dev/developers/extensions/operations',
'https://docs.usethrottle.dev/developers/api-reference',
'https://docs.usethrottle.dev/developers/packages',
'https://usethrottle.dev/docs/developers/extensions/overview/',
'https://usethrottle.dev/docs/developers/extensions/get-started/',
'https://usethrottle.dev/docs/developers/extensions/starter-repository/',
'https://usethrottle.dev/docs/developers/extensions/build/',
'https://usethrottle.dev/docs/developers/extensions/identity/',
'https://usethrottle.dev/docs/developers/extensions/events/',
'https://usethrottle.dev/docs/developers/extensions/scopes/',
'https://usethrottle.dev/docs/developers/extensions/install/',
'https://usethrottle.dev/docs/developers/extensions/testing/',
'https://usethrottle.dev/docs/developers/extensions/versioning/',
'https://usethrottle.dev/docs/developers/extensions/security/',
'https://usethrottle.dev/docs/developers/extensions/publishing/',
'https://usethrottle.dev/docs/developers/extensions/operations/',
'https://usethrottle.dev/docs/developers/api-reference/',
'https://usethrottle.dev/docs/developers/packages/',
];

it.each(canonicalLinks)('links %s', (url) => {
Expand Down
Loading