better-convex-nuxt 0.2.0 → 0.2.2

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.
Files changed (70) hide show
  1. package/dist/module.d.mts +8 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +26 -13
  4. package/dist/runtime/devtools/index.d.ts +3 -8
  5. package/dist/runtime/devtools/index.js +0 -20
  6. package/dist/runtime/devtools/server.d.ts +1 -1
  7. package/dist/runtime/devtools/server.js +73 -1184
  8. package/dist/runtime/devtools/types.d.ts +33 -0
  9. package/dist/runtime/devtools/ui/app.d.vue.ts +3 -0
  10. package/dist/runtime/devtools/ui/app.vue +140 -0
  11. package/dist/runtime/devtools/ui/app.vue.d.ts +3 -0
  12. package/dist/runtime/devtools/ui/assets/styles.css +1 -0
  13. package/dist/runtime/devtools/ui/components/AuthPanel.d.vue.ts +8 -0
  14. package/dist/runtime/devtools/ui/components/AuthPanel.vue +69 -0
  15. package/dist/runtime/devtools/ui/components/AuthPanel.vue.d.ts +8 -0
  16. package/dist/runtime/devtools/ui/components/AuthWaterfall.d.vue.ts +7 -0
  17. package/dist/runtime/devtools/ui/components/AuthWaterfall.vue +141 -0
  18. package/dist/runtime/devtools/ui/components/AuthWaterfall.vue.d.ts +7 -0
  19. package/dist/runtime/devtools/ui/components/EventLog.d.vue.ts +12 -0
  20. package/dist/runtime/devtools/ui/components/EventLog.vue +62 -0
  21. package/dist/runtime/devtools/ui/components/EventLog.vue.d.ts +12 -0
  22. package/dist/runtime/devtools/ui/components/JsonViewer.d.vue.ts +7 -0
  23. package/dist/runtime/devtools/ui/components/JsonViewer.vue +55 -0
  24. package/dist/runtime/devtools/ui/components/JsonViewer.vue.d.ts +7 -0
  25. package/dist/runtime/devtools/ui/components/MutationTimeline.d.vue.ts +12 -0
  26. package/dist/runtime/devtools/ui/components/MutationTimeline.vue +70 -0
  27. package/dist/runtime/devtools/ui/components/MutationTimeline.vue.d.ts +12 -0
  28. package/dist/runtime/devtools/ui/components/QueryDetail.d.vue.ts +7 -0
  29. package/dist/runtime/devtools/ui/components/QueryDetail.vue +119 -0
  30. package/dist/runtime/devtools/ui/components/QueryDetail.vue.d.ts +7 -0
  31. package/dist/runtime/devtools/ui/components/QueryList.d.vue.ts +12 -0
  32. package/dist/runtime/devtools/ui/components/QueryList.vue +43 -0
  33. package/dist/runtime/devtools/ui/components/QueryList.vue.d.ts +12 -0
  34. package/dist/runtime/devtools/ui/composables/useAuth.d.ts +97 -0
  35. package/dist/runtime/devtools/ui/composables/useAuth.js +71 -0
  36. package/dist/runtime/devtools/ui/composables/useBridge.d.ts +18 -0
  37. package/dist/runtime/devtools/ui/composables/useBridge.js +75 -0
  38. package/dist/runtime/devtools/ui/composables/useEvents.d.ts +134 -0
  39. package/dist/runtime/devtools/ui/composables/useEvents.js +35 -0
  40. package/dist/runtime/devtools/ui/composables/useMutations.d.ts +34 -0
  41. package/dist/runtime/devtools/ui/composables/useMutations.js +45 -0
  42. package/dist/runtime/devtools/ui/composables/useQueries.d.ts +44 -0
  43. package/dist/runtime/devtools/ui/composables/useQueries.js +40 -0
  44. package/dist/runtime/devtools/ui/dist/200.html +1 -0
  45. package/dist/runtime/devtools/ui/dist/404.html +1 -0
  46. package/dist/runtime/devtools/ui/dist/_nuxt/CFSLmFtJ.d.ts +2 -0
  47. package/dist/runtime/devtools/ui/dist/_nuxt/CFSLmFtJ.js +1 -0
  48. package/dist/runtime/devtools/ui/dist/_nuxt/DK9WLypG.d.ts +2 -0
  49. package/dist/runtime/devtools/ui/dist/_nuxt/DK9WLypG.js +1 -0
  50. package/dist/runtime/devtools/ui/dist/_nuxt/DRR5kXdS.d.ts +101 -0
  51. package/dist/runtime/devtools/ui/dist/_nuxt/DRR5kXdS.js +4 -0
  52. package/dist/runtime/devtools/ui/dist/_nuxt/Ph5TXew4.d.ts +2 -0
  53. package/dist/runtime/devtools/ui/dist/_nuxt/Ph5TXew4.js +1 -0
  54. package/dist/runtime/devtools/ui/dist/_nuxt/builds/latest.json +1 -0
  55. package/dist/runtime/devtools/ui/dist/_nuxt/builds/meta/316510bf-55a1-4608-8d7a-efe8da0abc11.json +1 -0
  56. package/dist/runtime/devtools/ui/dist/_nuxt/entry.CXPHzcHp.css +1 -0
  57. package/dist/runtime/devtools/ui/dist/_nuxt/error-404.8FM23d9b.css +1 -0
  58. package/dist/runtime/devtools/ui/dist/_nuxt/error-500.jll2r1WV.css +1 -0
  59. package/dist/runtime/devtools/ui/dist/convex-logo.svg +5 -0
  60. package/dist/runtime/devtools/ui/dist/index.html +1 -0
  61. package/dist/runtime/devtools/ui/nuxt.config.d.ts +2 -0
  62. package/dist/runtime/devtools/ui/nuxt.config.js +30 -0
  63. package/dist/runtime/devtools/ui/public/convex-logo.svg +5 -0
  64. package/dist/runtime/plugin.client.js +71 -12
  65. package/dist/runtime/plugin.server.js +79 -1
  66. package/dist/runtime/server/api/auth/[...].d.ts +1 -1
  67. package/dist/runtime/server/api/auth/[...].js +42 -9
  68. package/dist/runtime/utils/route-matcher.d.ts +17 -0
  69. package/dist/runtime/utils/route-matcher.js +14 -0
  70. package/package.json +3 -2
package/dist/module.d.mts CHANGED
@@ -45,6 +45,14 @@ interface ModuleOptions {
45
45
  * @default []
46
46
  */
47
47
  trustedOrigins?: string[];
48
+ /**
49
+ * Routes that should skip auth checks entirely.
50
+ * Useful for marketing pages that never need authentication.
51
+ * Supports glob patterns (e.g., '/docs/**', '/blog/**').
52
+ * Can also use definePageMeta({ skipConvexAuth: true }) for per-page control.
53
+ * @default []
54
+ */
55
+ skipAuthRoutes?: string[];
48
56
  /**
49
57
  * Enable permission composables (createPermissions factory).
50
58
  * When true, auto-imports createPermissions for building usePermissions.
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.0.0"
6
6
  },
7
- "version": "0.2.0",
7
+ "version": "0.2.2",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -22,6 +22,7 @@ const module$1 = defineNuxtModule({
22
22
  url: process.env.CONVEX_URL,
23
23
  siteUrl: process.env.CONVEX_SITE_URL,
24
24
  trustedOrigins: [],
25
+ skipAuthRoutes: [],
25
26
  permissions: false,
26
27
  logging: {
27
28
  enabled: false,
@@ -48,6 +49,7 @@ const module$1 = defineNuxtModule({
48
49
  url: options.url || "",
49
50
  siteUrl: derivedSiteUrl,
50
51
  trustedOrigins: options.trustedOrigins ?? [],
52
+ skipAuthRoutes: options.skipAuthRoutes ?? [],
51
53
  logging: {
52
54
  enabled: options.logging?.enabled ?? false,
53
55
  format: options.logging?.format ?? "pretty"
@@ -81,6 +83,14 @@ declare module '#app' {
81
83
  $convex: ConvexClient
82
84
  $auth?: AuthClient
83
85
  }
86
+
87
+ interface PageMeta {
88
+ /**
89
+ * Skip Convex auth check for this page.
90
+ * Useful for marketing pages that don't need authentication.
91
+ */
92
+ skipConvexAuth?: boolean
93
+ }
84
94
  }
85
95
 
86
96
  declare module 'vue' {
@@ -182,28 +192,31 @@ export {}
182
192
  }
183
193
  }
184
194
  });
185
- async function setupDevTools(nuxt, resolver) {
186
- try {
187
- const { addCustomTab } = await import('@nuxt/devtools-kit');
188
- addCustomTab({
195
+ function setupDevTools(nuxt, resolver) {
196
+ const devtoolsOutputPath = resolver.resolve("./runtime/devtools/.output/public");
197
+ nuxt.options.runtimeConfig.convexDevtoolsPath = devtoolsOutputPath;
198
+ nuxt.hook("devtools:customTabs", (tabs) => {
199
+ tabs.push({
189
200
  name: "convex",
190
201
  title: "Convex",
191
- icon: "carbon:data-base",
202
+ icon: "/__convex_devtools__/convex-logo.svg",
192
203
  category: "app",
193
204
  view: {
194
205
  type: "iframe",
195
206
  src: "/__convex_devtools__",
196
207
  persistent: true
197
208
  }
198
- }, nuxt);
199
- addServerHandler({
200
- route: "/__convex_devtools__",
201
- handler: resolver.resolve("./runtime/devtools/server")
202
209
  });
203
- logger.info("Nuxt DevTools integration enabled");
204
- } catch {
205
- logger.debug("Nuxt DevTools integration skipped (devtools-kit not available)");
206
- }
210
+ });
211
+ addServerHandler({
212
+ route: "/__convex_devtools__",
213
+ handler: resolver.resolve("./runtime/devtools/server")
214
+ });
215
+ addServerHandler({
216
+ route: "/__convex_devtools__/**",
217
+ handler: resolver.resolve("./runtime/devtools/server")
218
+ });
219
+ logger.info("Nuxt DevTools integration enabled");
207
220
  }
208
221
 
209
222
  export { module$1 as default };
@@ -1,14 +1,9 @@
1
1
  /**
2
- * DevTools setup for Nuxt DevTools integration.
3
- * This file is called from module.ts in dev mode only.
2
+ * DevTools setup utilities.
3
+ * Note: Main DevTools setup is handled directly in module.ts.
4
+ * This file provides type exports and utility functions.
4
5
  */
5
- import type { Nuxt } from '@nuxt/schema';
6
6
  export interface DevToolsSetupOptions {
7
7
  /** Resolver for file paths */
8
8
  resolve: (...paths: string[]) => string;
9
9
  }
10
- /**
11
- * Setup Nuxt DevTools integration.
12
- * Registers custom tab and server handlers.
13
- */
14
- export declare function setupDevTools(nuxt: Nuxt, options: DevToolsSetupOptions): void;
@@ -1,20 +0,0 @@
1
- import { addCustomTab } from "@nuxt/devtools-kit";
2
- import { addServerHandler } from "@nuxt/kit";
3
- export function setupDevTools(nuxt, options) {
4
- const { resolve } = options;
5
- addCustomTab({
6
- name: "convex",
7
- title: "Convex",
8
- icon: "carbon:data-base",
9
- category: "app",
10
- view: {
11
- type: "iframe",
12
- src: "/__convex_devtools__",
13
- persistent: true
14
- }
15
- }, nuxt);
16
- addServerHandler({
17
- route: "/__convex_devtools__",
18
- handler: resolve("./runtime/devtools/server")
19
- });
20
- }
@@ -1,2 +1,2 @@
1
- declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, string>;
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, string | NonSharedBuffer>;
2
2
  export default _default;