@percher/core 0.4.10 → 0.4.11
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/ai-files-manifest.d.ts +1 -1
- package/dist/commands/account.d.ts +1 -1
- package/dist/commands/account.js +2 -2
- package/dist/commands/admin-reconcile-routes.d.ts +1 -1
- package/dist/commands/ai-files.d.ts +2 -2
- package/dist/commands/ai-files.js +2 -2
- package/dist/commands/alerts.d.ts +1 -1
- package/dist/commands/app-resources.d.ts +1 -1
- package/dist/commands/app-resources.js +2 -2
- package/dist/commands/app-topology.d.ts +1 -1
- package/dist/commands/app-topology.js +2 -2
- package/dist/commands/billing.d.ts +1 -1
- package/dist/commands/billing.js +1 -1
- package/dist/commands/cache.d.ts +1 -1
- package/dist/commands/cache.js +2 -2
- package/dist/commands/capabilities.d.ts +1 -1
- package/dist/commands/claim.d.ts +1 -1
- package/dist/commands/claim.js +1 -1
- package/dist/commands/create.d.ts +2 -2
- package/dist/commands/create.js +2 -2
- package/dist/commands/dashboard.d.ts +1 -1
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/data-export.d.ts +1 -1
- package/dist/commands/data-export.js +3 -3
- package/dist/commands/data.d.ts +1 -1
- package/dist/commands/data.js +2 -2
- package/dist/commands/delete.d.ts +1 -1
- package/dist/commands/delete.js +2 -2
- package/dist/commands/deploys.d.ts +1 -1
- package/dist/commands/deploys.js +2 -2
- package/dist/commands/dev.d.ts +1 -1
- package/dist/commands/dev.js +3 -3
- package/dist/commands/diagnose.d.ts +1 -1
- package/dist/commands/diagnose.js +2 -2
- package/dist/commands/diff.d.ts +1 -1
- package/dist/commands/diff.js +2 -2
- package/dist/commands/doctor.d.ts +3 -3
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/domains.d.ts +1 -1
- package/dist/commands/domains.js +2 -2
- package/dist/commands/env.d.ts +1 -1
- package/dist/commands/env.js +2 -2
- package/dist/commands/export.d.ts +1 -1
- package/dist/commands/export.js +2 -2
- package/dist/commands/forgejo.d.ts +1 -1
- package/dist/commands/forgejo.js +2 -2
- package/dist/commands/generate.d.ts +1 -1
- package/dist/commands/generate.js +1 -1
- package/dist/commands/github.d.ts +1 -1
- package/dist/commands/github.js +2 -2
- package/dist/commands/import-project.d.ts +1 -1
- package/dist/commands/import-project.js +2 -2
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.js +3 -3
- package/dist/commands/insights.d.ts +1 -1
- package/dist/commands/insights.js +2 -2
- package/dist/commands/inspect-link.d.ts +1 -1
- package/dist/commands/inspect-link.js +2 -2
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/logs.d.ts +1 -1
- package/dist/commands/logs.js +2 -2
- package/dist/commands/mcp.d.ts +1 -1
- package/dist/commands/migrate-supabase-map.d.ts +1 -1
- package/dist/commands/migrate-supabase-recipes.d.ts +28 -0
- package/dist/commands/migrate-supabase-recipes.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-recipes.js +92 -0
- package/dist/commands/migrate-supabase-recipes.js.map +1 -0
- package/dist/commands/migrate-supabase-rewrite.d.ts +8 -3
- package/dist/commands/migrate-supabase-rewrite.d.ts.map +1 -1
- package/dist/commands/migrate-supabase-rewrite.js +155 -11
- package/dist/commands/migrate-supabase-rewrite.js.map +1 -1
- package/dist/commands/migrate-supabase-scaffold.d.ts +25 -0
- package/dist/commands/migrate-supabase-scaffold.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-scaffold.js +234 -0
- package/dist/commands/migrate-supabase-scaffold.js.map +1 -0
- package/dist/commands/migrate-supabase-schema.d.ts +4 -4
- package/dist/commands/migrate-supabase-schema.js +4 -4
- package/dist/commands/migrate-supabase-scripts.d.ts +1 -1
- package/dist/commands/migrate-supabase-sdk.d.ts +34 -0
- package/dist/commands/migrate-supabase-sdk.d.ts.map +1 -1
- package/dist/commands/migrate-supabase-sdk.js +169 -0
- package/dist/commands/migrate-supabase-sdk.js.map +1 -1
- package/dist/commands/migrate-supabase-status.d.ts +92 -0
- package/dist/commands/migrate-supabase-status.d.ts.map +1 -0
- package/dist/commands/migrate-supabase-status.js +470 -0
- package/dist/commands/migrate-supabase-status.js.map +1 -0
- package/dist/commands/migrate-supabase-walker.d.ts +15 -1
- package/dist/commands/migrate-supabase-walker.d.ts.map +1 -1
- package/dist/commands/migrate-supabase-walker.js +49 -5
- package/dist/commands/migrate-supabase-walker.js.map +1 -1
- package/dist/commands/migrate-supabase.d.ts +2 -2
- package/dist/commands/migrate-supabase.js +1 -1
- package/dist/commands/open.d.ts +1 -1
- package/dist/commands/open.js +2 -2
- package/dist/commands/preview-branch.d.ts +1 -1
- package/dist/commands/preview-branch.js +2 -2
- package/dist/commands/publish-api-error.d.ts +1 -1
- package/dist/commands/publish-api-error.js +1 -1
- package/dist/commands/publish-failure.d.ts +3 -3
- package/dist/commands/publish-failure.js +3 -3
- package/dist/commands/publish.d.ts +3 -3
- package/dist/commands/publish.js +13 -13
- package/dist/commands/push.d.ts +2 -2
- package/dist/commands/push.js +8 -8
- package/dist/commands/redeploy.d.ts +2 -2
- package/dist/commands/redeploy.js +4 -4
- package/dist/commands/rename.d.ts +1 -1
- package/dist/commands/rename.js +2 -2
- package/dist/commands/reproduce.d.ts +1 -1
- package/dist/commands/reproduce.js +1 -1
- package/dist/commands/reset-superuser.d.ts +1 -1
- package/dist/commands/reset-superuser.js +2 -2
- package/dist/commands/restore.d.ts +1 -1
- package/dist/commands/restore.js +2 -2
- package/dist/commands/resume.d.ts +1 -1
- package/dist/commands/resume.js +2 -2
- package/dist/commands/rollback.d.ts +1 -1
- package/dist/commands/rollback.js +2 -2
- package/dist/commands/sharing.d.ts +1 -1
- package/dist/commands/sharing.js +2 -2
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/transfers.d.ts +1 -1
- package/dist/commands/transfers.js +2 -2
- package/dist/commands/unsuspend.d.ts +1 -1
- package/dist/commands/versions.d.ts +1 -1
- package/dist/commands/versions.js +2 -2
- package/dist/commands/wait-deploy.d.ts +3 -3
- package/dist/commands/wait-deploy.js +3 -3
- package/dist/commands/whoami.d.ts +1 -1
- package/dist/detect.js +1 -1
- package/dist/index.d.ts +77 -75
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -74
- package/dist/index.js.map +1 -1
- package/dist/poll-deployment.d.ts +1 -1
- package/dist/recovery.d.ts +1 -1
- package/dist/structured-error-codes.d.ts +1 -1
- package/dist/templates/ai-files/index.js +2 -2
- package/package.json +6 -3
package/dist/commands/mcp.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import type { Context } from "../context";
|
|
2
|
+
import type { Context } from "../context.js";
|
|
3
3
|
export declare const mcpInputSchema: z.ZodObject<{}, z.core.$strip>;
|
|
4
4
|
export type McpInput = z.infer<typeof mcpInputSchema>;
|
|
5
5
|
export interface McpConfigResult {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase D — auth recipes.
|
|
3
|
+
*
|
|
4
|
+
* Centralised PocketBase-equivalent guidance for the Supabase auth patterns
|
|
5
|
+
* the rewriter deliberately does NOT auto-translate. The north star: a
|
|
6
|
+
* compiling-but-wrong getSession/OTP/password-reset is the worst outcome, so
|
|
7
|
+
* these stay flagged (the Supabase call is left in place) and the user gets a
|
|
8
|
+
* concrete recipe instead of a fake rewrite.
|
|
9
|
+
*
|
|
10
|
+
* Keyed by the flag pattern the SDK rewriter emits (`auth.<method>`). Used two
|
|
11
|
+
* ways: the rewriter folds the recipe into the flag's inline note, and the
|
|
12
|
+
* report renders a deduplicated "Recipes" section from the patterns present.
|
|
13
|
+
*/
|
|
14
|
+
export interface AuthRecipe {
|
|
15
|
+
/** Short title for the Recipes section heading. */
|
|
16
|
+
title: string;
|
|
17
|
+
/** Concrete PocketBase-equivalent guidance — one tight paragraph. */
|
|
18
|
+
recipe: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const AUTH_RECIPES: Record<string, AuthRecipe>;
|
|
21
|
+
/** Recipe for a flag pattern, or null when there isn't one. */
|
|
22
|
+
export declare function recipeFor(pattern: string): AuthRecipe | null;
|
|
23
|
+
/**
|
|
24
|
+
* Render the "Recipes" section for REWRITE_NOTES.md from the set of flag
|
|
25
|
+
* patterns present. Returns markdown lines (empty when no auth recipe applies).
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderRecipesSection(patterns: Iterable<string>): string[];
|
|
28
|
+
//# sourceMappingURL=migrate-supabase-recipes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-supabase-recipes.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-supabase-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA8CnD,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAE5D;AAWD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CA0BzE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase D — auth recipes.
|
|
3
|
+
*
|
|
4
|
+
* Centralised PocketBase-equivalent guidance for the Supabase auth patterns
|
|
5
|
+
* the rewriter deliberately does NOT auto-translate. The north star: a
|
|
6
|
+
* compiling-but-wrong getSession/OTP/password-reset is the worst outcome, so
|
|
7
|
+
* these stay flagged (the Supabase call is left in place) and the user gets a
|
|
8
|
+
* concrete recipe instead of a fake rewrite.
|
|
9
|
+
*
|
|
10
|
+
* Keyed by the flag pattern the SDK rewriter emits (`auth.<method>`). Used two
|
|
11
|
+
* ways: the rewriter folds the recipe into the flag's inline note, and the
|
|
12
|
+
* report renders a deduplicated "Recipes" section from the patterns present.
|
|
13
|
+
*/
|
|
14
|
+
export const AUTH_RECIPES = {
|
|
15
|
+
"auth.getSession": {
|
|
16
|
+
title: "getSession → pb.authStore",
|
|
17
|
+
recipe: "PocketBase keeps the session in `pb.authStore` (local, synchronous — no await). Replace `const { data: { session } } = await supabase.auth.getSession()` with `pb.authStore.isValid` (logged in?), `pb.authStore.record` (the user record), and `pb.authStore.token` (the JWT).",
|
|
18
|
+
},
|
|
19
|
+
"auth.getClaims": {
|
|
20
|
+
title: "getClaims → pb.authStore.record",
|
|
21
|
+
recipe: "PocketBase has no separate claims endpoint. The authenticated user's fields live on `pb.authStore.record`; use `pb.authStore.isValid` for the logged-in check. Read them directly — no await, no token decode.",
|
|
22
|
+
},
|
|
23
|
+
"auth.getUser": {
|
|
24
|
+
title: "getUser → pb.authStore.record",
|
|
25
|
+
recipe: "`pb.authStore.record` is the current user record (or null), read synchronously. Supabase's `getUser()` returns `Promise<{ data: { user } }>`, so drop the await and the `.data.user` unwrap.",
|
|
26
|
+
},
|
|
27
|
+
"auth.signInWithOtp": {
|
|
28
|
+
title: "signInWithOtp → requestOTP + authWithOTP",
|
|
29
|
+
recipe: "PocketBase email-OTP is two steps: `const req = await pb.collection('users').requestOTP(email)` sends the code, then on a second screen `await pb.collection('users').authWithOTP(req.otpId, code)` verifies it. Supabase's single magic-link `signInWithOtp` maps to the first step — you'll add a code-entry screen for the second.",
|
|
30
|
+
},
|
|
31
|
+
"auth.verifyOtp": {
|
|
32
|
+
title: "verifyOtp → authWithOTP",
|
|
33
|
+
recipe: "Pairs with requestOTP: `await pb.collection('users').authWithOTP(otpId, code)` (otpId comes from the requestOTP response, not from the email link). Supabase's `token_hash` / `type` model doesn't carry over — keep the otpId from step one in component state.",
|
|
34
|
+
},
|
|
35
|
+
"auth.resetPasswordForEmail": {
|
|
36
|
+
title: "resetPasswordForEmail → requestPasswordReset",
|
|
37
|
+
recipe: "`await pb.collection('users').requestPasswordReset(email)` sends the reset email. The confirm step lives on your reset page: `await pb.collection('users').confirmPasswordReset(token, newPassword, newPasswordConfirm)` (token comes from the email link).",
|
|
38
|
+
},
|
|
39
|
+
"auth.updateUser": {
|
|
40
|
+
title: "updateUser → collection('users').update",
|
|
41
|
+
recipe: "PocketBase updates by record id: `await pb.collection('users').update(pb.authStore.record.id, { ... })`. There's no implicit current-user update — pass the id explicitly. Email/password changes use the dedicated `requestEmailChange` / `confirmEmailChange` flows.",
|
|
42
|
+
},
|
|
43
|
+
"auth.refreshSession": {
|
|
44
|
+
title: "refreshSession → authRefresh",
|
|
45
|
+
recipe: "`await pb.collection('users').authRefresh()` re-validates the stored token and refreshes `pb.authStore`. There's no refresh-token rotation to manage — PocketBase reissues the JWT in place.",
|
|
46
|
+
},
|
|
47
|
+
"auth.onAuthStateChange": {
|
|
48
|
+
title: "onAuthStateChange → pb.authStore.onChange",
|
|
49
|
+
recipe: "`const unsubscribe = pb.authStore.onChange((token, record) => { ... })`. The callback receives `(token, record)`, NOT Supabase's `(event, session)` — there's no event-type string, so branch on `pb.authStore.isValid` inside the callback. It returns an unsubscribe function; call it on teardown.",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
/** Recipe for a flag pattern, or null when there isn't one. */
|
|
53
|
+
export function recipeFor(pattern) {
|
|
54
|
+
return AUTH_RECIPES[pattern] ?? null;
|
|
55
|
+
}
|
|
56
|
+
/** General auth guidance worth surfacing whenever any auth call was flagged. */
|
|
57
|
+
const GENERAL_AUTH_RECIPES = [
|
|
58
|
+
{
|
|
59
|
+
title: "Route guards → pb.authStore.isValid",
|
|
60
|
+
recipe: "Gate protected routes on `pb.authStore.isValid` instead of inspecting a session object, e.g. `if (!pb.authStore.isValid) redirect('/login')`. `pb.authStore` is restored from storage on load, so the check works on the first render.",
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
/**
|
|
64
|
+
* Render the "Recipes" section for REWRITE_NOTES.md from the set of flag
|
|
65
|
+
* patterns present. Returns markdown lines (empty when no auth recipe applies).
|
|
66
|
+
*/
|
|
67
|
+
export function renderRecipesSection(patterns) {
|
|
68
|
+
const seen = new Set();
|
|
69
|
+
const recipes = [];
|
|
70
|
+
for (const pattern of patterns) {
|
|
71
|
+
const recipe = recipeFor(pattern);
|
|
72
|
+
if (recipe && !seen.has(recipe.title)) {
|
|
73
|
+
seen.add(recipe.title);
|
|
74
|
+
recipes.push(recipe);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (recipes.length === 0)
|
|
78
|
+
return [];
|
|
79
|
+
const lines = [];
|
|
80
|
+
lines.push("## Recipes — Supabase auth → PocketBase");
|
|
81
|
+
lines.push("");
|
|
82
|
+
lines.push("Concrete PocketBase equivalents for the auth calls above. These are NOT auto-applied — the Supabase call is left in place so the app keeps working until you migrate it deliberately. See https://pocketbase.io/docs/authentication/.");
|
|
83
|
+
lines.push("");
|
|
84
|
+
for (const recipe of [...recipes, ...GENERAL_AUTH_RECIPES]) {
|
|
85
|
+
lines.push(`### ${recipe.title}`);
|
|
86
|
+
lines.push("");
|
|
87
|
+
lines.push(recipe.recipe);
|
|
88
|
+
lines.push("");
|
|
89
|
+
}
|
|
90
|
+
return lines;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=migrate-supabase-recipes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-supabase-recipes.js","sourceRoot":"","sources":["../../src/commands/migrate-supabase-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,MAAM,CAAC,MAAM,YAAY,GAA+B;IACtD,iBAAiB,EAAE;QACjB,KAAK,EAAE,2BAA2B;QAClC,MAAM,EACJ,iRAAiR;KACpR;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,iCAAiC;QACxC,MAAM,EACJ,gNAAgN;KACnN;IACD,cAAc,EAAE;QACd,KAAK,EAAE,+BAA+B;QACtC,MAAM,EACJ,8LAA8L;KACjM;IACD,oBAAoB,EAAE;QACpB,KAAK,EAAE,0CAA0C;QACjD,MAAM,EACJ,uUAAuU;KAC1U;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,yBAAyB;QAChC,MAAM,EACJ,kQAAkQ;KACrQ;IACD,4BAA4B,EAAE;QAC5B,KAAK,EAAE,8CAA8C;QACrD,MAAM,EACJ,6PAA6P;KAChQ;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,yCAAyC;QAChD,MAAM,EACJ,wQAAwQ;KAC3Q;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,8BAA8B;QACrC,MAAM,EACJ,8LAA8L;KACjM;IACD,wBAAwB,EAAE;QACxB,KAAK,EAAE,2CAA2C;QAClD,MAAM,EACJ,uSAAuS;KAC1S;CACF,CAAC;AAEF,+DAA+D;AAC/D,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,gFAAgF;AAChF,MAAM,oBAAoB,GAAiB;IACzC;QACE,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EACJ,wOAAwO;KAC3O;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA0B;IAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,uOAAuO,CACxO,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,oBAAoB,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import type { Context } from "../context";
|
|
3
|
-
import { type AskUserRecovery, type NoneRecovery } from "../recovery";
|
|
4
|
-
import { type SkippedFile } from "./migrate-supabase-walker";
|
|
2
|
+
import type { Context } from "../context.js";
|
|
3
|
+
import { type AskUserRecovery, type NoneRecovery } from "../recovery.js";
|
|
4
|
+
import { type SkippedFile } from "./migrate-supabase-walker.js";
|
|
5
5
|
/**
|
|
6
6
|
* FUTURE9 Phase D chunk 3.3 — user-facing client-rewrite wiring.
|
|
7
7
|
*
|
|
@@ -38,6 +38,7 @@ export declare const rewriteSupabaseClientInputSchema: z.ZodObject<{
|
|
|
38
38
|
apply: z.ZodOptional<z.ZodBoolean>;
|
|
39
39
|
pbIdentifier: z.ZodOptional<z.ZodString>;
|
|
40
40
|
supabaseIdentifiers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
41
|
+
scaffoldClient: z.ZodOptional<z.ZodBoolean>;
|
|
41
42
|
}, z.core.$strip>;
|
|
42
43
|
export type RewriteSupabaseClientInput = z.infer<typeof rewriteSupabaseClientInputSchema>;
|
|
43
44
|
/**
|
|
@@ -81,6 +82,10 @@ export interface RewriteSupabaseClientResult {
|
|
|
81
82
|
packageJsonChanged: boolean;
|
|
82
83
|
/** How many .env* files had Supabase keys commented out + stubbed. */
|
|
83
84
|
envFilesChanged: number;
|
|
85
|
+
/** The PocketBase client module that was scaffolded (relative to ctx.cwd), or null
|
|
86
|
+
* when scaffolding was off, skipped (a pb client already exists), or there were
|
|
87
|
+
* no rewrites. */
|
|
88
|
+
clientModule: string | null;
|
|
84
89
|
/** Files the walker couldn't process (parse error, binary, read error). */
|
|
85
90
|
skipped: SkippedFile[];
|
|
86
91
|
recovery: NoneRecovery | AskUserRecovery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-supabase-rewrite.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-supabase-rewrite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAA6B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate-supabase-rewrite.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-supabase-rewrite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAA6B,MAAM,aAAa,CAAC;AAIjG,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,eAAO,MAAM,gCAAgC;;;;;;;iBAiC3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8FAA8F;IAC9F,IAAI,EAAE,eAAe,GAAG,aAAa,CAAC;IACtC,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC;IACxB,oEAAoE;IACpE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,yGAAyG;IACzG,SAAS,EAAE,MAAM,CAAC;IAClB,6GAA6G;IAC7G,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0GAA0G;IAC1G,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,kKAAkK;IAClK,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,kHAAkH;IAClH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,qEAAqE;IACrE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sEAAsE;IACtE,eAAe,EAAE,MAAM,CAAC;IACxB;;uBAEmB;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2EAA2E;IAC3E,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,YAAY,GAAG,eAAe,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,gBAAgB,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAgNtC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
-
import { dirname, join, relative, resolve } from "node:path";
|
|
2
|
+
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
import { recoveryAsk, recoveryNone } from "../recovery";
|
|
5
|
-
import {
|
|
4
|
+
import { recoveryAsk, recoveryNone } from "../recovery.js";
|
|
5
|
+
import { renderRecipesSection } from "./migrate-supabase-recipes.js";
|
|
6
|
+
import { scaffoldPocketBaseClient } from "./migrate-supabase-scaffold.js";
|
|
7
|
+
import { analyzeMigration, renderMigrationChecklist } from "./migrate-supabase-status.js";
|
|
8
|
+
import { walkSupabaseProject, writeWalkResult, } from "./migrate-supabase-walker.js";
|
|
6
9
|
/**
|
|
7
10
|
* FUTURE9 Phase D chunk 3.3 — user-facing client-rewrite wiring.
|
|
8
11
|
*
|
|
@@ -54,6 +57,10 @@ export const rewriteSupabaseClientInputSchema = z.object({
|
|
|
54
57
|
.array(z.string())
|
|
55
58
|
.optional()
|
|
56
59
|
.describe("Extra Supabase client variable names to recognise (beyond `supabase`)."),
|
|
60
|
+
scaffoldClient: z
|
|
61
|
+
.boolean()
|
|
62
|
+
.optional()
|
|
63
|
+
.describe("Generate a PocketBase client module (src/lib/pocketbase.<ext>) and insert `import { pb }` into rewritten files. Default true when there are rewrites; pass false to opt out. Skips silently if a pb client already exists."),
|
|
57
64
|
});
|
|
58
65
|
export async function rewriteSupabaseClient(ctx, input) {
|
|
59
66
|
const rootAbs = input.rootDir ? resolve(ctx.cwd, input.rootDir) : resolve(ctx.cwd);
|
|
@@ -90,13 +97,40 @@ export async function rewriteSupabaseClient(ctx, input) {
|
|
|
90
97
|
flagsByPattern: {},
|
|
91
98
|
packageJsonChanged: false,
|
|
92
99
|
envFilesChanged: 0,
|
|
100
|
+
clientModule: null,
|
|
93
101
|
skipped: [],
|
|
94
102
|
recovery: recoveryNone(),
|
|
95
103
|
summary: "No Supabase SDK calls found to rewrite. If you intend to keep Supabase as your backend, " +
|
|
96
104
|
'set `[data] mode = "supabase"` in percher.toml instead.',
|
|
97
105
|
};
|
|
98
106
|
}
|
|
99
|
-
|
|
107
|
+
// Any rewrite means the call sites now reference a `pb` client this
|
|
108
|
+
// tool does NOT create — so a report is always due when we rewrote
|
|
109
|
+
// something, to carry the "wire your PocketBase client" step, even
|
|
110
|
+
// with zero manual-review flags.
|
|
111
|
+
const hadRewrites = changed.length > 0;
|
|
112
|
+
// Phase C — scaffold a PocketBase client + insert imports so the rewritten
|
|
113
|
+
// files don't reference an undefined `pb`. Default on; skip when there were
|
|
114
|
+
// no rewrites (nothing references pb) or `scaffoldClient: false`. Insertions
|
|
115
|
+
// mutate walk.files in place BEFORE the report embed, so the embedded
|
|
116
|
+
// checklist reflects pb-now-wired. Backup still uses `source` (untouched).
|
|
117
|
+
const scaffoldEnabled = input.scaffoldClient !== false && hadRewrites;
|
|
118
|
+
const scaffold = scaffoldEnabled
|
|
119
|
+
? scaffoldPocketBaseClient({
|
|
120
|
+
files: walk.files,
|
|
121
|
+
changedRelPaths: changed.map((f) => f.relativePath),
|
|
122
|
+
pbIdentifier: input.pbIdentifier,
|
|
123
|
+
})
|
|
124
|
+
: null;
|
|
125
|
+
if (scaffold) {
|
|
126
|
+
for (const [rel, content] of scaffold.importInsertions) {
|
|
127
|
+
const file = walk.files.find((f) => f.relativePath === rel);
|
|
128
|
+
if (file)
|
|
129
|
+
file.rewritten = content;
|
|
130
|
+
}
|
|
131
|
+
flags.push(...scaffold.flags);
|
|
132
|
+
}
|
|
133
|
+
const reportNeeded = hadRewrites || flags.length > 0 || walk.skipped.length > 0;
|
|
100
134
|
const backupDir = apply && changed.length > 0 ? join(rootAbs, "migration-preview", "backup") : null;
|
|
101
135
|
const rewriteTarget = apply
|
|
102
136
|
? rootAbs
|
|
@@ -104,6 +138,7 @@ export async function rewriteSupabaseClient(ctx, input) {
|
|
|
104
138
|
? resolve(ctx.cwd, input.outputDir)
|
|
105
139
|
: join(rootAbs, "migration-preview", "rewritten");
|
|
106
140
|
const filesWritten = [];
|
|
141
|
+
let clientModuleWritten = null;
|
|
107
142
|
try {
|
|
108
143
|
if (changed.length > 0) {
|
|
109
144
|
// Apply mode: copy originals to the backup tree BEFORE overwriting,
|
|
@@ -129,6 +164,15 @@ export async function rewriteSupabaseClient(ctx, input) {
|
|
|
129
164
|
for (const rel of out.written) {
|
|
130
165
|
filesWritten.push(relative(ctx.cwd, join(rewriteTarget, rel)));
|
|
131
166
|
}
|
|
167
|
+
// Write the scaffolded client module (a NEW file — not backed up).
|
|
168
|
+
if (scaffold?.clientModule) {
|
|
169
|
+
const moduleAbs = join(rewriteTarget, scaffold.clientModule.relativePath);
|
|
170
|
+
await mkdir(dirname(moduleAbs), { recursive: true });
|
|
171
|
+
await writeFile(moduleAbs, scaffold.clientModule.content, "utf8");
|
|
172
|
+
// Forward-slash-normalised — a stable cross-platform value for callers.
|
|
173
|
+
clientModuleWritten = relative(ctx.cwd, moduleAbs).split(sep).join("/");
|
|
174
|
+
filesWritten.push(clientModuleWritten);
|
|
175
|
+
}
|
|
132
176
|
}
|
|
133
177
|
// Durable report for everything the rewriter wouldn't touch. This
|
|
134
178
|
// is the artifact a flag-only project gets instead of rewritten
|
|
@@ -136,7 +180,23 @@ export async function rewriteSupabaseClient(ctx, input) {
|
|
|
136
180
|
if (reportNeeded) {
|
|
137
181
|
const reportAbs = join(rootAbs, "migration-preview", "REWRITE_NOTES.md");
|
|
138
182
|
await mkdir(dirname(reportAbs), { recursive: true });
|
|
139
|
-
|
|
183
|
+
// Embed the same checklist the status doctor renders, computed from
|
|
184
|
+
// the POST-rewrite files, so the artifact and `--status` agree.
|
|
185
|
+
const analysis = analyzeMigration(walk.files.map((f) => ({
|
|
186
|
+
relativePath: f.relativePath,
|
|
187
|
+
kind: f.kind,
|
|
188
|
+
source: f.rewritten,
|
|
189
|
+
})), { supabaseIdentifiers: input.supabaseIdentifiers, pbIdentifier: input.pbIdentifier });
|
|
190
|
+
await writeFile(reportAbs, renderReport({
|
|
191
|
+
flags,
|
|
192
|
+
skipped: walk.skipped,
|
|
193
|
+
hadRewrites,
|
|
194
|
+
migrationComplete: walk.summary.migrationComplete,
|
|
195
|
+
supabaseUsageRemaining: walk.summary.supabaseUsageRemaining,
|
|
196
|
+
checklist: renderMigrationChecklist(analysis.checks),
|
|
197
|
+
scaffoldedClient: scaffold?.clientModule?.relativePath ?? null,
|
|
198
|
+
scaffoldSkippedExisting: scaffold?.skippedReason === "pb_client_exists",
|
|
199
|
+
}), "utf8");
|
|
140
200
|
filesWritten.push(relative(ctx.cwd, reportAbs));
|
|
141
201
|
}
|
|
142
202
|
}
|
|
@@ -150,7 +210,10 @@ export async function rewriteSupabaseClient(ctx, input) {
|
|
|
150
210
|
flagsByPattern[flag.pattern] = (flagsByPattern[flag.pattern] ?? 0) + 1;
|
|
151
211
|
}
|
|
152
212
|
const recovery = reportNeeded
|
|
153
|
-
? recoveryAsk({
|
|
213
|
+
? recoveryAsk({
|
|
214
|
+
prompt: buildPrompt(flags, walk.skipped.length, hadRewrites, clientModuleWritten),
|
|
215
|
+
reasonCode: "unknown",
|
|
216
|
+
})
|
|
154
217
|
: recoveryNone();
|
|
155
218
|
return {
|
|
156
219
|
status: "ok",
|
|
@@ -164,11 +227,26 @@ export async function rewriteSupabaseClient(ctx, input) {
|
|
|
164
227
|
flagsByPattern,
|
|
165
228
|
packageJsonChanged: walk.summary.packageJsonChanged,
|
|
166
229
|
envFilesChanged: walk.summary.envFilesChanged,
|
|
230
|
+
clientModule: clientModuleWritten,
|
|
167
231
|
skipped: walk.skipped,
|
|
168
232
|
recovery,
|
|
169
|
-
summary: renderSummary({
|
|
233
|
+
summary: renderSummary({
|
|
234
|
+
mode,
|
|
235
|
+
changed: changed.length,
|
|
236
|
+
walk,
|
|
237
|
+
flagCount: flags.length,
|
|
238
|
+
clientModule: clientModuleWritten,
|
|
239
|
+
}),
|
|
170
240
|
};
|
|
171
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Whether the project is fully migrated (dep/env safe to drop) or still
|
|
244
|
+
* hybrid. Mirrors the walker's `migrationComplete` so callers don't reach
|
|
245
|
+
* into `summary`.
|
|
246
|
+
*/
|
|
247
|
+
function isHybrid(walk) {
|
|
248
|
+
return !walk.summary.migrationComplete && walk.summary.supabaseUsageRemaining > 0;
|
|
249
|
+
}
|
|
172
250
|
/** Collect the manual-review / unsupported flags across the project, with file + line. */
|
|
173
251
|
function collectManualFlags(walk) {
|
|
174
252
|
const out = [];
|
|
@@ -188,10 +266,16 @@ function collectManualFlags(walk) {
|
|
|
188
266
|
}
|
|
189
267
|
return out;
|
|
190
268
|
}
|
|
191
|
-
function buildPrompt(flags, skippedCount) {
|
|
269
|
+
function buildPrompt(flags, skippedCount, hadRewrites, clientModule) {
|
|
192
270
|
const rewritten = flags.filter((f) => f.kind === "manual_review").length;
|
|
193
271
|
const untouched = flags.filter((f) => f.kind === "unsupported").length;
|
|
194
272
|
const bits = [];
|
|
273
|
+
if (clientModule) {
|
|
274
|
+
bits.push(`review the scaffolded PocketBase client at \`${clientModule}\``);
|
|
275
|
+
}
|
|
276
|
+
else if (hadRewrites) {
|
|
277
|
+
bits.push("create the `pb` PocketBase client the rewritten code now uses (it isn't created for you)");
|
|
278
|
+
}
|
|
195
279
|
if (rewritten > 0) {
|
|
196
280
|
bits.push(`${rewritten} rewritten to PocketBase but with semantics that differ from Supabase`);
|
|
197
281
|
}
|
|
@@ -201,7 +285,7 @@ function buildPrompt(flags, skippedCount) {
|
|
|
201
285
|
if (skippedCount > 0) {
|
|
202
286
|
bits.push(`${skippedCount} file${skippedCount === 1 ? "" : "s"} couldn't be parsed`);
|
|
203
287
|
}
|
|
204
|
-
return `
|
|
288
|
+
return `Before deploying, work through migration-preview/REWRITE_NOTES.md: ${bits.join("; ")}.`;
|
|
205
289
|
}
|
|
206
290
|
function renderSummary(args) {
|
|
207
291
|
const parts = [];
|
|
@@ -214,12 +298,21 @@ function renderSummary(args) {
|
|
|
214
298
|
else {
|
|
215
299
|
parts.push("No files needed automatic rewriting.");
|
|
216
300
|
}
|
|
301
|
+
if (args.clientModule) {
|
|
302
|
+
parts.push(`Scaffolded a PocketBase client at \`${args.clientModule}\` and imported it.`);
|
|
303
|
+
}
|
|
217
304
|
if (args.walk.summary.packageJsonChanged) {
|
|
218
305
|
parts.push("`package.json` swapped `@supabase/supabase-js` → `pocketbase`.");
|
|
219
306
|
}
|
|
220
307
|
if (args.walk.summary.envFilesChanged > 0) {
|
|
221
308
|
parts.push(`${args.walk.summary.envFilesChanged} .env file${args.walk.summary.envFilesChanged === 1 ? "" : "s"} stubbed with PocketBase keys.`);
|
|
222
309
|
}
|
|
310
|
+
if (isHybrid(args.walk)) {
|
|
311
|
+
// Hybrid: some Supabase calls were left untouched on purpose, so the
|
|
312
|
+
// dep + env are kept (dropping them would break the app). Say so —
|
|
313
|
+
// silently keeping them reads like the rewrite missed a step.
|
|
314
|
+
parts.push(`Hybrid migration — ${args.walk.summary.supabaseUsageRemaining} Supabase reference${args.walk.summary.supabaseUsageRemaining === 1 ? "" : "s"} still need${args.walk.summary.supabaseUsageRemaining === 1 ? "s" : ""} \`@supabase/supabase-js\`, so the dependency + Supabase env were kept. Drop them once the rest is migrated.`);
|
|
315
|
+
}
|
|
223
316
|
if (args.flagCount > 0) {
|
|
224
317
|
parts.push(`${args.flagCount} pattern${args.flagCount === 1 ? "" : "s"} need manual review — see \`migration-preview/REWRITE_NOTES.md\`.`);
|
|
225
318
|
}
|
|
@@ -228,13 +321,59 @@ function renderSummary(args) {
|
|
|
228
321
|
}
|
|
229
322
|
return parts.join(" ");
|
|
230
323
|
}
|
|
231
|
-
/** The migration-preview/REWRITE_NOTES.md report: every flagged location + unparseable file. */
|
|
324
|
+
/** The migration-preview/REWRITE_NOTES.md report: pb-client setup + every flagged location + unparseable file. */
|
|
232
325
|
function renderReport(args) {
|
|
233
326
|
const lines = [];
|
|
234
327
|
lines.push("# Supabase → PocketBase — review notes");
|
|
235
328
|
lines.push("");
|
|
236
|
-
lines.push("The automated rewrite
|
|
329
|
+
lines.push("The automated rewrite converted the high-confidence auth and CRUD call sites. It does NOT create your PocketBase client, and the items below still need a human. There are no inline markers — work from this list.");
|
|
237
330
|
lines.push("");
|
|
331
|
+
if (args.checklist) {
|
|
332
|
+
lines.push("## Status checklist");
|
|
333
|
+
lines.push("");
|
|
334
|
+
lines.push("Same scoreboard as `percher migrate-from-supabase --status`:");
|
|
335
|
+
lines.push("");
|
|
336
|
+
lines.push("```");
|
|
337
|
+
lines.push(args.checklist);
|
|
338
|
+
lines.push("```");
|
|
339
|
+
lines.push("");
|
|
340
|
+
}
|
|
341
|
+
if (!args.migrationComplete && args.supabaseUsageRemaining > 0) {
|
|
342
|
+
lines.push("## Hybrid state — Supabase kept on purpose");
|
|
343
|
+
lines.push("");
|
|
344
|
+
lines.push(`${args.supabaseUsageRemaining} Supabase reference${args.supabaseUsageRemaining === 1 ? "" : "s"} (storage / realtime / rpc / edge functions / un-mapped auth, or files still importing \`@supabase/*\`) ${args.supabaseUsageRemaining === 1 ? "was" : "were"} left in place because ${args.supabaseUsageRemaining === 1 ? "it has" : "they have"} no clean PocketBase equivalent. While they remain, your app needs **both** SDKs:`);
|
|
345
|
+
lines.push("");
|
|
346
|
+
lines.push("- `package.json` still depends on `@supabase/supabase-js` (and `pocketbase` once you add it) — **this is correct**, don't remove the Supabase dep yet.");
|
|
347
|
+
lines.push("- your Supabase env vars (`SUPABASE_*` / `VITE_SUPABASE_*` / …) were **kept** — they're still needed by the calls below.");
|
|
348
|
+
lines.push("");
|
|
349
|
+
lines.push("Once you've migrated every item in this report, drop `@supabase/supabase-js` and the Supabase env keys. Run `percher migrate-from-supabase --status` to check what's left.");
|
|
350
|
+
lines.push("");
|
|
351
|
+
}
|
|
352
|
+
if (args.scaffoldedClient) {
|
|
353
|
+
lines.push("## PocketBase client (scaffolded for you)");
|
|
354
|
+
lines.push("");
|
|
355
|
+
lines.push(`A PocketBase client was generated at \`${args.scaffoldedClient}\` and \`import { pb } from "…"\` was inserted into the rewritten files. Review the URL accessor — it's a working default, adjust it to match your framework if needed.`);
|
|
356
|
+
lines.push("");
|
|
357
|
+
}
|
|
358
|
+
else if (args.hadRewrites) {
|
|
359
|
+
lines.push("## Wire the PocketBase client (required first)");
|
|
360
|
+
lines.push("");
|
|
361
|
+
lines.push(args.scaffoldSkippedExisting
|
|
362
|
+
? "The rewritten call sites use a `pb` client. Your project already exports one, so no module was generated — make sure each rewritten file imports `pb` from it."
|
|
363
|
+
: "The rewritten call sites now use a `pb` client this tool did not create — until you add it, they reference an undefined `pb` and the app won't run.");
|
|
364
|
+
lines.push("");
|
|
365
|
+
lines.push("1. Replace your Supabase client setup with a PocketBase one, exported under the same name the rewrites use (`pb`):");
|
|
366
|
+
lines.push("");
|
|
367
|
+
lines.push("```js");
|
|
368
|
+
lines.push('import PocketBase from "pocketbase";');
|
|
369
|
+
lines.push("// Percher injects POCKETBASE_URL / VITE_POCKETBASE_URL at deploy time.");
|
|
370
|
+
lines.push("export const pb = new PocketBase(import.meta.env.VITE_POCKETBASE_URL ?? process.env.POCKETBASE_URL);");
|
|
371
|
+
lines.push("```");
|
|
372
|
+
lines.push("");
|
|
373
|
+
lines.push("2. Import `pb` in the rewritten files from wherever you export it.");
|
|
374
|
+
lines.push("3. Remove the leftover `@supabase/*` imports (the `createClient(...)` setup, `@supabase/ssr` helpers, etc.) once nothing else needs them.");
|
|
375
|
+
lines.push("");
|
|
376
|
+
}
|
|
238
377
|
const rewritten = args.flags.filter((f) => f.kind === "manual_review");
|
|
239
378
|
const untouched = args.flags.filter((f) => f.kind === "unsupported");
|
|
240
379
|
if (rewritten.length > 0) {
|
|
@@ -251,6 +390,10 @@ function renderReport(args) {
|
|
|
251
390
|
lines.push("");
|
|
252
391
|
appendFlagsByFile(lines, untouched);
|
|
253
392
|
}
|
|
393
|
+
// Concrete PB recipes for the divergent auth patterns present.
|
|
394
|
+
const recipeLines = renderRecipesSection(args.flags.map((f) => f.pattern));
|
|
395
|
+
for (const line of recipeLines)
|
|
396
|
+
lines.push(line);
|
|
254
397
|
if (args.skipped.length > 0) {
|
|
255
398
|
lines.push("## Files that couldn't be parsed");
|
|
256
399
|
lines.push("");
|
|
@@ -297,6 +440,7 @@ function failure(rootAbs, mode, err, suggestion) {
|
|
|
297
440
|
flagsByPattern: {},
|
|
298
441
|
packageJsonChanged: false,
|
|
299
442
|
envFilesChanged: 0,
|
|
443
|
+
clientModule: null,
|
|
300
444
|
skipped: [],
|
|
301
445
|
recovery: recoveryAsk({
|
|
302
446
|
prompt: `${suggestion} (${message})`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-supabase-rewrite.js","sourceRoot":"","sources":["../../src/commands/migrate-supabase-rewrite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate-supabase-rewrite.js","sourceRoot":"","sources":["../../src/commands/migrate-supabase-rewrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RewriteClientFlag } from "./migrate-supabase-rewrite.js";
|
|
2
|
+
import type { WalkedFile } from "./migrate-supabase-walker.js";
|
|
3
|
+
export interface ScaffoldClientInput {
|
|
4
|
+
/** The walk's files — used to detect an existing pb client + path collisions. */
|
|
5
|
+
files: WalkedFile[];
|
|
6
|
+
/** Project root relative paths (forward-slash) of files the rewriter changed. */
|
|
7
|
+
changedRelPaths: string[];
|
|
8
|
+
/** PocketBase identifier the rewrites emit. Defaults to `pb`. */
|
|
9
|
+
pbIdentifier?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ScaffoldClientResult {
|
|
12
|
+
/** The new client module to write, or null when one already exists / couldn't be placed. */
|
|
13
|
+
clientModule: {
|
|
14
|
+
relativePath: string;
|
|
15
|
+
content: string;
|
|
16
|
+
} | null;
|
|
17
|
+
/** relPath → rewritten content with the `pb` import inserted. */
|
|
18
|
+
importInsertions: Map<string, string>;
|
|
19
|
+
/** manual_review flags (e.g. "delete the old Supabase client module"). */
|
|
20
|
+
flags: RewriteClientFlag[];
|
|
21
|
+
/** Why no module was generated, when applicable. */
|
|
22
|
+
skippedReason?: "pb_client_exists" | "target_path_taken";
|
|
23
|
+
}
|
|
24
|
+
export declare function scaffoldPocketBaseClient(input: ScaffoldClientInput): ScaffoldClientResult;
|
|
25
|
+
//# sourceMappingURL=migrate-supabase-scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-supabase-scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-supabase-scaffold.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA4B5D,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,iFAAiF;IACjF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,YAAY,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,iEAAiE;IACjE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,0EAA0E;IAC1E,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,oDAAoD;IACpD,aAAa,CAAC,EAAE,kBAAkB,GAAG,mBAAmB,CAAC;CAC1D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CA8DzF"}
|