convex-zen 0.0.1 → 1.0.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.
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +195 -62
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/index.js +12 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/client/index.d.ts +81 -32
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +153 -41
- package/dist/client/index.js.map +1 -1
- package/dist/client/plugins/admin.d.ts +29 -27
- package/dist/client/plugins/admin.d.ts.map +1 -1
- package/dist/client/plugins/admin.js +45 -75
- package/dist/client/plugins/admin.js.map +1 -1
- package/dist/client/providers.d.ts +2 -0
- package/dist/client/providers.d.ts.map +1 -1
- package/dist/client/providers.js +10 -2
- package/dist/client/providers.js.map +1 -1
- package/dist/client/tanstack-start-client-plugins.d.ts +1 -0
- package/dist/client/tanstack-start-client-plugins.d.ts.map +1 -1
- package/dist/client/tanstack-start-client-plugins.js +2 -1
- package/dist/client/tanstack-start-client-plugins.js.map +1 -1
- package/dist/client/tanstack-start-client.d.ts +17 -3
- package/dist/client/tanstack-start-client.d.ts.map +1 -1
- package/dist/client/tanstack-start-client.js +83 -6
- package/dist/client/tanstack-start-client.js.map +1 -1
- package/dist/client/tanstack-start-identity-jwt.d.ts +42 -0
- package/dist/client/tanstack-start-identity-jwt.d.ts.map +1 -0
- package/dist/client/tanstack-start-identity-jwt.js +203 -0
- package/dist/client/tanstack-start-identity-jwt.js.map +1 -0
- package/dist/client/tanstack-start-plugin-meta.d.ts +4 -0
- package/dist/client/tanstack-start-plugin-meta.d.ts.map +1 -0
- package/dist/client/tanstack-start-plugin-meta.js +8 -0
- package/dist/client/tanstack-start-plugin-meta.js.map +1 -0
- package/dist/client/tanstack-start-plugins.d.ts +33 -11
- package/dist/client/tanstack-start-plugins.d.ts.map +1 -1
- package/dist/client/tanstack-start-plugins.js +183 -55
- package/dist/client/tanstack-start-plugins.js.map +1 -1
- package/dist/client/tanstack-start.d.ts +58 -11
- package/dist/client/tanstack-start.d.ts.map +1 -1
- package/dist/client/tanstack-start.js +263 -30
- package/dist/client/tanstack-start.js.map +1 -1
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +18 -3
- package/src/cli/generate.ts +248 -65
- package/src/cli/index.ts +16 -14
- package/src/client/index.ts +280 -70
- package/src/client/plugins/admin.ts +147 -89
- package/src/client/providers.ts +12 -2
- package/src/client/tanstack-start-client-plugins.ts +3 -1
- package/src/client/tanstack-start-client.ts +170 -11
- package/src/client/tanstack-start-identity-jwt.ts +287 -0
- package/src/client/tanstack-start-plugin-meta.ts +14 -0
- package/src/client/tanstack-start-plugins.ts +318 -77
- package/src/client/tanstack-start.ts +410 -40
- package/src/component/_generated/component.ts +48 -21
- package/src/component/core/sessions.ts +188 -152
- package/src/component/core/users.ts +209 -121
- package/src/component/core/verifications.ts +124 -99
- package/src/component/gateway.ts +173 -149
- package/src/component/lib/crypto.ts +90 -0
- package/src/component/lib/internalApi.ts +6 -6
- package/src/component/lib/rateLimit.ts +88 -72
- package/src/component/lib/validators.ts +1 -0
- package/src/component/plugins/admin.ts +157 -107
- package/src/component/providers/emailPassword.ts +289 -276
- package/src/component/providers/oauth.ts +308 -200
- package/src/types.ts +26 -0
- package/dist/component/_generated/api.d.ts +0 -50
- package/dist/component/_generated/api.d.ts.map +0 -1
- package/dist/component/_generated/api.js +0 -31
- package/dist/component/_generated/api.js.map +0 -1
- package/dist/component/_generated/component.d.ts +0 -92
- package/dist/component/_generated/component.d.ts.map +0 -1
- package/dist/component/_generated/component.js +0 -11
- package/dist/component/_generated/component.js.map +0 -1
- package/dist/component/_generated/dataModel.d.ts +0 -46
- package/dist/component/_generated/dataModel.d.ts.map +0 -1
- package/dist/component/_generated/dataModel.js +0 -11
- package/dist/component/_generated/dataModel.js.map +0 -1
- package/dist/component/_generated/server.d.ts +0 -121
- package/dist/component/_generated/server.d.ts.map +0 -1
- package/dist/component/_generated/server.js +0 -78
- package/dist/component/_generated/server.js.map +0 -1
- package/dist/component/core/sessions.d.ts +0 -33
- package/dist/component/core/sessions.d.ts.map +0 -1
- package/dist/component/core/sessions.js +0 -186
- package/dist/component/core/sessions.js.map +0 -1
- package/dist/component/core/users.d.ts +0 -19
- package/dist/component/core/users.d.ts.map +0 -1
- package/dist/component/core/users.js +0 -154
- package/dist/component/core/users.js.map +0 -1
- package/dist/component/core/verifications.d.ts +0 -34
- package/dist/component/core/verifications.d.ts.map +0 -1
- package/dist/component/core/verifications.js +0 -135
- package/dist/component/core/verifications.js.map +0 -1
- package/dist/component/gateway.d.ts +0 -16
- package/dist/component/gateway.d.ts.map +0 -1
- package/dist/component/gateway.js +0 -229
- package/dist/component/gateway.js.map +0 -1
- package/dist/component/lib/crypto.d.ts +0 -24
- package/dist/component/lib/crypto.d.ts.map +0 -1
- package/dist/component/lib/crypto.js +0 -57
- package/dist/component/lib/crypto.js.map +0 -1
- package/dist/component/lib/rateLimit.d.ts +0 -26
- package/dist/component/lib/rateLimit.d.ts.map +0 -1
- package/dist/component/lib/rateLimit.js +0 -96
- package/dist/component/lib/rateLimit.js.map +0 -1
- package/dist/component/lib/validators.d.ts +0 -19
- package/dist/component/lib/validators.d.ts.map +0 -1
- package/dist/component/lib/validators.js +0 -12
- package/dist/component/lib/validators.js.map +0 -1
- package/dist/component/plugins/admin.d.ts +0 -72
- package/dist/component/plugins/admin.d.ts.map +0 -1
- package/dist/component/plugins/admin.js +0 -152
- package/dist/component/plugins/admin.js.map +0 -1
- package/dist/component/providers/emailPassword.d.ts +0 -49
- package/dist/component/providers/emailPassword.d.ts.map +0 -1
- package/dist/component/providers/emailPassword.js +0 -316
- package/dist/component/providers/emailPassword.js.map +0 -1
- package/dist/component/providers/oauth.d.ts +0 -33
- package/dist/component/providers/oauth.d.ts.map +0 -1
- package/dist/component/providers/oauth.js +0 -256
- package/dist/component/providers/oauth.js.map +0 -1
- package/dist/component/schema.d.ts +0 -132
- package/dist/component/schema.d.ts.map +0 -1
- package/dist/component/schema.js +0 -82
- package/dist/component/schema.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAsYD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CA8HzB"}
|
package/dist/cli/generate.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { access, mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
1
|
+
import { access, mkdir, readFile, readdir, rm, writeFile, } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
const GENERATED_MARKER = "// @generated by convex-zen generate. DO NOT EDIT.";
|
|
4
4
|
function normalizeContent(content) {
|
|
@@ -16,20 +16,87 @@ async function fileExists(filePath) {
|
|
|
16
16
|
function isGeneratedFile(content) {
|
|
17
17
|
return content.startsWith(GENERATED_MARKER);
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
async function resolveAuthSource(cwd) {
|
|
20
|
+
const zenPath = path.join(cwd, "convex", "zenConvex.ts");
|
|
21
|
+
if (await fileExists(zenPath)) {
|
|
22
|
+
return {
|
|
23
|
+
absolutePath: zenPath,
|
|
24
|
+
relativePath: path.join("convex", "zenConvex.ts"),
|
|
25
|
+
layout: "zen",
|
|
26
|
+
coreAuthImportPath: "../zenConvex",
|
|
27
|
+
pluginAuthImportPath: "../../zenConvex",
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const rootPath = path.join(cwd, "convex", "auth.ts");
|
|
31
|
+
if (await fileExists(rootPath)) {
|
|
32
|
+
return {
|
|
33
|
+
absolutePath: rootPath,
|
|
34
|
+
relativePath: path.join("convex", "auth.ts"),
|
|
35
|
+
layout: "root",
|
|
36
|
+
coreAuthImportPath: "../auth",
|
|
37
|
+
pluginAuthImportPath: "../../auth",
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const indexPath = path.join(cwd, "convex", "auth", "index.ts");
|
|
41
|
+
if (await fileExists(indexPath)) {
|
|
42
|
+
return {
|
|
43
|
+
absolutePath: indexPath,
|
|
44
|
+
relativePath: path.join("convex", "auth", "index.ts"),
|
|
45
|
+
layout: "index",
|
|
46
|
+
coreAuthImportPath: ".",
|
|
47
|
+
pluginAuthImportPath: "..",
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
function detectEnabledPlugins(authSource) {
|
|
20
53
|
const plugins = new Set();
|
|
21
|
-
if (/adminPlugin\s*\(/.test(
|
|
54
|
+
if (/adminPlugin\s*\(/.test(authSource)) {
|
|
22
55
|
plugins.add("admin");
|
|
23
56
|
}
|
|
24
57
|
return plugins;
|
|
25
58
|
}
|
|
26
|
-
function
|
|
59
|
+
function hasOAuthProviders(authSource) {
|
|
60
|
+
return (/\bproviders\s*:\s*\[/.test(authSource) ||
|
|
61
|
+
/\bgoogleProvider\s*\(/.test(authSource) ||
|
|
62
|
+
/\bgithubProvider\s*\(/.test(authSource));
|
|
63
|
+
}
|
|
64
|
+
function renderCoreFile(options) {
|
|
65
|
+
const serverImports = options.includeOAuth ? "action, mutation" : "mutation";
|
|
66
|
+
const authImportPath = options.authImportPath;
|
|
67
|
+
const oauthExports = options.includeOAuth
|
|
68
|
+
? `
|
|
69
|
+
export const getOAuthUrl = action({
|
|
70
|
+
args: {
|
|
71
|
+
providerId: v.string(),
|
|
72
|
+
redirectUrl: v.optional(v.string()),
|
|
73
|
+
},
|
|
74
|
+
handler: async (ctx, args) => {
|
|
75
|
+
return auth.getOAuthUrl(ctx, args.providerId, args.redirectUrl);
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
export const handleOAuthCallback = action({
|
|
80
|
+
args: {
|
|
81
|
+
providerId: v.string(),
|
|
82
|
+
code: v.string(),
|
|
83
|
+
state: v.string(),
|
|
84
|
+
redirectUrl: v.optional(v.string()),
|
|
85
|
+
ipAddress: v.optional(v.string()),
|
|
86
|
+
userAgent: v.optional(v.string()),
|
|
87
|
+
},
|
|
88
|
+
handler: async (ctx, args) => {
|
|
89
|
+
return auth.handleCallback(ctx, args);
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
`
|
|
93
|
+
: "";
|
|
27
94
|
return normalizeContent(`${GENERATED_MARKER}
|
|
28
95
|
import { v } from "convex/values";
|
|
29
|
-
import {
|
|
30
|
-
import { auth } from "
|
|
96
|
+
import { ${serverImports} } from "../_generated/server";
|
|
97
|
+
import { auth } from "${authImportPath}";
|
|
31
98
|
|
|
32
|
-
export const signUp =
|
|
99
|
+
export const signUp = mutation({
|
|
33
100
|
args: {
|
|
34
101
|
email: v.string(),
|
|
35
102
|
password: v.string(),
|
|
@@ -41,7 +108,7 @@ export const signUp = action({
|
|
|
41
108
|
},
|
|
42
109
|
});
|
|
43
110
|
|
|
44
|
-
export const signInWithEmail =
|
|
111
|
+
export const signInWithEmail = mutation({
|
|
45
112
|
args: {
|
|
46
113
|
email: v.string(),
|
|
47
114
|
password: v.string(),
|
|
@@ -53,7 +120,7 @@ export const signInWithEmail = action({
|
|
|
53
120
|
},
|
|
54
121
|
});
|
|
55
122
|
|
|
56
|
-
export const verifyEmail =
|
|
123
|
+
export const verifyEmail = mutation({
|
|
57
124
|
args: {
|
|
58
125
|
email: v.string(),
|
|
59
126
|
code: v.string(),
|
|
@@ -63,7 +130,7 @@ export const verifyEmail = action({
|
|
|
63
130
|
},
|
|
64
131
|
});
|
|
65
132
|
|
|
66
|
-
export const requestPasswordReset =
|
|
133
|
+
export const requestPasswordReset = mutation({
|
|
67
134
|
args: {
|
|
68
135
|
email: v.string(),
|
|
69
136
|
ipAddress: v.optional(v.string()),
|
|
@@ -73,7 +140,7 @@ export const requestPasswordReset = action({
|
|
|
73
140
|
},
|
|
74
141
|
});
|
|
75
142
|
|
|
76
|
-
export const resetPassword =
|
|
143
|
+
export const resetPassword = mutation({
|
|
77
144
|
args: {
|
|
78
145
|
email: v.string(),
|
|
79
146
|
code: v.string(),
|
|
@@ -84,7 +151,7 @@ export const resetPassword = action({
|
|
|
84
151
|
},
|
|
85
152
|
});
|
|
86
153
|
|
|
87
|
-
export const signOut =
|
|
154
|
+
export const signOut = mutation({
|
|
88
155
|
args: {
|
|
89
156
|
token: v.string(),
|
|
90
157
|
},
|
|
@@ -93,7 +160,7 @@ export const signOut = action({
|
|
|
93
160
|
},
|
|
94
161
|
});
|
|
95
162
|
|
|
96
|
-
export const validateSession =
|
|
163
|
+
export const validateSession = mutation({
|
|
97
164
|
args: {
|
|
98
165
|
token: v.string(),
|
|
99
166
|
},
|
|
@@ -102,7 +169,7 @@ export const validateSession = action({
|
|
|
102
169
|
},
|
|
103
170
|
});
|
|
104
171
|
|
|
105
|
-
export const currentUser =
|
|
172
|
+
export const currentUser = mutation({
|
|
106
173
|
args: {
|
|
107
174
|
token: v.optional(v.string()),
|
|
108
175
|
},
|
|
@@ -111,40 +178,28 @@ export const currentUser = action({
|
|
|
111
178
|
},
|
|
112
179
|
});
|
|
113
180
|
|
|
114
|
-
|
|
115
|
-
args: {
|
|
116
|
-
providerId: v.string(),
|
|
117
|
-
redirectUrl: v.optional(v.string()),
|
|
118
|
-
},
|
|
119
|
-
handler: async (ctx, args) => {
|
|
120
|
-
return auth.getOAuthUrl(ctx, args.providerId, args.redirectUrl);
|
|
121
|
-
},
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
export const handleOAuthCallback = action({
|
|
125
|
-
args: {
|
|
126
|
-
providerId: v.string(),
|
|
127
|
-
code: v.string(),
|
|
128
|
-
state: v.string(),
|
|
129
|
-
redirectUrl: v.optional(v.string()),
|
|
130
|
-
ipAddress: v.optional(v.string()),
|
|
131
|
-
userAgent: v.optional(v.string()),
|
|
132
|
-
},
|
|
133
|
-
handler: async (ctx, args) => {
|
|
134
|
-
return auth.handleCallback(ctx, args);
|
|
135
|
-
},
|
|
136
|
-
});
|
|
181
|
+
${oauthExports}
|
|
137
182
|
`);
|
|
138
183
|
}
|
|
139
|
-
function
|
|
184
|
+
function renderAdminPluginFile(options) {
|
|
185
|
+
const authImportPath = options.authImportPath;
|
|
140
186
|
return normalizeContent(`${GENERATED_MARKER}
|
|
141
187
|
import { v } from "convex/values";
|
|
142
|
-
import {
|
|
143
|
-
import { auth } from "
|
|
188
|
+
import { mutation, query } from "../../_generated/server";
|
|
189
|
+
import { auth } from "${authImportPath}";
|
|
190
|
+
|
|
191
|
+
export const isAdmin = query({
|
|
192
|
+
args: {},
|
|
193
|
+
handler: async (ctx) => {
|
|
194
|
+
if (!auth.admin) {
|
|
195
|
+
throw new Error("Admin plugin is not enabled");
|
|
196
|
+
}
|
|
197
|
+
return auth.admin.isAdmin(ctx);
|
|
198
|
+
},
|
|
199
|
+
});
|
|
144
200
|
|
|
145
|
-
export const listUsers =
|
|
201
|
+
export const listUsers = query({
|
|
146
202
|
args: {
|
|
147
|
-
token: v.optional(v.string()),
|
|
148
203
|
limit: v.optional(v.number()),
|
|
149
204
|
cursor: v.optional(v.string()),
|
|
150
205
|
},
|
|
@@ -156,9 +211,8 @@ export const listUsers = action({
|
|
|
156
211
|
},
|
|
157
212
|
});
|
|
158
213
|
|
|
159
|
-
export const banUser =
|
|
214
|
+
export const banUser = mutation({
|
|
160
215
|
args: {
|
|
161
|
-
token: v.optional(v.string()),
|
|
162
216
|
userId: v.string(),
|
|
163
217
|
reason: v.optional(v.string()),
|
|
164
218
|
expiresAt: v.optional(v.number()),
|
|
@@ -171,9 +225,8 @@ export const banUser = action({
|
|
|
171
225
|
},
|
|
172
226
|
});
|
|
173
227
|
|
|
174
|
-
export const unbanUser =
|
|
228
|
+
export const unbanUser = mutation({
|
|
175
229
|
args: {
|
|
176
|
-
token: v.optional(v.string()),
|
|
177
230
|
userId: v.string(),
|
|
178
231
|
},
|
|
179
232
|
handler: async (ctx, args) => {
|
|
@@ -184,9 +237,8 @@ export const unbanUser = action({
|
|
|
184
237
|
},
|
|
185
238
|
});
|
|
186
239
|
|
|
187
|
-
export const setRole =
|
|
240
|
+
export const setRole = mutation({
|
|
188
241
|
args: {
|
|
189
|
-
token: v.optional(v.string()),
|
|
190
242
|
userId: v.string(),
|
|
191
243
|
role: v.string(),
|
|
192
244
|
},
|
|
@@ -198,9 +250,8 @@ export const setRole = action({
|
|
|
198
250
|
},
|
|
199
251
|
});
|
|
200
252
|
|
|
201
|
-
export const deleteUser =
|
|
253
|
+
export const deleteUser = mutation({
|
|
202
254
|
args: {
|
|
203
|
-
token: v.optional(v.string()),
|
|
204
255
|
userId: v.string(),
|
|
205
256
|
},
|
|
206
257
|
handler: async (ctx, args) => {
|
|
@@ -212,6 +263,34 @@ export const deleteUser = action({
|
|
|
212
263
|
});
|
|
213
264
|
`);
|
|
214
265
|
}
|
|
266
|
+
function parsePluginFunctionKinds(source) {
|
|
267
|
+
const result = {};
|
|
268
|
+
const pattern = /export\s+const\s+([A-Za-z0-9_]+)\s*=\s*(query|mutation|action)\s*\(/g;
|
|
269
|
+
let match = pattern.exec(source);
|
|
270
|
+
while (match) {
|
|
271
|
+
const functionName = match[1];
|
|
272
|
+
const functionKind = match[2];
|
|
273
|
+
if (functionName) {
|
|
274
|
+
result[functionName] = functionKind;
|
|
275
|
+
}
|
|
276
|
+
match = pattern.exec(source);
|
|
277
|
+
}
|
|
278
|
+
return result;
|
|
279
|
+
}
|
|
280
|
+
function renderPluginMetaFile(pluginMeta) {
|
|
281
|
+
const normalizedEntries = Object.entries(pluginMeta)
|
|
282
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
283
|
+
.map(([pluginName, functions]) => {
|
|
284
|
+
const sortedFunctions = Object.fromEntries(Object.entries(functions).sort(([a], [b]) => a.localeCompare(b)));
|
|
285
|
+
return [pluginName, sortedFunctions];
|
|
286
|
+
});
|
|
287
|
+
const normalizedMeta = Object.fromEntries(normalizedEntries);
|
|
288
|
+
return normalizeContent(`${GENERATED_MARKER}
|
|
289
|
+
export const authPluginMeta = ${JSON.stringify(normalizedMeta, null, 2)} as const;
|
|
290
|
+
|
|
291
|
+
export type AuthPluginMeta = typeof authPluginMeta;
|
|
292
|
+
`);
|
|
293
|
+
}
|
|
215
294
|
async function upsertGeneratedFile(file, options, result) {
|
|
216
295
|
const exists = await fileExists(file.absolutePath);
|
|
217
296
|
if (!exists) {
|
|
@@ -263,35 +342,89 @@ export async function generateAuthFunctions(options) {
|
|
|
263
342
|
warnings: [],
|
|
264
343
|
};
|
|
265
344
|
const authDir = path.join(options.cwd, "convex", "auth");
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
|
|
345
|
+
const pluginDir = path.join(authDir, "plugin");
|
|
346
|
+
const authSource = await resolveAuthSource(options.cwd);
|
|
347
|
+
if (!authSource) {
|
|
348
|
+
throw new Error(`Missing auth source file. Expected: ${path.join("convex", "zenConvex.ts")}`);
|
|
269
349
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
350
|
+
if (authSource.layout !== "zen") {
|
|
351
|
+
result.warnings.push(`Legacy auth source detected (${authSource.relativePath}). Move to ${path.join("convex", "zenConvex.ts")}.`);
|
|
352
|
+
}
|
|
353
|
+
const authSourceContents = await readFile(authSource.absolutePath, "utf8");
|
|
354
|
+
const enabledPlugins = detectEnabledPlugins(authSourceContents);
|
|
355
|
+
const includeOAuth = hasOAuthProviders(authSourceContents);
|
|
356
|
+
const coreAuthImportPath = authSource.coreAuthImportPath;
|
|
357
|
+
const pluginAuthImportPath = authSource.pluginAuthImportPath;
|
|
358
|
+
if (!/export\s+const\s+authOptions\s*=/.test(authSourceContents)) {
|
|
359
|
+
result.warnings.push(`authOptions export was not found in ${authSource.relativePath} (recommended for generator compatibility).`);
|
|
274
360
|
}
|
|
275
361
|
const filesToGenerate = [
|
|
276
362
|
{
|
|
277
363
|
absolutePath: path.join(authDir, "core.ts"),
|
|
278
364
|
relativePath: path.join("convex", "auth", "core.ts"),
|
|
279
|
-
content: renderCoreFile(
|
|
365
|
+
content: renderCoreFile({
|
|
366
|
+
includeOAuth,
|
|
367
|
+
authImportPath: coreAuthImportPath,
|
|
368
|
+
}),
|
|
280
369
|
},
|
|
281
370
|
];
|
|
371
|
+
const generatedPluginSources = new Map();
|
|
282
372
|
if (enabledPlugins.has("admin")) {
|
|
373
|
+
const adminContent = renderAdminPluginFile({
|
|
374
|
+
authImportPath: pluginAuthImportPath,
|
|
375
|
+
});
|
|
283
376
|
filesToGenerate.push({
|
|
284
|
-
absolutePath: path.join(
|
|
285
|
-
relativePath: path.join("convex", "auth", "admin.ts"),
|
|
286
|
-
content:
|
|
377
|
+
absolutePath: path.join(pluginDir, "admin.ts"),
|
|
378
|
+
relativePath: path.join("convex", "auth", "plugin", "admin.ts"),
|
|
379
|
+
content: adminContent,
|
|
287
380
|
});
|
|
381
|
+
generatedPluginSources.set("admin", adminContent);
|
|
288
382
|
}
|
|
289
383
|
for (const file of filesToGenerate) {
|
|
290
384
|
await upsertGeneratedFile(file, options, result);
|
|
291
385
|
}
|
|
386
|
+
await deleteGeneratedFileIfExists(path.join(authDir, "admin.ts"), path.join("convex", "auth", "admin.ts"), options, result);
|
|
292
387
|
if (!enabledPlugins.has("admin")) {
|
|
293
|
-
await deleteGeneratedFileIfExists(path.join(
|
|
388
|
+
await deleteGeneratedFileIfExists(path.join(pluginDir, "admin.ts"), path.join("convex", "auth", "plugin", "admin.ts"), options, result);
|
|
389
|
+
}
|
|
390
|
+
const pluginMeta = {};
|
|
391
|
+
for (const [pluginName, source] of generatedPluginSources) {
|
|
392
|
+
const kinds = parsePluginFunctionKinds(source);
|
|
393
|
+
if (Object.keys(kinds).length > 0) {
|
|
394
|
+
pluginMeta[pluginName] = kinds;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
if (await fileExists(pluginDir)) {
|
|
398
|
+
const entries = await readdir(pluginDir, { withFileTypes: true });
|
|
399
|
+
for (const entry of entries) {
|
|
400
|
+
if (!entry.isFile() || !entry.name.endsWith(".ts")) {
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
403
|
+
if (entry.name === "metaGenerated.ts") {
|
|
404
|
+
continue;
|
|
405
|
+
}
|
|
406
|
+
const pluginName = entry.name.slice(0, -3);
|
|
407
|
+
if (generatedPluginSources.has(pluginName)) {
|
|
408
|
+
continue;
|
|
409
|
+
}
|
|
410
|
+
const absolutePath = path.join(pluginDir, entry.name);
|
|
411
|
+
const source = await readFile(absolutePath, "utf8");
|
|
412
|
+
if (pluginName === "admin" &&
|
|
413
|
+
!enabledPlugins.has("admin") &&
|
|
414
|
+
isGeneratedFile(source)) {
|
|
415
|
+
continue;
|
|
416
|
+
}
|
|
417
|
+
const kinds = parsePluginFunctionKinds(source);
|
|
418
|
+
if (Object.keys(kinds).length > 0) {
|
|
419
|
+
pluginMeta[pluginName] = kinds;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
294
422
|
}
|
|
423
|
+
await upsertGeneratedFile({
|
|
424
|
+
absolutePath: path.join(pluginDir, "metaGenerated.ts"),
|
|
425
|
+
relativePath: path.join("convex", "auth", "plugin", "metaGenerated.ts"),
|
|
426
|
+
content: renderPluginMetaFile(pluginMeta),
|
|
427
|
+
}, options, result);
|
|
295
428
|
return result;
|
|
296
429
|
}
|
|
297
430
|
//# sourceMappingURL=generate.js.map
|
package/dist/cli/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -6,7 +6,7 @@ function printHelp() {
|
|
|
6
6
|
console.log(`convex-zen CLI
|
|
7
7
|
|
|
8
8
|
Usage:
|
|
9
|
-
convex-zen generate [--cwd <path>] [--check]
|
|
9
|
+
convex-zen generate [--cwd <path>] [--check]
|
|
10
10
|
|
|
11
11
|
Commands:
|
|
12
12
|
generate Generate Convex auth function wrappers in convex/auth/
|
|
@@ -14,7 +14,6 @@ Commands:
|
|
|
14
14
|
Flags:
|
|
15
15
|
--cwd Workspace root (default: current working directory)
|
|
16
16
|
--check Check for drift without writing files
|
|
17
|
-
--verbose Print additional details
|
|
18
17
|
-h, --help Show this help message
|
|
19
18
|
`);
|
|
20
19
|
}
|
|
@@ -68,6 +67,17 @@ function printSummary(result) {
|
|
|
68
67
|
if (totalChanges === 0) {
|
|
69
68
|
console.log(" status: up-to-date");
|
|
70
69
|
}
|
|
70
|
+
const orderedGroups = [
|
|
71
|
+
{ status: "created", files: result.created },
|
|
72
|
+
{ status: "updated", files: result.updated },
|
|
73
|
+
{ status: "deleted", files: result.deleted },
|
|
74
|
+
{ status: "unchanged", files: result.unchanged },
|
|
75
|
+
];
|
|
76
|
+
for (const group of orderedGroups) {
|
|
77
|
+
for (const file of group.files) {
|
|
78
|
+
console.log(` ${group.status}: ${file}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
71
81
|
for (const warning of result.warnings) {
|
|
72
82
|
console.warn(`warning: ${warning}`);
|
|
73
83
|
}
|
|
@@ -83,17 +93,6 @@ async function main() {
|
|
|
83
93
|
}
|
|
84
94
|
const result = await generateAuthFunctions(options);
|
|
85
95
|
printSummary(result);
|
|
86
|
-
if (options.verbose) {
|
|
87
|
-
for (const file of result.created) {
|
|
88
|
-
console.log(`created: ${file}`);
|
|
89
|
-
}
|
|
90
|
-
for (const file of result.updated) {
|
|
91
|
-
console.log(`updated: ${file}`);
|
|
92
|
-
}
|
|
93
|
-
for (const file of result.deleted) {
|
|
94
|
-
console.log(`deleted: ${file}`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
96
|
if (options.check) {
|
|
98
97
|
const hasDrift = result.created.length > 0 ||
|
|
99
98
|
result.updated.length > 0 ||
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EACL,qBAAqB,GAGtB,MAAM,eAAe,CAAC;AAEvB,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|