@etus/bhono-app 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts +13 -0
- package/dist/cli.js +46 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.test.d.ts +1 -0
- package/dist/cli.test.js +26 -0
- package/dist/cli.test.js.map +1 -0
- package/dist/generator.d.ts +14 -0
- package/dist/generator.js +142 -0
- package/dist/generator.js.map +1 -0
- package/dist/generator.test.d.ts +1 -0
- package/dist/generator.test.js +127 -0
- package/dist/generator.test.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +97 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts.d.ts +25 -0
- package/dist/prompts.js +83 -0
- package/dist/prompts.js.map +1 -0
- package/dist/prompts.test.d.ts +1 -0
- package/dist/prompts.test.js +24 -0
- package/dist/prompts.test.js.map +1 -0
- package/dist/providers/cloudflare.d.ts +37 -0
- package/dist/providers/cloudflare.js +61 -0
- package/dist/providers/cloudflare.js.map +1 -0
- package/dist/providers/cloudflare.test.d.ts +1 -0
- package/dist/providers/cloudflare.test.js +29 -0
- package/dist/providers/cloudflare.test.js.map +1 -0
- package/dist/providers/github.d.ts +16 -0
- package/dist/providers/github.js +57 -0
- package/dist/providers/github.js.map +1 -0
- package/dist/providers/github.test.d.ts +1 -0
- package/dist/providers/github.test.js +16 -0
- package/dist/providers/github.test.js.map +1 -0
- package/dist/templates.d.ts +8 -0
- package/dist/templates.js +88 -0
- package/dist/templates.js.map +1 -0
- package/dist/templates.test.d.ts +1 -0
- package/dist/templates.test.js +26 -0
- package/dist/templates.test.js.map +1 -0
- package/package.json +36 -0
- package/templates/base/.claude/agents/architect-review.md +160 -0
- package/templates/base/.claude/agents/backend-architect.md +308 -0
- package/templates/base/.claude/agents/code-reviewer.md +170 -0
- package/templates/base/.claude/agents/performance-engineer.md +166 -0
- package/templates/base/.claude/agents/test-automator.md +219 -0
- package/templates/base/.claude/commands/check-skill-rules.md +53 -0
- package/templates/base/.claude/commands/claude-md.md +250 -0
- package/templates/base/.claude/commands/code-prompt.md +212 -0
- package/templates/base/.claude/commands/explain-code.md +194 -0
- package/templates/base/.claude/commands/init-projec.md +89 -0
- package/templates/base/.claude/commands/linear/README.md +297 -0
- package/templates/base/.claude/commands/linear/create-issue.md +190 -0
- package/templates/base/.claude/commands/linear/implement-issue.md +248 -0
- package/templates/base/.claude/commands/linear/process-triage.md +399 -0
- package/templates/base/.claude/commands/linear/setup.md +180 -0
- package/templates/base/.claude/commands/prime.md +9 -0
- package/templates/base/.claude/commands/review-gap.md +10 -0
- package/templates/base/.claude/commands/setup-aa.md +311 -0
- package/templates/base/.claude/commands/ship.md +262 -0
- package/templates/base/.claude/commands/tools.md +3 -0
- package/templates/base/.claude/docs/claude-progress.txt +107 -0
- package/templates/base/.claude/hooks/package-lock.json +556 -0
- package/templates/base/.claude/hooks/package.json +16 -0
- package/templates/base/.claude/hooks/skill-activation-prompt.sh +7 -0
- package/templates/base/.claude/hooks/skill-activation-prompt.ts +142 -0
- package/templates/base/.claude/hooks/tsconfig.json +19 -0
- package/templates/base/.claude/scripts/check-updates.sh +85 -0
- package/templates/base/.claude/scripts/install_pkgs.sh +66 -0
- package/templates/base/.claude/scripts/setup-project.sh +177 -0
- package/templates/base/.claude/scripts/validate-skill-rules.sh +94 -0
- package/templates/base/.claude/settings.json +113 -0
- package/templates/base/.claude/settings.local.json +11 -0
- package/templates/base/.claude/skills/architecture-analyzer/SKILL.md +531 -0
- package/templates/base/.claude/skills/architecture-analyzer/assets/report-template.md +215 -0
- package/templates/base/.claude/skills/architecture-analyzer/references/c4-templates.md +234 -0
- package/templates/base/.claude/skills/architecture-analyzer/references/confidence-levels.md +203 -0
- package/templates/base/.claude/skills/architecture-analyzer/scripts/analyze_structure.py +266 -0
- package/templates/base/.claude/skills/architecture-analyzer/scripts/analyze_tech_debt.py +776 -0
- package/templates/base/.claude/skills/architecture-analyzer/scripts/extract_apis.py +338 -0
- package/templates/base/.claude/skills/architecture-analyzer/scripts/generate_c4.py +283 -0
- package/templates/base/.claude/skills/architecture-analyzer/scripts/generate_erd.py +935 -0
- package/templates/base/.claude/skills/architecture-analyzer/scripts/map_dependencies.py +555 -0
- package/templates/base/.claude/skills/dev-browser/SKILL.md +318 -0
- package/templates/base/.claude/skills/dev-browser/bun.lock +443 -0
- package/templates/base/.claude/skills/dev-browser/package-lock.json +2927 -0
- package/templates/base/.claude/skills/dev-browser/package.json +27 -0
- package/templates/base/.claude/skills/dev-browser/scripts/start-server.ts +117 -0
- package/templates/base/.claude/skills/dev-browser/server.sh +24 -0
- package/templates/base/.claude/skills/dev-browser/src/client.ts +403 -0
- package/templates/base/.claude/skills/dev-browser/src/index.ts +281 -0
- package/templates/base/.claude/skills/dev-browser/src/snapshot/__tests__/snapshot.test.ts +223 -0
- package/templates/base/.claude/skills/dev-browser/src/snapshot/browser-script.ts +877 -0
- package/templates/base/.claude/skills/dev-browser/src/snapshot/index.ts +14 -0
- package/templates/base/.claude/skills/dev-browser/src/snapshot/inject.ts +13 -0
- package/templates/base/.claude/skills/dev-browser/src/types.ts +27 -0
- package/templates/base/.claude/skills/dev-browser/tsconfig.json +36 -0
- package/templates/base/.claude/skills/dev-browser/vitest.config.ts +12 -0
- package/templates/base/.claude/skills/linear/SKILL.md +440 -0
- package/templates/base/.claude/skills/linear/examples.md +262 -0
- package/templates/base/.claude/skills/linear/lib/client.ts +51 -0
- package/templates/base/.claude/skills/linear/lib/config.ts +106 -0
- package/templates/base/.claude/skills/linear/lib/output.ts +34 -0
- package/templates/base/.claude/skills/linear/package-lock.json +698 -0
- package/templates/base/.claude/skills/linear/package.json +27 -0
- package/templates/base/.claude/skills/linear/reference.md +263 -0
- package/templates/base/.claude/skills/linear/scripts/comments/create.ts +47 -0
- package/templates/base/.claude/skills/linear/scripts/comments/list.ts +47 -0
- package/templates/base/.claude/skills/linear/scripts/issues/archive.ts +30 -0
- package/templates/base/.claude/skills/linear/scripts/issues/create.ts +279 -0
- package/templates/base/.claude/skills/linear/scripts/issues/get.ts +68 -0
- package/templates/base/.claude/skills/linear/scripts/issues/list.ts +67 -0
- package/templates/base/.claude/skills/linear/scripts/issues/update.ts +281 -0
- package/templates/base/.claude/skills/linear/scripts/labels/add-to-issue.ts +63 -0
- package/templates/base/.claude/skills/linear/scripts/labels/create.ts +45 -0
- package/templates/base/.claude/skills/linear/scripts/labels/list.ts +30 -0
- package/templates/base/.claude/skills/linear/scripts/list-teams.ts +52 -0
- package/templates/base/.claude/skills/linear/scripts/setup/setup-credentials.ts +96 -0
- package/templates/base/.claude/skills/linear/scripts/status/list.ts +31 -0
- package/templates/base/.claude/skills/linear/scripts/status/set-by-name.ts +78 -0
- package/templates/base/.claude/skills/linear/scripts/status/update.ts +44 -0
- package/templates/base/.claude/skills/linear/scripts/users/list.ts +59 -0
- package/templates/base/.claude/skills/linear/scripts/users/me.ts +20 -0
- package/templates/base/.claude/skills/linear/templates/README.md +203 -0
- package/templates/base/.claude/skills/linear/templates/api-reference.md +258 -0
- package/templates/base/.claude/skills/linear/templates/bug-report.md +99 -0
- package/templates/base/.claude/skills/linear/templates/feature-request.md +118 -0
- package/templates/base/.claude/skills/linear/templates/security-issue.md +162 -0
- package/templates/base/.claude/skills/linear/templates/sprint-task.md +175 -0
- package/templates/base/.claude/skills/linear/templates/tech-debt.md +137 -0
- package/templates/base/.claude/skills/linear/tsconfig.json +17 -0
- package/templates/base/.claude/skills/linear/workflows/issue-lifecycle.md +317 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/SKILL.md +113 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/assets/global-setup.template.js +97 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/assets/playwright.config.template.js +171 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/assets/test-template.spec.js +163 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/examples/README.md +26 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/examples/ads.email-deeplink.spec.ts +12 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/examples/mobile.realism.spec.ts +16 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/examples/smoke.home.spec.ts +6 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/architecture.md +578 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/best-practices.md +260 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/ci-reporting.md +86 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/debugging.md +629 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/mobile-realism.md +50 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/optimization.md +488 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/patterns.md +513 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/resources.md +44 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/references/visual-a11y.md +66 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/scripts/auth-setup.js +202 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/scripts/performance-analyzer.js +240 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/scripts/trace-url.js +132 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/ci/github-actions.playwright.yml +78 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/fixtures.ts +44 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/global-setup.template.js +97 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/global.setup.ts +35 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/helpers/ad-gpt-observer.ts +80 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/helpers/chromium-mobile-profile.ts +93 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/playwright.config.template.js +171 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/playwright.config.ts +126 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/test-template.spec.js +163 -0
- package/templates/base/.claude/skills/playwright-e2e-testing/templates/tests/email-deeplink.ads.spec.ts +44 -0
- package/templates/base/.claude/skills/skill-rules.json +184 -0
- package/templates/base/.claude/skills/wrangler/SKILL.md +209 -0
- package/templates/base/.claude/skills/wrangler/resources/api.md +494 -0
- package/templates/base/.claude/skills/wrangler/resources/bundling.md +83 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/cert.md +64 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/check.md +66 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/containers.md +157 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/d1.md +843 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/delete.md +27 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/deploy.md +139 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/deployments.md +56 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/dev.md +157 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/dispatch-namespace.md +69 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/docs.md +61 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/how-to-run.md +62 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/hyperdrive.md +425 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/init.md +31 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/kv-bulk.md +265 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/kv-key.md +353 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/kv-namespace.md +265 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/login.md +23 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/logout.md +19 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/mtls-certificate.md +69 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/pages.md +175 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/pipelines.md +76 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/queues.md +132 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/r2-bucket.md +342 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/r2-object.md +267 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/r2-sql.md +65 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/rollback.md +40 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/secret.md +308 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/secrets-store-secret.md +100 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/secrets-store-store.md +60 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/setup.md +67 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/tail.md +37 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/telemetry.md +64 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/triggers.md +39 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/types.md +73 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/vectorize.md +941 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/versions.md +95 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/whoami.md +49 -0
- package/templates/base/.claude/skills/wrangler/resources/commands/workflows.md +117 -0
- package/templates/base/.claude/skills/wrangler/resources/commands.md +138 -0
- package/templates/base/.claude/skills/wrangler/resources/configuration.md +2176 -0
- package/templates/base/.claude/skills/wrangler/resources/custom-builds.md +55 -0
- package/templates/base/.claude/skills/wrangler/resources/deprecations.md +279 -0
- package/templates/base/.claude/skills/wrangler/resources/enviroments.md +416 -0
- package/templates/base/.claude/skills/wrangler/resources/extract_sections.py +119 -0
- package/templates/base/.claude/skills/wrangler/resources/process_content.py +94 -0
- package/templates/base/.claude/skills/wrangler/resources/system-enviroments-variables.md +120 -0
- package/templates/base/.dev.vars.example +15 -0
- package/templates/base/.env.example +29 -0
- package/templates/base/.github/workflows/test.yml +127 -0
- package/templates/base/.nycrc.json +16 -0
- package/templates/base/CLAUDE.md +218 -0
- package/templates/base/README.md +670 -0
- package/templates/base/auth-setup-error.png +0 -0
- package/templates/base/config/drizzle.config.ts +10 -0
- package/templates/base/config/eslint.config.js +364 -0
- package/templates/base/config/wrangler.json +76 -0
- package/templates/base/docs/app_spec.txt +879 -0
- package/templates/base/docs/app_spec_template.md +681 -0
- package/templates/base/docs/architecture/README.md +8 -0
- package/templates/base/docs/architecture/data-requirements.md +109 -0
- package/templates/base/docs/architecture/erd.md +91 -0
- package/templates/base/docs/features/feature_list.json +3128 -0
- package/templates/base/docs/hono-boilerplate-plan.md +1774 -0
- package/templates/base/docs/test-coverage-gap-analysis.md +242 -0
- package/templates/base/docs/testing.md +188 -0
- package/templates/base/index.html +16 -0
- package/templates/base/package.json +115 -0
- package/templates/base/playwright.config.ts +158 -0
- package/templates/base/pnpm-lock.yaml +8175 -0
- package/templates/base/scripts/capture-prod-session.ts +250 -0
- package/templates/base/scripts/generate-openapi.ts +23 -0
- package/templates/base/scripts/init.sh +121 -0
- package/templates/base/src/client/__tests__/button.test.tsx +30 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-authenticated-should-display-dashboard-stats-cards-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-authenticated-should-display-quick-action-cards-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-authenticated-should-display-recent-activity-section-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-authenticated-should-display-user-first-name-in-welcome-message-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-authenticated-should-display-user-information-in-sidebar-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-authenticated-should-render-dashboard-when-authenticated-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-authenticated-should-show-navigation-sidebar-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/dashboard.test.tsx/Dashboard-Page-when-unauthenticated-should-redirect-to-login-when-not-authenticated-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/login.test.tsx/Login-Page-should-display-Google-OAuth-login-button-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/login.test.tsx/Login-Page-should-have-a-link-back-to-home-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/login.test.tsx/Login-Page-should-render-login-content-without-waiting-for-authentication-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/login.test.tsx/Login-Page-should-render-login-page-at--login-route-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/login.test.tsx/Login-Page-should-show-Terms-of-Service-and-Privacy-Policy-links-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/login.test.tsx/Login-Page-should-trigger-OAuth-flow-when-clicking-login-button-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-404-handling-should-display-404-text-on-not-found-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-404-handling-should-have-navigation-options-on-404-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-404-handling-should-render-404-page-for-unknown-routes-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-authenticated-navigation-should-navigate-from-dashboard-to-account-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-authenticated-navigation-should-navigate-from-dashboard-to-integrations-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-authenticated-navigation-should-navigate-from-dashboard-to-settings-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-authenticated-navigation-should-navigate-from-dashboard-to-team-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-home-page-navigation-should-display-navigation-links-on-home-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-home-page-navigation-should-have-correct-link-destinations-on-home-page-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-unauthenticated-navigation-should-allow-access-to-home-page-without-authentication-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-unauthenticated-navigation-should-allow-access-to-login-page-without-authentication-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-unauthenticated-navigation-should-redirect-unauthenticated-users-from-dashboard-to-login-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-unauthenticated-navigation-should-redirect-unauthenticated-users-from-settings-to-login-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/__screenshots__/navigation.test.tsx/Navigation-unauthenticated-navigation-should-redirect-unauthenticated-users-from-team-to-login-1.png +0 -0
- package/templates/base/src/client/__tests__/routes/authenticated-layout.test.tsx +252 -0
- package/templates/base/src/client/__tests__/routes/dashboard.test.tsx +136 -0
- package/templates/base/src/client/__tests__/routes/error-components.test.tsx +186 -0
- package/templates/base/src/client/__tests__/routes/login.test.tsx +112 -0
- package/templates/base/src/client/__tests__/routes/navigation.test.tsx +272 -0
- package/templates/base/src/client/__tests__/routes/root-layout.test.tsx +65 -0
- package/templates/base/src/client/__tests__/setup-browser.ts +15 -0
- package/templates/base/src/client/__tests__/setup.ts +32 -0
- package/templates/base/src/client/__tests__/test-utils.tsx +135 -0
- package/templates/base/src/client/api/.gitkeep +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-can-be-collapsed-by-default-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-expands-when-collapsed-and-expand-button-is-clicked-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-handles-logout-button-click-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-handles-navigation-clicks-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-hides-navigation-labels-when-collapsed-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-highlights-active-route-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-renders-sidebar-navigation-items-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-shows-keyboard-shortcut-hint-when-expanded-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-shows-user-info-when-authenticated-1.png +0 -0
- package/templates/base/src/client/components/__tests__/__screenshots__/sidebar.test.tsx/Sidebar-shows-user-initials-in-avatar-fallback-1.png +0 -0
- package/templates/base/src/client/components/__tests__/error-boundary.test.tsx +97 -0
- package/templates/base/src/client/components/__tests__/sidebar.test.tsx +281 -0
- package/templates/base/src/client/components/error-boundary.tsx +68 -0
- package/templates/base/src/client/components/icons.tsx +106 -0
- package/templates/base/src/client/components/layout/.gitkeep +0 -0
- package/templates/base/src/client/components/sidebar.tsx +267 -0
- package/templates/base/src/client/components/ui/.gitkeep +0 -0
- package/templates/base/src/client/components/ui/__tests__/avatar.test.tsx +308 -0
- package/templates/base/src/client/components/ui/__tests__/card.test.tsx +214 -0
- package/templates/base/src/client/components/ui/__tests__/dialog.test.tsx +297 -0
- package/templates/base/src/client/components/ui/__tests__/error-fallback.test.tsx +145 -0
- package/templates/base/src/client/components/ui/__tests__/input.test.tsx +98 -0
- package/templates/base/src/client/components/ui/__tests__/loading-skeleton.test.tsx +139 -0
- package/templates/base/src/client/components/ui/__tests__/skeleton.test.tsx +44 -0
- package/templates/base/src/client/components/ui/__tests__/sonner.test.tsx +28 -0
- package/templates/base/src/client/components/ui/__tests__/tabs.test.tsx +233 -0
- package/templates/base/src/client/components/ui/avatar.tsx +101 -0
- package/templates/base/src/client/components/ui/badge.tsx +46 -0
- package/templates/base/src/client/components/ui/button.tsx +72 -0
- package/templates/base/src/client/components/ui/card.tsx +86 -0
- package/templates/base/src/client/components/ui/dialog.tsx +140 -0
- package/templates/base/src/client/components/ui/error-fallback.tsx +179 -0
- package/templates/base/src/client/components/ui/form.tsx +172 -0
- package/templates/base/src/client/components/ui/input.tsx +24 -0
- package/templates/base/src/client/components/ui/label.tsx +22 -0
- package/templates/base/src/client/components/ui/loading-skeleton.tsx +154 -0
- package/templates/base/src/client/components/ui/separator.tsx +33 -0
- package/templates/base/src/client/components/ui/skeleton.tsx +16 -0
- package/templates/base/src/client/components/ui/sonner.tsx +29 -0
- package/templates/base/src/client/components/ui/tabs.tsx +121 -0
- package/templates/base/src/client/hooks/.gitkeep +0 -0
- package/templates/base/src/client/hooks/__tests__/use-auth.test.tsx +306 -0
- package/templates/base/src/client/hooks/__tests__/use-theme.test.tsx +172 -0
- package/templates/base/src/client/hooks/use-auth.ts +53 -0
- package/templates/base/src/client/hooks/use-theme.tsx +78 -0
- package/templates/base/src/client/index.css +881 -0
- package/templates/base/src/client/lib/query-client.ts +11 -0
- package/templates/base/src/client/lib/utils.ts +7 -0
- package/templates/base/src/client/main.tsx +26 -0
- package/templates/base/src/client/routeTree.gen.ts +258 -0
- package/templates/base/src/client/router.ts +15 -0
- package/templates/base/src/client/routes/$.tsx +77 -0
- package/templates/base/src/client/routes/.gitkeep +0 -0
- package/templates/base/src/client/routes/__root.tsx +34 -0
- package/templates/base/src/client/routes/__tests__/__screenshots__/invite.test.tsx/Invite-Token-Page-pending-invitation-state-should-display-accept-invitation-button-1.png +0 -0
- package/templates/base/src/client/routes/__tests__/__screenshots__/invite.test.tsx/Invite-Token-Page-pending-invitation-state-should-display-decline-button-linking-to-homepage-1.png +0 -0
- package/templates/base/src/client/routes/__tests__/__screenshots__/invite.test.tsx/Invite-Token-Page-pending-invitation-state-should-display-invitation-details--email--workspace--role--1.png +0 -0
- package/templates/base/src/client/routes/__tests__/__screenshots__/invite.test.tsx/Invite-Token-Page-pending-invitation-state-should-have-a-logo-link-to-homepage-1.png +0 -0
- package/templates/base/src/client/routes/__tests__/__screenshots__/invite.test.tsx/Invite-Token-Page-pending-invitation-state-should-render-invitation-page-with-inviter-name-and-workspace-1.png +0 -0
- package/templates/base/src/client/routes/__tests__/__screenshots__/invite.test.tsx/Invite-Token-Page-pending-invitation-state-should-show-terms-of-service-and-privacy-policy-links-1.png +0 -0
- package/templates/base/src/client/routes/__tests__/invite.test.tsx +138 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/account.test.tsx/Account-Page-should-render-Active-Sessions-section-with-session-cards-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/account.test.tsx/Account-Page-should-render-page-with-correct-title--Account--1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/account.test.tsx/Account-Page-should-show-API-Access-section-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/account.test.tsx/Account-Page-should-show-Connected-Accounts-section-with-Google-connected-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/account.test.tsx/Account-Page-should-show-Danger-Zone-section-with-delete-button-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/account.test.tsx/Account-Page-should-show-Security-section-with-Two-Factor-Authentication-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-API-documentation-section-should-display-API-documentation-link-section-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-Create-Webhook-Dialog-should-have-Add-Webhook-trigger-button-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-category-filters-should-display-all-category-buttons-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-integration-cards-should-display-all-integration-cards-with-names-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-integration-cards-should-display-category-badges-on-cards-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-integration-cards-should-show-Configure-button-for-connected-integrations-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-integration-cards-should-show-Connect-button-for-not-connected-integrations-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-integration-cards-should-show-Connected-badge-for-connected-integrations-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-page-rendering-should-display-Available-Integrations-section-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-page-rendering-should-display-Webhooks-section-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-page-rendering-should-display-connected-count-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-page-rendering-should-display-page-description-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-page-rendering-should-display-search-input-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-page-rendering-should-render-with-correct-title--Integrations--1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-search-functionality-should-filter-integrations-based-on-search-query-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-search-functionality-should-search-by-description-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-search-functionality-should-show-no-results-message-when-search-has-no-matches-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-webhooks-section-should-display-existing-webhook-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-webhooks-section-should-display-webhook-events-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-webhooks-section-should-display-webhook-last-delivery-info-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-webhooks-section-should-display-webhook-success-status-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/integrations.test.tsx/Integrations-Page-webhooks-section-should-have-Add-Webhook-button-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Account-tab-should-display-connected-accounts-section-with-Google-provider-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Account-tab-should-display-sessions-and-danger-zone-sections-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Notifications-tab-should-display-all-notification-toggle-options-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Notifications-tab-should-display-email-notifications-section-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Notifications-tab-should-display-toggle-switches-for-notification-options-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Notifications-tab-should-have-toggles-checked-by-default-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Profile-tab-should-display--Save-Changes--button-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Profile-tab-should-display-personal-information-form-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Profile-tab-should-display-profile-picture-section-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Profile-tab-should-display-user-email-in-disabled-email-input-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Profile-tab-should-display-user-initials-in-avatar-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-Profile-tab-should-display-user-name-in-the-name-input-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-page-rendering-should-display-all-three-tabs-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-page-rendering-should-display-page-description-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-page-rendering-should-render-with-correct-title--Settings--1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-tab-navigation-should-show-Profile-tab-as-default-active-tab-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-tab-navigation-should-switch-to-Account-tab-when-clicked-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/settings.test.tsx/Settings-Page-tab-navigation-should-switch-to-Notifications-tab-when-clicked-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/team.test.tsx/Team-Page-should-display-Active-Members-section-with-member-count-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/team.test.tsx/Team-Page-should-display-Pending-Invitations-section-with-invitation-details-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/team.test.tsx/Team-Page-should-have-invite-member-button-that-can-be-clicked-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/team.test.tsx/Team-Page-should-render-page-with-correct-title-and-description-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/team.test.tsx/Team-Page-should-render-search-input-that-filters-team-members-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/__screenshots__/team.test.tsx/Team-Page-should-show-current-user-with---you---indicator-and-role-badge-1.png +0 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/account.test.tsx +324 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/integrations.test.tsx +520 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/settings.test.tsx +414 -0
- package/templates/base/src/client/routes/_authenticated/__tests__/team.test.tsx +374 -0
- package/templates/base/src/client/routes/_authenticated/account.tsx +416 -0
- package/templates/base/src/client/routes/_authenticated/dashboard.tsx +151 -0
- package/templates/base/src/client/routes/_authenticated/integrations.tsx +553 -0
- package/templates/base/src/client/routes/_authenticated/settings.tsx +310 -0
- package/templates/base/src/client/routes/_authenticated/team.tsx +395 -0
- package/templates/base/src/client/routes/_authenticated.tsx +69 -0
- package/templates/base/src/client/routes/index.tsx +155 -0
- package/templates/base/src/client/routes/invite.$token.tsx +191 -0
- package/templates/base/src/client/routes/login.tsx +92 -0
- package/templates/base/src/server/__tests__/fixtures.ts +461 -0
- package/templates/base/src/server/__tests__/mocks/__tests__/db.test.ts +239 -0
- package/templates/base/src/server/__tests__/mocks/__tests__/kv.test.ts +293 -0
- package/templates/base/src/server/__tests__/mocks/__tests__/r2.test.ts +363 -0
- package/templates/base/src/server/__tests__/mocks/db.ts +186 -0
- package/templates/base/src/server/__tests__/mocks/index.ts +33 -0
- package/templates/base/src/server/__tests__/mocks/kv.ts +286 -0
- package/templates/base/src/server/__tests__/mocks/r2.ts +397 -0
- package/templates/base/src/server/__tests__/setup.ts +281 -0
- package/templates/base/src/server/auth/__tests__/guards.test.ts +162 -0
- package/templates/base/src/server/auth/guards.ts +92 -0
- package/templates/base/src/server/auth/permissions.test.ts +45 -0
- package/templates/base/src/server/auth/permissions.ts +139 -0
- package/templates/base/src/server/auth/roles.test.ts +169 -0
- package/templates/base/src/server/auth/roles.ts +141 -0
- package/templates/base/src/server/db/client.ts +12 -0
- package/templates/base/src/server/db/schema/accounts.ts +20 -0
- package/templates/base/src/server/db/schema/audit-logs.ts +26 -0
- package/templates/base/src/server/db/schema/index.ts +7 -0
- package/templates/base/src/server/db/schema/invitations.ts +30 -0
- package/templates/base/src/server/db/schema/refresh-tokens.ts +22 -0
- package/templates/base/src/server/db/schema/user-accounts.ts +25 -0
- package/templates/base/src/server/db/schema/users.ts +33 -0
- package/templates/base/src/server/db/seed.ts +267 -0
- package/templates/base/src/server/env.test.ts +84 -0
- package/templates/base/src/server/env.ts +78 -0
- package/templates/base/src/server/index.ts +82 -0
- package/templates/base/src/server/lib/audit.ts +73 -0
- package/templates/base/src/server/lib/audited-db.test.ts +107 -0
- package/templates/base/src/server/lib/audited-db.ts +154 -0
- package/templates/base/src/server/lib/email.test.ts +116 -0
- package/templates/base/src/server/lib/email.ts +82 -0
- package/templates/base/src/server/lib/errors.test.ts +49 -0
- package/templates/base/src/server/lib/errors.ts +64 -0
- package/templates/base/src/server/lib/oauth.test.ts +238 -0
- package/templates/base/src/server/lib/oauth.ts +113 -0
- package/templates/base/src/server/lib/pagination.test.ts +52 -0
- package/templates/base/src/server/lib/pagination.ts +32 -0
- package/templates/base/src/server/lib/password.test.ts +151 -0
- package/templates/base/src/server/lib/password.ts +151 -0
- package/templates/base/src/server/lib/providers.test.ts +105 -0
- package/templates/base/src/server/lib/providers.ts +62 -0
- package/templates/base/src/server/lib/r2-storage.test.ts +202 -0
- package/templates/base/src/server/lib/r2-storage.ts +107 -0
- package/templates/base/src/server/lib/schema-helpers.ts +16 -0
- package/templates/base/src/server/lib/session.test.ts +758 -0
- package/templates/base/src/server/lib/session.ts +267 -0
- package/templates/base/src/server/lib/tokens.test.ts +208 -0
- package/templates/base/src/server/lib/tokens.ts +65 -0
- package/templates/base/src/server/lib/transaction.test.ts +45 -0
- package/templates/base/src/server/lib/transaction.ts +24 -0
- package/templates/base/src/server/middleware/account.test.ts +201 -0
- package/templates/base/src/server/middleware/account.ts +66 -0
- package/templates/base/src/server/middleware/auth.test.ts +345 -0
- package/templates/base/src/server/middleware/auth.ts +146 -0
- package/templates/base/src/server/middleware/cors.test.ts +88 -0
- package/templates/base/src/server/middleware/cors.ts +26 -0
- package/templates/base/src/server/middleware/error-handler.test.ts +69 -0
- package/templates/base/src/server/middleware/error-handler.ts +43 -0
- package/templates/base/src/server/middleware/index.ts +8 -0
- package/templates/base/src/server/middleware/rate-limit.test.ts +472 -0
- package/templates/base/src/server/middleware/rate-limit.ts +294 -0
- package/templates/base/src/server/middleware/request-context.test.ts +175 -0
- package/templates/base/src/server/middleware/request-context.ts +28 -0
- package/templates/base/src/server/middleware/request-logger.test.ts +92 -0
- package/templates/base/src/server/middleware/request-logger.ts +50 -0
- package/templates/base/src/server/routes/accounts/__tests__/handlers.test.ts +460 -0
- package/templates/base/src/server/routes/accounts/handlers.ts +179 -0
- package/templates/base/src/server/routes/accounts/index.ts +55 -0
- package/templates/base/src/server/routes/accounts/routes.ts +205 -0
- package/templates/base/src/server/routes/accounts/schemas.ts +31 -0
- package/templates/base/src/server/routes/api.ts +37 -0
- package/templates/base/src/server/routes/audits/__tests__/handlers.test.ts +349 -0
- package/templates/base/src/server/routes/audits/handlers.ts +37 -0
- package/templates/base/src/server/routes/audits/index.ts +14 -0
- package/templates/base/src/server/routes/audits/routes.ts +29 -0
- package/templates/base/src/server/routes/audits/schemas.ts +43 -0
- package/templates/base/src/server/routes/auth/__tests__/handlers.test.ts +381 -0
- package/templates/base/src/server/routes/auth/handlers.ts +222 -0
- package/templates/base/src/server/routes/auth/index.ts +37 -0
- package/templates/base/src/server/routes/auth/routes.ts +136 -0
- package/templates/base/src/server/routes/auth/schemas.ts +48 -0
- package/templates/base/src/server/routes/auth/test-login.ts +156 -0
- package/templates/base/src/server/routes/health/__tests__/handlers.test.ts +237 -0
- package/templates/base/src/server/routes/health/handlers.ts +83 -0
- package/templates/base/src/server/routes/health/index.ts +13 -0
- package/templates/base/src/server/routes/health/routes.ts +90 -0
- package/templates/base/src/server/routes/index.ts +53 -0
- package/templates/base/src/server/routes/invitations/__tests__/handlers.test.ts +473 -0
- package/templates/base/src/server/routes/invitations/handlers.ts +71 -0
- package/templates/base/src/server/routes/invitations/index.ts +25 -0
- package/templates/base/src/server/routes/invitations/routes.ts +69 -0
- package/templates/base/src/server/routes/invitations/schemas.ts +39 -0
- package/templates/base/src/server/routes/openapi.ts +14 -0
- package/templates/base/src/server/routes/schemas.ts +53 -0
- package/templates/base/src/server/routes/storage/__tests__/handlers.test.ts +408 -0
- package/templates/base/src/server/routes/storage/handlers.ts +100 -0
- package/templates/base/src/server/routes/storage/index.ts +42 -0
- package/templates/base/src/server/routes/storage/routes.ts +91 -0
- package/templates/base/src/server/routes/storage/schemas.ts +56 -0
- package/templates/base/src/server/routes/users/__tests__/handlers.test.ts +526 -0
- package/templates/base/src/server/routes/users/handlers.ts +228 -0
- package/templates/base/src/server/routes/users/index.ts +67 -0
- package/templates/base/src/server/routes/users/routes.ts +265 -0
- package/templates/base/src/server/routes/users/schemas.ts +67 -0
- package/templates/base/src/server/services/__tests__/accounts.test.ts +764 -0
- package/templates/base/src/server/services/__tests__/audits.test.ts +235 -0
- package/templates/base/src/server/services/__tests__/auth.test.ts +765 -0
- package/templates/base/src/server/services/__tests__/invitations.test.ts +704 -0
- package/templates/base/src/server/services/__tests__/users.test.ts +755 -0
- package/templates/base/src/server/services/accounts.ts +269 -0
- package/templates/base/src/server/services/audits.ts +82 -0
- package/templates/base/src/server/services/auth.ts +225 -0
- package/templates/base/src/server/services/index.ts +6 -0
- package/templates/base/src/server/services/invitations.ts +306 -0
- package/templates/base/src/server/services/users.ts +350 -0
- package/templates/base/src/server/types/auth.ts +36 -0
- package/templates/base/src/server/types/index.ts +117 -0
- package/templates/base/src/shared/schemas/.gitkeep +0 -0
- package/templates/base/src/shared/schemas/__tests__/schemas.test.ts +547 -0
- package/templates/base/src/shared/schemas/account.ts +15 -0
- package/templates/base/src/shared/schemas/index.ts +6 -0
- package/templates/base/src/shared/schemas/invitation.ts +9 -0
- package/templates/base/src/shared/schemas/profile.ts +10 -0
- package/templates/base/src/shared/schemas/user.ts +16 -0
- package/templates/base/src/shared/schemas/webhook.ts +12 -0
- package/templates/base/src/shared/types/.gitkeep +0 -0
- package/templates/base/src/shared/types/account.ts +12 -0
- package/templates/base/src/shared/types/api.ts +1399 -0
- package/templates/base/src/shared/types/auth.ts +24 -0
- package/templates/base/src/shared/types/index.ts +5 -0
- package/templates/base/src/shared/types/user.ts +31 -0
- package/templates/base/src/test/vitest-zod-matcher.ts +37 -0
- package/templates/base/src/test/vitest.d.ts +19 -0
- package/templates/base/tests/e2e/README.md +141 -0
- package/templates/base/tests/e2e/a11y/accessibility.spec.ts +925 -0
- package/templates/base/tests/e2e/a11y/keyboard-navigation.spec.ts +610 -0
- package/templates/base/tests/e2e/api/accounts.spec.ts +148 -0
- package/templates/base/tests/e2e/api/audit-logs.spec.ts +130 -0
- package/templates/base/tests/e2e/api/authenticated-api.spec.ts +311 -0
- package/templates/base/tests/e2e/api/storage.spec.ts +109 -0
- package/templates/base/tests/e2e/auth-flows.unauth.spec.ts +117 -0
- package/templates/base/tests/e2e/auth-logout.unauth.spec.ts +103 -0
- package/templates/base/tests/e2e/auth.setup.ts +115 -0
- package/templates/base/tests/e2e/auth.spec.ts +146 -0
- package/templates/base/tests/e2e/compatibility/cross-browser.spec.ts +152 -0
- package/templates/base/tests/e2e/compatibility/cross-browser.spec.ts-snapshots/login-chromium-chromium-darwin.png +0 -0
- package/templates/base/tests/e2e/crud/account.spec.ts +356 -0
- package/templates/base/tests/e2e/crud/integrations.spec.ts +419 -0
- package/templates/base/tests/e2e/crud/team.spec.ts +287 -0
- package/templates/base/tests/e2e/crud/users.spec.ts +239 -0
- package/templates/base/tests/e2e/errors/error-boundary.spec.ts +428 -0
- package/templates/base/tests/e2e/errors/error-handling.spec.ts +47 -0
- package/templates/base/tests/e2e/errors/error-handling.unauth.spec.ts +205 -0
- package/templates/base/tests/e2e/fixtures.ts +266 -0
- package/templates/base/tests/e2e/forms/validation.spec.ts +569 -0
- package/templates/base/tests/e2e/invitations/invite-flow.unauth.spec.ts +204 -0
- package/templates/base/tests/e2e/journeys/account-lifecycle.spec.ts +314 -0
- package/templates/base/tests/e2e/journeys/audit-investigation.spec.ts +299 -0
- package/templates/base/tests/e2e/journeys/auth-onboarding.spec.ts +232 -0
- package/templates/base/tests/e2e/journeys/critical-flows.spec.ts +281 -0
- package/templates/base/tests/e2e/journeys/error-recovery.spec.ts +354 -0
- package/templates/base/tests/e2e/journeys/file-management.spec.ts +307 -0
- package/templates/base/tests/e2e/journeys/integrations.spec.ts +372 -0
- package/templates/base/tests/e2e/journeys/multi-account.spec.ts +317 -0
- package/templates/base/tests/e2e/journeys/rbac-enforcement.spec.ts +389 -0
- package/templates/base/tests/e2e/journeys/settings-profile.spec.ts +400 -0
- package/templates/base/tests/e2e/journeys/team-collaboration.spec.ts +410 -0
- package/templates/base/tests/e2e/mobile/responsive.spec.ts +178 -0
- package/templates/base/tests/e2e/navigation/routing.spec.ts +371 -0
- package/templates/base/tests/e2e/navigation/sidebar.spec.ts +425 -0
- package/templates/base/tests/e2e/pages/ui-features.spec.ts +393 -0
- package/templates/base/tests/e2e/performance/baselines.spec.ts +162 -0
- package/templates/base/tests/e2e/performance/benchmarks.spec.ts +371 -0
- package/templates/base/tests/e2e/smoke.unauth.spec.ts +196 -0
- package/templates/base/tests/e2e/visual/components.spec.ts +650 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/confirmation-dialog-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/dark-mode-background-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/dark-mode-card-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/dark-mode-sidebar-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/dashboard-card-single-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/dialog-content-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/dialog-with-backdrop-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/empty-search-results-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/input-default-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/input-focus-ring-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/primary-button-focus-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/primary-button-hover-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/primary-button-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/sidebar-active-nav-item-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/sidebar-collapsed-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/components.spec.ts-snapshots/sidebar-navigation-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts +192 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/account-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/create-webhook-dialog-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/dashboard-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/delete-account-dialog-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/integrations-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/invite-member-dialog-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/login-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/settings-account-tab-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/settings-profile-tab-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/sidebar-navigation-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/core-components.spec.ts-snapshots/team-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts +230 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/404-page-chromium-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/404-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/account-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/login-page-chromium-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/login-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/settings-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/team-invite-dialog-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/team-page-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/screenshots.spec.ts-snapshots/webhook-create-dialog-visual-darwin.png +0 -0
- package/templates/base/tests/e2e/visual/theme-colors.spec.ts +293 -0
- package/templates/base/tests/e2e/visual/ui-components.spec.ts +502 -0
- package/templates/base/tests/integration/accounts/crud.test.ts +1402 -0
- package/templates/base/tests/integration/audits/list.test.ts +1133 -0
- package/templates/base/tests/integration/auth/auth-service.test.ts +415 -0
- package/templates/base/tests/integration/auth/invitation-token.test.ts +529 -0
- package/templates/base/tests/integration/auth/logout.test.ts +524 -0
- package/templates/base/tests/integration/auth/oauth.test.ts +768 -0
- package/templates/base/tests/integration/auth/refresh-token.test.ts +364 -0
- package/templates/base/tests/integration/auth/session-expiry.test.ts +569 -0
- package/templates/base/tests/integration/auth/session.test.ts +520 -0
- package/templates/base/tests/integration/auth/super-admin.test.ts +451 -0
- package/templates/base/tests/integration/authorization/analytics-role.test.ts +1026 -0
- package/templates/base/tests/integration/authorization/billing-role.test.ts +776 -0
- package/templates/base/tests/integration/authorization/guards-roles.test.ts +539 -0
- package/templates/base/tests/integration/authorization/multi-tenancy.test.ts +1112 -0
- package/templates/base/tests/integration/authorization/role-hierarchy.test.ts +931 -0
- package/templates/base/tests/integration/authorization/roles.test.ts +1347 -0
- package/templates/base/tests/integration/config/production-behavior.test.ts +536 -0
- package/templates/base/tests/integration/db/constraints.test.ts +695 -0
- package/templates/base/tests/integration/fixtures/accounts.ts +136 -0
- package/templates/base/tests/integration/fixtures/index.ts +232 -0
- package/templates/base/tests/integration/fixtures/invitations.ts +195 -0
- package/templates/base/tests/integration/fixtures/users.ts +144 -0
- package/templates/base/tests/integration/health/health.test.ts +351 -0
- package/templates/base/tests/integration/invitations/crud.test.ts +1457 -0
- package/templates/base/tests/integration/invitations/email.test.ts +506 -0
- package/templates/base/tests/integration/lib/email.test.ts +174 -0
- package/templates/base/tests/integration/lib/oauth.test.ts +368 -0
- package/templates/base/tests/integration/lib/password.test.ts +192 -0
- package/templates/base/tests/integration/lib/schema-helpers.test.ts +129 -0
- package/templates/base/tests/integration/lib/tokens.test.ts +304 -0
- package/templates/base/tests/integration/middleware/auth.test.ts +499 -0
- package/templates/base/tests/integration/middleware/cors.test.ts +334 -0
- package/templates/base/tests/integration/middleware/request-context.test.ts +156 -0
- package/templates/base/tests/integration/middleware/request-logger.test.ts +313 -0
- package/templates/base/tests/integration/performance/response-times.test.ts +509 -0
- package/templates/base/tests/integration/security/cookie-security.test.ts +567 -0
- package/templates/base/tests/integration/security/csrf-protection.test.ts +542 -0
- package/templates/base/tests/integration/security/jwt-validation.test.ts +209 -0
- package/templates/base/tests/integration/security/log-sanitization.test.ts +658 -0
- package/templates/base/tests/integration/security/rate-limiting.test.ts +1251 -0
- package/templates/base/tests/integration/security/sql-injection.test.ts +663 -0
- package/templates/base/tests/integration/security/token-hashing.test.ts +371 -0
- package/templates/base/tests/integration/security/xss-prevention.test.ts +541 -0
- package/templates/base/tests/integration/setup.ts +834 -0
- package/templates/base/tests/integration/smoke.test.ts +288 -0
- package/templates/base/tests/integration/storage/upload.test.ts +1162 -0
- package/templates/base/tests/integration/storage/validation.test.ts +746 -0
- package/templates/base/tests/integration/users/crud.test.ts +1297 -0
- package/templates/base/tests/integration/users/list.test.ts +698 -0
- package/templates/base/tests/integration/vitest.config.ts +80 -0
- package/templates/base/tsconfig.app.json +18 -0
- package/templates/base/tsconfig.json +39 -0
- package/templates/base/tsconfig.node.json +16 -0
- package/templates/base/tsconfig.server.json +26 -0
- package/templates/base/tsconfig.tsbuildinfo +1 -0
- package/templates/base/vite.config.ts +46 -0
- package/templates/base/vitest.config.browser.ts +47 -0
- package/templates/base/vitest.config.frontend.ts +47 -0
- package/templates/base/vitest.config.ts +82 -0
- package/templates/base/vitest.workspace.ts +22 -0
- package/templates/modules/audit-logs/.gitkeep +0 -0
- package/templates/modules/billing/.gitkeep +0 -0
- package/templates/modules/invitations/.gitkeep +0 -0
- package/templates/modules/storage/.gitkeep +0 -0
- package/templates/modules/webhooks/.gitkeep +0 -0
- package/templates/providers/auth-email/.gitkeep +0 -0
- package/templates/providers/auth-github/.gitkeep +0 -0
- package/templates/providers/auth-google/.gitkeep +0 -0
- package/templates/providers/email-resend/.gitkeep +0 -0
- package/templates/providers/email-sendgrid/.gitkeep +0 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
# `kv key`
|
|
2
|
+
|
|
3
|
+
Manage key-value pairs within a Workers KV namespace.
|
|
4
|
+
|
|
5
|
+
> **Note:** The `kv ...` commands allow you to manage your Workers KV resources in the Cloudflare network. Learn more about using Workers KV with Wrangler in the [Workers KV guide](https://developers.cloudflare.com/kv/get-started/).
|
|
6
|
+
|
|
7
|
+
> **Warning:** Since version 3.60.0, Wrangler supports the `kv ...` syntax. If you are using versions below 3.60.0, the command follows the `kv:...` syntax. Learn more about the deprecation of the `kv:...` syntax in the [Wrangler commands](https://developers.cloudflare.com/kv/reference/kv-commands/) for KV page.
|
|
8
|
+
|
|
9
|
+
## `kv key put`
|
|
10
|
+
|
|
11
|
+
Write a single key/value pair to the given namespace
|
|
12
|
+
|
|
13
|
+
- npm
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npx wrangler kv key put [KEY] [VALUE]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- pnpm
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
pnpm wrangler kv key put [KEY] [VALUE]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- yarn
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
yarn wrangler kv key put [KEY] [VALUE]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
* `[KEY]` string required
|
|
32
|
+
|
|
33
|
+
The key to write to
|
|
34
|
+
|
|
35
|
+
* `[VALUE]` string
|
|
36
|
+
|
|
37
|
+
The value to write
|
|
38
|
+
|
|
39
|
+
* `--path` string
|
|
40
|
+
|
|
41
|
+
Read value from the file at a given path
|
|
42
|
+
|
|
43
|
+
* `--binding` string
|
|
44
|
+
|
|
45
|
+
The binding name to the namespace to write to
|
|
46
|
+
|
|
47
|
+
* `--namespace-id` string
|
|
48
|
+
|
|
49
|
+
The id of the namespace to write to
|
|
50
|
+
|
|
51
|
+
* `--preview` boolean
|
|
52
|
+
|
|
53
|
+
Interact with a preview namespace
|
|
54
|
+
|
|
55
|
+
* `--ttl` number
|
|
56
|
+
|
|
57
|
+
Time for which the entries should be visible
|
|
58
|
+
|
|
59
|
+
* `--expiration` number
|
|
60
|
+
|
|
61
|
+
Time since the UNIX epoch after which the entry expires
|
|
62
|
+
|
|
63
|
+
* `--metadata` string
|
|
64
|
+
|
|
65
|
+
Arbitrary JSON that is associated with a key
|
|
66
|
+
|
|
67
|
+
* `--local` boolean
|
|
68
|
+
|
|
69
|
+
Interact with local storage
|
|
70
|
+
|
|
71
|
+
* `--remote` boolean
|
|
72
|
+
|
|
73
|
+
Interact with remote storage
|
|
74
|
+
|
|
75
|
+
* `--persist-to` string
|
|
76
|
+
|
|
77
|
+
Directory for local persistence
|
|
78
|
+
|
|
79
|
+
Global flags
|
|
80
|
+
|
|
81
|
+
- `--v` boolean alias: --version
|
|
82
|
+
|
|
83
|
+
Show version number
|
|
84
|
+
|
|
85
|
+
- `--cwd` string
|
|
86
|
+
|
|
87
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
88
|
+
|
|
89
|
+
- `--config` string alias: --c
|
|
90
|
+
|
|
91
|
+
Path to Wrangler configuration file
|
|
92
|
+
|
|
93
|
+
- `--env` string alias: --e
|
|
94
|
+
|
|
95
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
96
|
+
|
|
97
|
+
- `--env-file` string
|
|
98
|
+
|
|
99
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
100
|
+
|
|
101
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
102
|
+
|
|
103
|
+
Experimental: Enable automatic resource provisioning
|
|
104
|
+
|
|
105
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
106
|
+
|
|
107
|
+
Automatically provision draft bindings with new resources
|
|
108
|
+
|
|
109
|
+
## `kv key list`
|
|
110
|
+
|
|
111
|
+
Output a list of all keys in a given namespace
|
|
112
|
+
|
|
113
|
+
- npm
|
|
114
|
+
|
|
115
|
+
```sh
|
|
116
|
+
npx wrangler kv key list
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
- pnpm
|
|
120
|
+
|
|
121
|
+
```sh
|
|
122
|
+
pnpm wrangler kv key list
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
- yarn
|
|
126
|
+
|
|
127
|
+
```sh
|
|
128
|
+
yarn wrangler kv key list
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
* `--binding` string
|
|
132
|
+
|
|
133
|
+
The binding name to the namespace to list
|
|
134
|
+
|
|
135
|
+
* `--namespace-id` string
|
|
136
|
+
|
|
137
|
+
The id of the namespace to list
|
|
138
|
+
|
|
139
|
+
* `--preview` boolean default: false
|
|
140
|
+
|
|
141
|
+
Interact with a preview namespace
|
|
142
|
+
|
|
143
|
+
* `--prefix` string
|
|
144
|
+
|
|
145
|
+
A prefix to filter listed keys
|
|
146
|
+
|
|
147
|
+
* `--local` boolean
|
|
148
|
+
|
|
149
|
+
Interact with local storage
|
|
150
|
+
|
|
151
|
+
* `--remote` boolean
|
|
152
|
+
|
|
153
|
+
Interact with remote storage
|
|
154
|
+
|
|
155
|
+
* `--persist-to` string
|
|
156
|
+
|
|
157
|
+
Directory for local persistence
|
|
158
|
+
|
|
159
|
+
Global flags
|
|
160
|
+
|
|
161
|
+
- `--v` boolean alias: --version
|
|
162
|
+
|
|
163
|
+
Show version number
|
|
164
|
+
|
|
165
|
+
- `--cwd` string
|
|
166
|
+
|
|
167
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
168
|
+
|
|
169
|
+
- `--config` string alias: --c
|
|
170
|
+
|
|
171
|
+
Path to Wrangler configuration file
|
|
172
|
+
|
|
173
|
+
- `--env` string alias: --e
|
|
174
|
+
|
|
175
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
176
|
+
|
|
177
|
+
- `--env-file` string
|
|
178
|
+
|
|
179
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
180
|
+
|
|
181
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
182
|
+
|
|
183
|
+
Experimental: Enable automatic resource provisioning
|
|
184
|
+
|
|
185
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
186
|
+
|
|
187
|
+
Automatically provision draft bindings with new resources
|
|
188
|
+
|
|
189
|
+
## `kv key get`
|
|
190
|
+
|
|
191
|
+
Read a single value by key from the given namespace
|
|
192
|
+
|
|
193
|
+
- npm
|
|
194
|
+
|
|
195
|
+
```sh
|
|
196
|
+
npx wrangler kv key get [KEY]
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
- pnpm
|
|
200
|
+
|
|
201
|
+
```sh
|
|
202
|
+
pnpm wrangler kv key get [KEY]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
- yarn
|
|
206
|
+
|
|
207
|
+
```sh
|
|
208
|
+
yarn wrangler kv key get [KEY]
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
* `[KEY]` string required
|
|
212
|
+
|
|
213
|
+
The key value to get.
|
|
214
|
+
|
|
215
|
+
* `--text` boolean default: false
|
|
216
|
+
|
|
217
|
+
Decode the returned value as a utf8 string
|
|
218
|
+
|
|
219
|
+
* `--binding` string
|
|
220
|
+
|
|
221
|
+
The binding name to the namespace to get from
|
|
222
|
+
|
|
223
|
+
* `--namespace-id` string
|
|
224
|
+
|
|
225
|
+
The id of the namespace to get from
|
|
226
|
+
|
|
227
|
+
* `--preview` boolean default: false
|
|
228
|
+
|
|
229
|
+
Interact with a preview namespace
|
|
230
|
+
|
|
231
|
+
* `--local` boolean
|
|
232
|
+
|
|
233
|
+
Interact with local storage
|
|
234
|
+
|
|
235
|
+
* `--remote` boolean
|
|
236
|
+
|
|
237
|
+
Interact with remote storage
|
|
238
|
+
|
|
239
|
+
* `--persist-to` string
|
|
240
|
+
|
|
241
|
+
Directory for local persistence
|
|
242
|
+
|
|
243
|
+
Global flags
|
|
244
|
+
|
|
245
|
+
- `--v` boolean alias: --version
|
|
246
|
+
|
|
247
|
+
Show version number
|
|
248
|
+
|
|
249
|
+
- `--cwd` string
|
|
250
|
+
|
|
251
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
252
|
+
|
|
253
|
+
- `--config` string alias: --c
|
|
254
|
+
|
|
255
|
+
Path to Wrangler configuration file
|
|
256
|
+
|
|
257
|
+
- `--env` string alias: --e
|
|
258
|
+
|
|
259
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
260
|
+
|
|
261
|
+
- `--env-file` string
|
|
262
|
+
|
|
263
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
264
|
+
|
|
265
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
266
|
+
|
|
267
|
+
Experimental: Enable automatic resource provisioning
|
|
268
|
+
|
|
269
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
270
|
+
|
|
271
|
+
Automatically provision draft bindings with new resources
|
|
272
|
+
|
|
273
|
+
## `kv key delete`
|
|
274
|
+
|
|
275
|
+
Remove a single key value pair from the given namespace
|
|
276
|
+
|
|
277
|
+
- npm
|
|
278
|
+
|
|
279
|
+
```sh
|
|
280
|
+
npx wrangler kv key delete [KEY]
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
- pnpm
|
|
284
|
+
|
|
285
|
+
```sh
|
|
286
|
+
pnpm wrangler kv key delete [KEY]
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
- yarn
|
|
290
|
+
|
|
291
|
+
```sh
|
|
292
|
+
yarn wrangler kv key delete [KEY]
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
* `[KEY]` string required
|
|
296
|
+
|
|
297
|
+
The key value to delete.
|
|
298
|
+
|
|
299
|
+
* `--binding` string
|
|
300
|
+
|
|
301
|
+
The binding name to the namespace to delete from
|
|
302
|
+
|
|
303
|
+
* `--namespace-id` string
|
|
304
|
+
|
|
305
|
+
The id of the namespace to delete from
|
|
306
|
+
|
|
307
|
+
* `--preview` boolean
|
|
308
|
+
|
|
309
|
+
Interact with a preview namespace
|
|
310
|
+
|
|
311
|
+
* `--local` boolean
|
|
312
|
+
|
|
313
|
+
Interact with local storage
|
|
314
|
+
|
|
315
|
+
* `--remote` boolean
|
|
316
|
+
|
|
317
|
+
Interact with remote storage
|
|
318
|
+
|
|
319
|
+
* `--persist-to` string
|
|
320
|
+
|
|
321
|
+
Directory for local persistence
|
|
322
|
+
|
|
323
|
+
Global flags
|
|
324
|
+
|
|
325
|
+
- `--v` boolean alias: --version
|
|
326
|
+
|
|
327
|
+
Show version number
|
|
328
|
+
|
|
329
|
+
- `--cwd` string
|
|
330
|
+
|
|
331
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
332
|
+
|
|
333
|
+
- `--config` string alias: --c
|
|
334
|
+
|
|
335
|
+
Path to Wrangler configuration file
|
|
336
|
+
|
|
337
|
+
- `--env` string alias: --e
|
|
338
|
+
|
|
339
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
340
|
+
|
|
341
|
+
- `--env-file` string
|
|
342
|
+
|
|
343
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
344
|
+
|
|
345
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
346
|
+
|
|
347
|
+
Experimental: Enable automatic resource provisioning
|
|
348
|
+
|
|
349
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
350
|
+
|
|
351
|
+
Automatically provision draft bindings with new resources
|
|
352
|
+
|
|
353
|
+
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# `kv namespace`
|
|
2
|
+
|
|
3
|
+
Manage Workers KV namespaces.
|
|
4
|
+
|
|
5
|
+
> **Note:** The `kv ...` commands allow you to manage your Workers KV resources in the Cloudflare network. Learn more about using Workers KV with Wrangler in the [Workers KV guide](https://developers.cloudflare.com/kv/get-started/).
|
|
6
|
+
|
|
7
|
+
> **Warning:** Since version 3.60.0, Wrangler supports the `kv ...` syntax. If you are using versions below 3.60.0, the command follows the `kv:...` syntax. Learn more about the deprecation of the `kv:...` syntax in the [Wrangler commands](https://developers.cloudflare.com/kv/reference/kv-commands/#deprecations) for KV page.
|
|
8
|
+
|
|
9
|
+
## `kv namespace create`
|
|
10
|
+
|
|
11
|
+
Create a new namespace
|
|
12
|
+
|
|
13
|
+
- npm
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npx wrangler kv namespace create [NAMESPACE]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- pnpm
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
pnpm wrangler kv namespace create [NAMESPACE]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- yarn
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
yarn wrangler kv namespace create [NAMESPACE]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
* `[NAMESPACE]` string required
|
|
32
|
+
|
|
33
|
+
The name of the new namespace
|
|
34
|
+
|
|
35
|
+
* `--preview` boolean
|
|
36
|
+
|
|
37
|
+
Interact with a preview namespace
|
|
38
|
+
|
|
39
|
+
* `--use-remote` boolean
|
|
40
|
+
|
|
41
|
+
Use a remote binding when adding the newly created resource to your config
|
|
42
|
+
|
|
43
|
+
* `--update-config` boolean
|
|
44
|
+
|
|
45
|
+
Automatically update your config file with the newly added resource
|
|
46
|
+
|
|
47
|
+
* `--binding` string
|
|
48
|
+
|
|
49
|
+
The binding name of this resource in your Worker
|
|
50
|
+
|
|
51
|
+
Global flags
|
|
52
|
+
|
|
53
|
+
- `--v` boolean alias: --version
|
|
54
|
+
|
|
55
|
+
Show version number
|
|
56
|
+
|
|
57
|
+
- `--cwd` string
|
|
58
|
+
|
|
59
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
60
|
+
|
|
61
|
+
- `--config` string alias: --c
|
|
62
|
+
|
|
63
|
+
Path to Wrangler configuration file
|
|
64
|
+
|
|
65
|
+
- `--env` string alias: --e
|
|
66
|
+
|
|
67
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
68
|
+
|
|
69
|
+
- `--env-file` string
|
|
70
|
+
|
|
71
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
72
|
+
|
|
73
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
74
|
+
|
|
75
|
+
Experimental: Enable automatic resource provisioning
|
|
76
|
+
|
|
77
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
78
|
+
|
|
79
|
+
Automatically provision draft bindings with new resources
|
|
80
|
+
|
|
81
|
+
## `kv namespace list`
|
|
82
|
+
|
|
83
|
+
Output a list of all KV namespaces associated with your account id
|
|
84
|
+
|
|
85
|
+
- npm
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
npx wrangler kv namespace list
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- pnpm
|
|
92
|
+
|
|
93
|
+
```sh
|
|
94
|
+
pnpm wrangler kv namespace list
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- yarn
|
|
98
|
+
|
|
99
|
+
```sh
|
|
100
|
+
yarn wrangler kv namespace list
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Global flags
|
|
104
|
+
|
|
105
|
+
- `--v` boolean alias: --version
|
|
106
|
+
|
|
107
|
+
Show version number
|
|
108
|
+
|
|
109
|
+
- `--cwd` string
|
|
110
|
+
|
|
111
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
112
|
+
|
|
113
|
+
- `--config` string alias: --c
|
|
114
|
+
|
|
115
|
+
Path to Wrangler configuration file
|
|
116
|
+
|
|
117
|
+
- `--env` string alias: --e
|
|
118
|
+
|
|
119
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
120
|
+
|
|
121
|
+
- `--env-file` string
|
|
122
|
+
|
|
123
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
124
|
+
|
|
125
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
126
|
+
|
|
127
|
+
Experimental: Enable automatic resource provisioning
|
|
128
|
+
|
|
129
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
130
|
+
|
|
131
|
+
Automatically provision draft bindings with new resources
|
|
132
|
+
|
|
133
|
+
## `kv namespace delete`
|
|
134
|
+
|
|
135
|
+
Delete a given namespace.
|
|
136
|
+
|
|
137
|
+
- npm
|
|
138
|
+
|
|
139
|
+
```sh
|
|
140
|
+
npx wrangler kv namespace delete
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
- pnpm
|
|
144
|
+
|
|
145
|
+
```sh
|
|
146
|
+
pnpm wrangler kv namespace delete
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
- yarn
|
|
150
|
+
|
|
151
|
+
```sh
|
|
152
|
+
yarn wrangler kv namespace delete
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
* `--binding` string
|
|
156
|
+
|
|
157
|
+
The binding name to the namespace to delete from
|
|
158
|
+
|
|
159
|
+
* `--namespace-id` string
|
|
160
|
+
|
|
161
|
+
The id of the namespace to delete
|
|
162
|
+
|
|
163
|
+
* `--preview` boolean
|
|
164
|
+
|
|
165
|
+
Interact with a preview namespace
|
|
166
|
+
|
|
167
|
+
* `--skip-confirmation` boolean alias: --y default: false
|
|
168
|
+
|
|
169
|
+
Skip confirmation
|
|
170
|
+
|
|
171
|
+
Global flags
|
|
172
|
+
|
|
173
|
+
- `--v` boolean alias: --version
|
|
174
|
+
|
|
175
|
+
Show version number
|
|
176
|
+
|
|
177
|
+
- `--cwd` string
|
|
178
|
+
|
|
179
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
180
|
+
|
|
181
|
+
- `--config` string alias: --c
|
|
182
|
+
|
|
183
|
+
Path to Wrangler configuration file
|
|
184
|
+
|
|
185
|
+
- `--env` string alias: --e
|
|
186
|
+
|
|
187
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
188
|
+
|
|
189
|
+
- `--env-file` string
|
|
190
|
+
|
|
191
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
192
|
+
|
|
193
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
194
|
+
|
|
195
|
+
Experimental: Enable automatic resource provisioning
|
|
196
|
+
|
|
197
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
198
|
+
|
|
199
|
+
Automatically provision draft bindings with new resources
|
|
200
|
+
|
|
201
|
+
## `kv namespace rename`
|
|
202
|
+
|
|
203
|
+
Rename a KV namespace
|
|
204
|
+
|
|
205
|
+
- npm
|
|
206
|
+
|
|
207
|
+
```sh
|
|
208
|
+
npx wrangler kv namespace rename [OLD-NAME]
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
- pnpm
|
|
212
|
+
|
|
213
|
+
```sh
|
|
214
|
+
pnpm wrangler kv namespace rename [OLD-NAME]
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
- yarn
|
|
218
|
+
|
|
219
|
+
```sh
|
|
220
|
+
yarn wrangler kv namespace rename [OLD-NAME]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
* `[OLD-NAME]` string
|
|
224
|
+
|
|
225
|
+
The current name (title) of the namespace to rename
|
|
226
|
+
|
|
227
|
+
* `--namespace-id` string
|
|
228
|
+
|
|
229
|
+
The id of the namespace to rename
|
|
230
|
+
|
|
231
|
+
* `--new-name` string required
|
|
232
|
+
|
|
233
|
+
The new name for the namespace
|
|
234
|
+
|
|
235
|
+
Global flags
|
|
236
|
+
|
|
237
|
+
- `--v` boolean alias: --version
|
|
238
|
+
|
|
239
|
+
Show version number
|
|
240
|
+
|
|
241
|
+
- `--cwd` string
|
|
242
|
+
|
|
243
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
244
|
+
|
|
245
|
+
- `--config` string alias: --c
|
|
246
|
+
|
|
247
|
+
Path to Wrangler configuration file
|
|
248
|
+
|
|
249
|
+
- `--env` string alias: --e
|
|
250
|
+
|
|
251
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
252
|
+
|
|
253
|
+
- `--env-file` string
|
|
254
|
+
|
|
255
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
256
|
+
|
|
257
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
258
|
+
|
|
259
|
+
Experimental: Enable automatic resource provisioning
|
|
260
|
+
|
|
261
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
262
|
+
|
|
263
|
+
Automatically provision draft bindings with new resources
|
|
264
|
+
|
|
265
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# `login`
|
|
2
|
+
|
|
3
|
+
Authorize Wrangler with your Cloudflare account using OAuth. Wrangler will attempt to automatically open your web browser to login with your Cloudflare account.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npx wrangler login
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
* `--browser` boolean default: true - Automatically open the OAuth link in a browser
|
|
10
|
+
* `--scopes-list` boolean - List all the available OAuth scopes with descriptions
|
|
11
|
+
* `--scopes` string - Pick the set of applicable OAuth scopes when logging in
|
|
12
|
+
|
|
13
|
+
If you prefer to use API tokens for authentication, such as in headless or continuous integration environments, refer to [Running Wrangler in CI/CD](https://developers.cloudflare.com/workers/wrangler/ci-cd/).
|
|
14
|
+
|
|
15
|
+
## Global flags
|
|
16
|
+
|
|
17
|
+
- `--v` boolean alias: --version - Show version number
|
|
18
|
+
- `--cwd` string - Run as if Wrangler was started in the specified directory
|
|
19
|
+
- `--config` string alias: --c - Path to Wrangler configuration file
|
|
20
|
+
- `--env` string alias: --e - Environment to use for operations
|
|
21
|
+
- `--env-file` string - Path to an .env file to load
|
|
22
|
+
|
|
23
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# `logout`
|
|
2
|
+
|
|
3
|
+
Remove Wrangler's authorization for accessing your account. This command will invalidate your current OAuth token.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npx wrangler logout
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
If you're using `CLOUDFLARE_API_TOKEN` instead of OAuth, and you want to remove your API token from your local machine, you must delete it manually.
|
|
10
|
+
|
|
11
|
+
## Global flags
|
|
12
|
+
|
|
13
|
+
- `--v` boolean alias: --version - Show version number
|
|
14
|
+
- `--cwd` string - Run as if Wrangler was started in the specified directory
|
|
15
|
+
- `--config` string alias: --c - Path to Wrangler configuration file
|
|
16
|
+
- `--env` string alias: --e - Environment to use for operations
|
|
17
|
+
- `--env-file` string - Path to an .env file to load
|
|
18
|
+
|
|
19
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# `mtls-certificate`
|
|
2
|
+
|
|
3
|
+
Manage [mTLS certificates](https://developers.cloudflare.com/workers/runtime-apis/bindings/mtls/) used to communicate with origins requiring client authentication.
|
|
4
|
+
|
|
5
|
+
## `mtls-certificate upload`
|
|
6
|
+
|
|
7
|
+
Upload an mTLS certificate
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npx wrangler mtls-certificate upload
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
* `--cert` string - The path to a certificate file (.pem)
|
|
14
|
+
* `--key` string - The path to the certificate's private key (.pem)
|
|
15
|
+
* `--name` string - The name for the certificate to be referred to in the binding
|
|
16
|
+
|
|
17
|
+
## `mtls-certificate list`
|
|
18
|
+
|
|
19
|
+
List uploaded mTLS certificates
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
npx wrangler mtls-certificate list
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## `mtls-certificate delete`
|
|
26
|
+
|
|
27
|
+
Delete an mTLS certificate
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
npx wrangler mtls-certificate delete
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
* `--id` string - The ID of the certificate
|
|
34
|
+
* `--name` string - The name of the certificate
|
|
35
|
+
|
|
36
|
+
## Usage in Workers
|
|
37
|
+
|
|
38
|
+
After uploading an mTLS certificate, you can bind it to your Worker in `wrangler.toml`:
|
|
39
|
+
|
|
40
|
+
```toml
|
|
41
|
+
[[mtls_certificates]]
|
|
42
|
+
binding = "MY_CERT"
|
|
43
|
+
certificate_id = "<CERTIFICATE_ID>"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Then use it in your Worker:
|
|
47
|
+
|
|
48
|
+
```javascript
|
|
49
|
+
export default {
|
|
50
|
+
async fetch(request, env) {
|
|
51
|
+
const response = await fetch("https://origin-requiring-mtls.example.com", {
|
|
52
|
+
cf: {
|
|
53
|
+
clientCertificate: env.MY_CERT
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return response;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Global flags
|
|
62
|
+
|
|
63
|
+
- `--v` boolean alias: --version - Show version number
|
|
64
|
+
- `--cwd` string - Run as if Wrangler was started in the specified directory
|
|
65
|
+
- `--config` string alias: --c - Path to Wrangler configuration file
|
|
66
|
+
- `--env` string alias: --e - Environment to use for operations
|
|
67
|
+
- `--env-file` string - Path to an .env file to load
|
|
68
|
+
|
|
69
|
+
|