@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,425 @@
|
|
|
1
|
+
# `hyperdrive`
|
|
2
|
+
|
|
3
|
+
Manage [Hyperdrive](https://developers.cloudflare.com/hyperdrive/) database configurations.
|
|
4
|
+
|
|
5
|
+
## `hyperdrive create`
|
|
6
|
+
|
|
7
|
+
Create a Hyperdrive config
|
|
8
|
+
|
|
9
|
+
- npm
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
npx wrangler hyperdrive create [NAME]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- pnpm
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
pnpm wrangler hyperdrive create [NAME]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- yarn
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
yarn wrangler hyperdrive create [NAME]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
* `[NAME]` string required
|
|
28
|
+
|
|
29
|
+
The name of the Hyperdrive config
|
|
30
|
+
|
|
31
|
+
* `--connection-string` string
|
|
32
|
+
|
|
33
|
+
The connection string for the database you want Hyperdrive to connect to - ex: protocol://user:password\@host:port/database
|
|
34
|
+
|
|
35
|
+
* `--origin-host` string alias: --host
|
|
36
|
+
|
|
37
|
+
The host of the origin database
|
|
38
|
+
|
|
39
|
+
* `--origin-port` number alias: --port
|
|
40
|
+
|
|
41
|
+
The port number of the origin database
|
|
42
|
+
|
|
43
|
+
* `--origin-scheme` string alias: --scheme default: postgresql
|
|
44
|
+
|
|
45
|
+
The scheme used to connect to the origin database
|
|
46
|
+
|
|
47
|
+
* `--database` string
|
|
48
|
+
|
|
49
|
+
The name of the database within the origin database
|
|
50
|
+
|
|
51
|
+
* `--origin-user` string alias: --user
|
|
52
|
+
|
|
53
|
+
The username used to connect to the origin database
|
|
54
|
+
|
|
55
|
+
* `--origin-password` string alias: --password
|
|
56
|
+
|
|
57
|
+
The password used to connect to the origin database
|
|
58
|
+
|
|
59
|
+
* `--access-client-id` string
|
|
60
|
+
|
|
61
|
+
The Client ID of the Access token to use when connecting to the origin database
|
|
62
|
+
|
|
63
|
+
* `--access-client-secret` string
|
|
64
|
+
|
|
65
|
+
The Client Secret of the Access token to use when connecting to the origin database
|
|
66
|
+
|
|
67
|
+
* `--caching-disabled` boolean
|
|
68
|
+
|
|
69
|
+
Disables the caching of SQL responses
|
|
70
|
+
|
|
71
|
+
* `--max-age` number
|
|
72
|
+
|
|
73
|
+
Specifies max duration for which items should persist in the cache, cannot be set when caching is disabled
|
|
74
|
+
|
|
75
|
+
* `--swr` number
|
|
76
|
+
|
|
77
|
+
Indicates the number of seconds cache may serve the response after it becomes stale, cannot be set when caching is disabled
|
|
78
|
+
|
|
79
|
+
* `--ca-certificate-id` string alias: --ca-certificate-uuid
|
|
80
|
+
|
|
81
|
+
Sets custom CA certificate when connecting to origin database. Must be valid UUID of already uploaded CA certificate.
|
|
82
|
+
|
|
83
|
+
* `--mtls-certificate-id` string alias: --mtls-certificate-uuid
|
|
84
|
+
|
|
85
|
+
Sets custom mTLS client certificates when connecting to origin database. Must be valid UUID of already uploaded public/private key certificates.
|
|
86
|
+
|
|
87
|
+
* `--sslmode` string
|
|
88
|
+
|
|
89
|
+
Sets CA sslmode for connecting to database.
|
|
90
|
+
|
|
91
|
+
* `--origin-connection-limit` number
|
|
92
|
+
|
|
93
|
+
The (soft) maximum number of connections that Hyperdrive may establish to the origin database
|
|
94
|
+
|
|
95
|
+
* `--binding` string
|
|
96
|
+
|
|
97
|
+
The binding name of this resource in your Worker
|
|
98
|
+
|
|
99
|
+
* `--use-remote` boolean
|
|
100
|
+
|
|
101
|
+
Use a remote binding when adding the newly created resource to your config
|
|
102
|
+
|
|
103
|
+
* `--update-config` boolean
|
|
104
|
+
|
|
105
|
+
Automatically update your config file with the newly added resource
|
|
106
|
+
|
|
107
|
+
Global flags
|
|
108
|
+
|
|
109
|
+
- `--v` boolean alias: --version
|
|
110
|
+
|
|
111
|
+
Show version number
|
|
112
|
+
|
|
113
|
+
- `--cwd` string
|
|
114
|
+
|
|
115
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
116
|
+
|
|
117
|
+
- `--config` string alias: --c
|
|
118
|
+
|
|
119
|
+
Path to Wrangler configuration file
|
|
120
|
+
|
|
121
|
+
- `--env` string alias: --e
|
|
122
|
+
|
|
123
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
124
|
+
|
|
125
|
+
- `--env-file` string
|
|
126
|
+
|
|
127
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
128
|
+
|
|
129
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
130
|
+
|
|
131
|
+
Experimental: Enable automatic resource provisioning
|
|
132
|
+
|
|
133
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
134
|
+
|
|
135
|
+
Automatically provision draft bindings with new resources
|
|
136
|
+
|
|
137
|
+
## `hyperdrive delete`
|
|
138
|
+
|
|
139
|
+
Delete a Hyperdrive config
|
|
140
|
+
|
|
141
|
+
- npm
|
|
142
|
+
|
|
143
|
+
```sh
|
|
144
|
+
npx wrangler hyperdrive delete [ID]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
- pnpm
|
|
148
|
+
|
|
149
|
+
```sh
|
|
150
|
+
pnpm wrangler hyperdrive delete [ID]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
- yarn
|
|
154
|
+
|
|
155
|
+
```sh
|
|
156
|
+
yarn wrangler hyperdrive delete [ID]
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
* `[ID]` string required
|
|
160
|
+
|
|
161
|
+
The ID of the Hyperdrive config
|
|
162
|
+
|
|
163
|
+
Global flags
|
|
164
|
+
|
|
165
|
+
- `--v` boolean alias: --version
|
|
166
|
+
|
|
167
|
+
Show version number
|
|
168
|
+
|
|
169
|
+
- `--cwd` string
|
|
170
|
+
|
|
171
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
172
|
+
|
|
173
|
+
- `--config` string alias: --c
|
|
174
|
+
|
|
175
|
+
Path to Wrangler configuration file
|
|
176
|
+
|
|
177
|
+
- `--env` string alias: --e
|
|
178
|
+
|
|
179
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
180
|
+
|
|
181
|
+
- `--env-file` string
|
|
182
|
+
|
|
183
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
184
|
+
|
|
185
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
186
|
+
|
|
187
|
+
Experimental: Enable automatic resource provisioning
|
|
188
|
+
|
|
189
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
190
|
+
|
|
191
|
+
Automatically provision draft bindings with new resources
|
|
192
|
+
|
|
193
|
+
## `hyperdrive get`
|
|
194
|
+
|
|
195
|
+
Get a Hyperdrive config
|
|
196
|
+
|
|
197
|
+
- npm
|
|
198
|
+
|
|
199
|
+
```sh
|
|
200
|
+
npx wrangler hyperdrive get [ID]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
- pnpm
|
|
204
|
+
|
|
205
|
+
```sh
|
|
206
|
+
pnpm wrangler hyperdrive get [ID]
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
- yarn
|
|
210
|
+
|
|
211
|
+
```sh
|
|
212
|
+
yarn wrangler hyperdrive get [ID]
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
* `[ID]` string required
|
|
216
|
+
|
|
217
|
+
The ID of the Hyperdrive config
|
|
218
|
+
|
|
219
|
+
Global flags
|
|
220
|
+
|
|
221
|
+
- `--v` boolean alias: --version
|
|
222
|
+
|
|
223
|
+
Show version number
|
|
224
|
+
|
|
225
|
+
- `--cwd` string
|
|
226
|
+
|
|
227
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
228
|
+
|
|
229
|
+
- `--config` string alias: --c
|
|
230
|
+
|
|
231
|
+
Path to Wrangler configuration file
|
|
232
|
+
|
|
233
|
+
- `--env` string alias: --e
|
|
234
|
+
|
|
235
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
236
|
+
|
|
237
|
+
- `--env-file` string
|
|
238
|
+
|
|
239
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
240
|
+
|
|
241
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
242
|
+
|
|
243
|
+
Experimental: Enable automatic resource provisioning
|
|
244
|
+
|
|
245
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
246
|
+
|
|
247
|
+
Automatically provision draft bindings with new resources
|
|
248
|
+
|
|
249
|
+
## `hyperdrive list`
|
|
250
|
+
|
|
251
|
+
List Hyperdrive configs
|
|
252
|
+
|
|
253
|
+
- npm
|
|
254
|
+
|
|
255
|
+
```sh
|
|
256
|
+
npx wrangler hyperdrive list
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
- pnpm
|
|
260
|
+
|
|
261
|
+
```sh
|
|
262
|
+
pnpm wrangler hyperdrive list
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
- yarn
|
|
266
|
+
|
|
267
|
+
```sh
|
|
268
|
+
yarn wrangler hyperdrive list
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Global flags
|
|
272
|
+
|
|
273
|
+
- `--v` boolean alias: --version
|
|
274
|
+
|
|
275
|
+
Show version number
|
|
276
|
+
|
|
277
|
+
- `--cwd` string
|
|
278
|
+
|
|
279
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
280
|
+
|
|
281
|
+
- `--config` string alias: --c
|
|
282
|
+
|
|
283
|
+
Path to Wrangler configuration file
|
|
284
|
+
|
|
285
|
+
- `--env` string alias: --e
|
|
286
|
+
|
|
287
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
288
|
+
|
|
289
|
+
- `--env-file` string
|
|
290
|
+
|
|
291
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
292
|
+
|
|
293
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
294
|
+
|
|
295
|
+
Experimental: Enable automatic resource provisioning
|
|
296
|
+
|
|
297
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
298
|
+
|
|
299
|
+
Automatically provision draft bindings with new resources
|
|
300
|
+
|
|
301
|
+
## `hyperdrive update`
|
|
302
|
+
|
|
303
|
+
Update a Hyperdrive config
|
|
304
|
+
|
|
305
|
+
- npm
|
|
306
|
+
|
|
307
|
+
```sh
|
|
308
|
+
npx wrangler hyperdrive update [ID]
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
- pnpm
|
|
312
|
+
|
|
313
|
+
```sh
|
|
314
|
+
pnpm wrangler hyperdrive update [ID]
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
- yarn
|
|
318
|
+
|
|
319
|
+
```sh
|
|
320
|
+
yarn wrangler hyperdrive update [ID]
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
* `[ID]` string required
|
|
324
|
+
|
|
325
|
+
The ID of the Hyperdrive config
|
|
326
|
+
|
|
327
|
+
* `--name` string
|
|
328
|
+
|
|
329
|
+
Give your config a new name
|
|
330
|
+
|
|
331
|
+
* `--connection-string` string
|
|
332
|
+
|
|
333
|
+
The connection string for the database you want Hyperdrive to connect to - ex: protocol://user:password\@host:port/database
|
|
334
|
+
|
|
335
|
+
* `--origin-host` string alias: --host
|
|
336
|
+
|
|
337
|
+
The host of the origin database
|
|
338
|
+
|
|
339
|
+
* `--origin-port` number alias: --port
|
|
340
|
+
|
|
341
|
+
The port number of the origin database
|
|
342
|
+
|
|
343
|
+
* `--origin-scheme` string alias: --scheme
|
|
344
|
+
|
|
345
|
+
The scheme used to connect to the origin database
|
|
346
|
+
|
|
347
|
+
* `--database` string
|
|
348
|
+
|
|
349
|
+
The name of the database within the origin database
|
|
350
|
+
|
|
351
|
+
* `--origin-user` string alias: --user
|
|
352
|
+
|
|
353
|
+
The username used to connect to the origin database
|
|
354
|
+
|
|
355
|
+
* `--origin-password` string alias: --password
|
|
356
|
+
|
|
357
|
+
The password used to connect to the origin database
|
|
358
|
+
|
|
359
|
+
* `--access-client-id` string
|
|
360
|
+
|
|
361
|
+
The Client ID of the Access token to use when connecting to the origin database
|
|
362
|
+
|
|
363
|
+
* `--access-client-secret` string
|
|
364
|
+
|
|
365
|
+
The Client Secret of the Access token to use when connecting to the origin database
|
|
366
|
+
|
|
367
|
+
* `--caching-disabled` boolean
|
|
368
|
+
|
|
369
|
+
Disables the caching of SQL responses
|
|
370
|
+
|
|
371
|
+
* `--max-age` number
|
|
372
|
+
|
|
373
|
+
Specifies max duration for which items should persist in the cache, cannot be set when caching is disabled
|
|
374
|
+
|
|
375
|
+
* `--swr` number
|
|
376
|
+
|
|
377
|
+
Indicates the number of seconds cache may serve the response after it becomes stale, cannot be set when caching is disabled
|
|
378
|
+
|
|
379
|
+
* `--ca-certificate-id` string alias: --ca-certificate-uuid
|
|
380
|
+
|
|
381
|
+
Sets custom CA certificate when connecting to origin database. Must be valid UUID of already uploaded CA certificate.
|
|
382
|
+
|
|
383
|
+
* `--mtls-certificate-id` string alias: --mtls-certificate-uuid
|
|
384
|
+
|
|
385
|
+
Sets custom mTLS client certificates when connecting to origin database. Must be valid UUID of already uploaded public/private key certificates.
|
|
386
|
+
|
|
387
|
+
* `--sslmode` string
|
|
388
|
+
|
|
389
|
+
Sets CA sslmode for connecting to database.
|
|
390
|
+
|
|
391
|
+
* `--origin-connection-limit` number
|
|
392
|
+
|
|
393
|
+
The (soft) maximum number of connections that Hyperdrive may establish to the origin database
|
|
394
|
+
|
|
395
|
+
Global flags
|
|
396
|
+
|
|
397
|
+
- `--v` boolean alias: --version
|
|
398
|
+
|
|
399
|
+
Show version number
|
|
400
|
+
|
|
401
|
+
- `--cwd` string
|
|
402
|
+
|
|
403
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
404
|
+
|
|
405
|
+
- `--config` string alias: --c
|
|
406
|
+
|
|
407
|
+
Path to Wrangler configuration file
|
|
408
|
+
|
|
409
|
+
- `--env` string alias: --e
|
|
410
|
+
|
|
411
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
412
|
+
|
|
413
|
+
- `--env-file` string
|
|
414
|
+
|
|
415
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
416
|
+
|
|
417
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
418
|
+
|
|
419
|
+
Experimental: Enable automatic resource provisioning
|
|
420
|
+
|
|
421
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
422
|
+
|
|
423
|
+
Automatically provision draft bindings with new resources
|
|
424
|
+
|
|
425
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# `init`
|
|
2
|
+
|
|
3
|
+
Create a new project via the [create-cloudflare-cli (C3) tool](https://developers.cloudflare.com/workers/get-started/guide/#1-create-a-new-worker-project). A variety of web frameworks are available to choose from as well as templates. Dependencies are installed by default, with the option to deploy your project immediately.
|
|
4
|
+
|
|
5
|
+
```txt
|
|
6
|
+
wrangler init [<NAME>] [OPTIONS]
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
- `NAME` string optional (default: name of working directory)
|
|
10
|
+
|
|
11
|
+
- The name of the Workers project. This is both the directory name and `name` property in the generated [Wrangler configuration](https://developers.cloudflare.com/workers/wrangler/configuration/).
|
|
12
|
+
|
|
13
|
+
- `--yes` boolean optional
|
|
14
|
+
|
|
15
|
+
- Answer yes to any prompts for new projects.
|
|
16
|
+
|
|
17
|
+
- `--from-dash` string optional
|
|
18
|
+
|
|
19
|
+
- Fetch a Worker initialized from the dashboard. This is done by passing the flag and the Worker name. `wrangler init --from-dash <WORKER_NAME>`.
|
|
20
|
+
- The `--from-dash` command will not automatically sync changes made to the dashboard after the command is used. Therefore, it is recommended that you continue using the CLI.
|
|
21
|
+
|
|
22
|
+
The following global flags work on every command:
|
|
23
|
+
|
|
24
|
+
- `--help` boolean
|
|
25
|
+
- Show help.
|
|
26
|
+
- `--config` string (not supported by Pages)
|
|
27
|
+
- Path to your [Wrangler configuration file](https://developers.cloudflare.com/workers/wrangler/configuration/).
|
|
28
|
+
- `--cwd` string
|
|
29
|
+
- Run as if Wrangler was started in the specified directory instead of the current working directory.
|
|
30
|
+
|
|
31
|
+
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# `kv bulk`
|
|
2
|
+
|
|
3
|
+
Manage multiple key-value pairs within a Workers KV namespace in batches.
|
|
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 bulk get`
|
|
10
|
+
|
|
11
|
+
Gets multiple key-value pairs from a namespace
|
|
12
|
+
|
|
13
|
+
- npm
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npx wrangler kv bulk get [FILENAME]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- pnpm
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
pnpm wrangler kv bulk get [FILENAME]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- yarn
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
yarn wrangler kv bulk get [FILENAME]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
* `[FILENAME]` string required
|
|
32
|
+
|
|
33
|
+
The file containing the keys to get
|
|
34
|
+
|
|
35
|
+
* `--binding` string
|
|
36
|
+
|
|
37
|
+
The binding name to the namespace to get from
|
|
38
|
+
|
|
39
|
+
* `--namespace-id` string
|
|
40
|
+
|
|
41
|
+
The id of the namespace to get from
|
|
42
|
+
|
|
43
|
+
* `--preview` boolean default: false
|
|
44
|
+
|
|
45
|
+
Interact with a preview namespace
|
|
46
|
+
|
|
47
|
+
* `--local` boolean
|
|
48
|
+
|
|
49
|
+
Interact with local storage
|
|
50
|
+
|
|
51
|
+
* `--remote` boolean
|
|
52
|
+
|
|
53
|
+
Interact with remote storage
|
|
54
|
+
|
|
55
|
+
* `--persist-to` string
|
|
56
|
+
|
|
57
|
+
Directory for local persistence
|
|
58
|
+
|
|
59
|
+
Global flags
|
|
60
|
+
|
|
61
|
+
- `--v` boolean alias: --version
|
|
62
|
+
|
|
63
|
+
Show version number
|
|
64
|
+
|
|
65
|
+
- `--cwd` string
|
|
66
|
+
|
|
67
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
68
|
+
|
|
69
|
+
- `--config` string alias: --c
|
|
70
|
+
|
|
71
|
+
Path to Wrangler configuration file
|
|
72
|
+
|
|
73
|
+
- `--env` string alias: --e
|
|
74
|
+
|
|
75
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
76
|
+
|
|
77
|
+
- `--env-file` string
|
|
78
|
+
|
|
79
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
80
|
+
|
|
81
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
82
|
+
|
|
83
|
+
Experimental: Enable automatic resource provisioning
|
|
84
|
+
|
|
85
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
86
|
+
|
|
87
|
+
Automatically provision draft bindings with new resources
|
|
88
|
+
|
|
89
|
+
## `kv bulk put`
|
|
90
|
+
|
|
91
|
+
Upload multiple key-value pairs to a namespace
|
|
92
|
+
|
|
93
|
+
- npm
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
npx wrangler kv bulk put [FILENAME]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
- pnpm
|
|
100
|
+
|
|
101
|
+
```sh
|
|
102
|
+
pnpm wrangler kv bulk put [FILENAME]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
- yarn
|
|
106
|
+
|
|
107
|
+
```sh
|
|
108
|
+
yarn wrangler kv bulk put [FILENAME]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
* `[FILENAME]` string required
|
|
112
|
+
|
|
113
|
+
The file containing the key/value pairs to write
|
|
114
|
+
|
|
115
|
+
* `--binding` string
|
|
116
|
+
|
|
117
|
+
The binding name to the namespace to write to
|
|
118
|
+
|
|
119
|
+
* `--namespace-id` string
|
|
120
|
+
|
|
121
|
+
The id of the namespace to write to
|
|
122
|
+
|
|
123
|
+
* `--preview` boolean
|
|
124
|
+
|
|
125
|
+
Interact with a preview namespace
|
|
126
|
+
|
|
127
|
+
* `--ttl` number
|
|
128
|
+
|
|
129
|
+
Time for which the entries should be visible
|
|
130
|
+
|
|
131
|
+
* `--expiration` number
|
|
132
|
+
|
|
133
|
+
Time since the UNIX epoch after which the entry expires
|
|
134
|
+
|
|
135
|
+
* `--metadata` string
|
|
136
|
+
|
|
137
|
+
Arbitrary JSON that is associated with a key
|
|
138
|
+
|
|
139
|
+
* `--local` boolean
|
|
140
|
+
|
|
141
|
+
Interact with local storage
|
|
142
|
+
|
|
143
|
+
* `--remote` boolean
|
|
144
|
+
|
|
145
|
+
Interact with remote storage
|
|
146
|
+
|
|
147
|
+
* `--persist-to` string
|
|
148
|
+
|
|
149
|
+
Directory for local persistence
|
|
150
|
+
|
|
151
|
+
Global flags
|
|
152
|
+
|
|
153
|
+
- `--v` boolean alias: --version
|
|
154
|
+
|
|
155
|
+
Show version number
|
|
156
|
+
|
|
157
|
+
- `--cwd` string
|
|
158
|
+
|
|
159
|
+
Run as if Wrangler was started in the specified directory instead of the current working directory
|
|
160
|
+
|
|
161
|
+
- `--config` string alias: --c
|
|
162
|
+
|
|
163
|
+
Path to Wrangler configuration file
|
|
164
|
+
|
|
165
|
+
- `--env` string alias: --e
|
|
166
|
+
|
|
167
|
+
Environment to use for operations, and for selecting .env and .dev.vars files
|
|
168
|
+
|
|
169
|
+
- `--env-file` string
|
|
170
|
+
|
|
171
|
+
Path to an .env file to load - can be specified multiple times - values from earlier files are overridden by values in later files
|
|
172
|
+
|
|
173
|
+
- `--experimental-provision` boolean aliases: --x-provision default: true
|
|
174
|
+
|
|
175
|
+
Experimental: Enable automatic resource provisioning
|
|
176
|
+
|
|
177
|
+
- `--experimental-auto-create` boolean alias: --x-auto-create default: true
|
|
178
|
+
|
|
179
|
+
Automatically provision draft bindings with new resources
|
|
180
|
+
|
|
181
|
+
## `kv bulk delete`
|
|
182
|
+
|
|
183
|
+
Delete multiple key-value pairs from a namespace
|
|
184
|
+
|
|
185
|
+
- npm
|
|
186
|
+
|
|
187
|
+
```sh
|
|
188
|
+
npx wrangler kv bulk delete [FILENAME]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
- pnpm
|
|
192
|
+
|
|
193
|
+
```sh
|
|
194
|
+
pnpm wrangler kv bulk delete [FILENAME]
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
- yarn
|
|
198
|
+
|
|
199
|
+
```sh
|
|
200
|
+
yarn wrangler kv bulk delete [FILENAME]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
* `[FILENAME]` string required
|
|
204
|
+
|
|
205
|
+
The file containing the keys to delete
|
|
206
|
+
|
|
207
|
+
* `--force` boolean alias: --f
|
|
208
|
+
|
|
209
|
+
Do not ask for confirmation before deleting
|
|
210
|
+
|
|
211
|
+
* `--binding` string
|
|
212
|
+
|
|
213
|
+
The binding name to the namespace to delete from
|
|
214
|
+
|
|
215
|
+
* `--namespace-id` string
|
|
216
|
+
|
|
217
|
+
The id of the namespace to delete from
|
|
218
|
+
|
|
219
|
+
* `--preview` boolean
|
|
220
|
+
|
|
221
|
+
Interact with a preview namespace
|
|
222
|
+
|
|
223
|
+
* `--local` boolean
|
|
224
|
+
|
|
225
|
+
Interact with local storage
|
|
226
|
+
|
|
227
|
+
* `--remote` boolean
|
|
228
|
+
|
|
229
|
+
Interact with remote storage
|
|
230
|
+
|
|
231
|
+
* `--persist-to` string
|
|
232
|
+
|
|
233
|
+
Directory for local persistence
|
|
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
|
+
|