@wix/astro 0.2.13 → 0.2.15
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/components/TailwindEditor/EditorPanel.d.ts +11 -0
- package/dist/components/TailwindEditor/EditorPanel.js +86 -0
- package/dist/components/TailwindEditor/dev-toolbar-app.d.ts +14 -0
- package/dist/components/TailwindEditor/dev-toolbar-app.js +39 -0
- package/dist/components/TailwindEditor/dev-toolbar.d.ts +13 -0
- package/dist/components/TailwindEditor/dev-toolbar.js +547 -0
- package/dist/components/TailwindEditor/index.d.ts +5 -0
- package/dist/components/TailwindEditor/index.js +155 -0
- package/dist/components/TailwindEditor/integration.d.ts +3 -0
- package/dist/components/TailwindEditor/integration.js +18 -0
- package/dist/components/TailwindEditor/types.d.ts +35 -0
- package/dist/components/TailwindEditor/types.js +2 -0
- package/dist/components/TailwindEditor/utils.d.ts +22 -0
- package/dist/components/TailwindEditor/utils.js +234 -0
- package/dist/components/login-helpers/bi-header-generator.d.ts +11 -0
- package/dist/components/login-helpers/bi-header-generator.js +18 -0
- package/dist/components/login-helpers/iframeUtils.d.ts +4 -0
- package/dist/components/login-helpers/iframeUtils.js +44 -0
- package/dist/components/login-helpers/login-helpers.d.ts +39 -0
- package/dist/components/login-helpers/login-helpers.js +117 -0
- package/dist/dev-toolbar/Editor/EditorPanel.d.ts +14 -0
- package/dist/dev-toolbar/Editor/EditorPanel.js +1273 -0
- package/dist/dev-toolbar/Editor/classes.d.ts +12 -0
- package/dist/dev-toolbar/Editor/classes.js +271 -0
- package/dist/dev-toolbar/Editor/dnd.d.ts +34 -0
- package/dist/dev-toolbar/Editor/dnd.js +1161 -0
- package/dist/dev-toolbar/Editor/index.d.ts +5 -0
- package/dist/dev-toolbar/Editor/index.js +136 -0
- package/dist/dev-toolbar/Editor/types.d.ts +42 -0
- package/dist/dev-toolbar/Editor/types.js +2 -0
- package/dist/dev-toolbar/agent-chat.d.ts +14 -0
- package/dist/dev-toolbar/agent-chat.js +362 -0
- package/dist/dev-toolbar/ai-agent-server.d.ts +1 -0
- package/dist/dev-toolbar/ai-agent-server.js +174 -0
- package/dist/dev-toolbar/ai-agent.d.ts +2 -0
- package/dist/dev-toolbar/ai-agent.js +171 -0
- package/dist/dev-toolbar/api-key-form.d.ts +7 -0
- package/dist/dev-toolbar/api-key-form.js +138 -0
- package/dist/dev-toolbar/astro-toolbar.d.ts +1156 -0
- package/dist/dev-toolbar/astro-toolbar.js +29 -0
- package/dist/dev-toolbar/editor.d.ts +2 -0
- package/dist/dev-toolbar/editor.js +19 -0
- package/dist/integration.d.ts +3 -1
- package/dist/integration.js +41 -10
- package/dist/routes/auth/callback.js +1 -1
- package/dist/src/auth-context.d.ts +5 -0
- package/dist/src/auth-context.js +3 -0
- package/dist/src/client.d.ts +15 -0
- package/dist/src/client.js +17 -0
- package/dist/src/entrypoints/server.d.ts +13 -0
- package/dist/src/entrypoints/server.js +37 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +5 -0
- package/dist/src/integration.d.ts +8 -0
- package/dist/src/integration.js +229 -0
- package/dist/src/loaders/blog.d.ts +2 -0
- package/dist/src/loaders/blog.js +49 -0
- package/dist/src/loaders/index.d.ts +2 -0
- package/dist/src/loaders/index.js +3 -0
- package/dist/src/middleware.d.ts +2 -0
- package/dist/src/middleware.js +90 -0
- package/dist/src/routes/auth/callback.d.ts +3 -0
- package/dist/src/routes/auth/callback.js +53 -0
- package/dist/src/routes/auth/constants.d.ts +5 -0
- package/dist/src/routes/auth/constants.js +6 -0
- package/dist/src/routes/auth/login.d.ts +3 -0
- package/dist/src/routes/auth/login.js +27 -0
- package/dist/src/routes/auth/logout-callback.d.ts +3 -0
- package/dist/src/routes/auth/logout-callback.js +10 -0
- package/dist/src/routes/auth/logout.d.ts +3 -0
- package/dist/src/routes/auth/logout.js +11 -0
- package/dist/src/routes/auth/runtime.d.ts +5 -0
- package/dist/src/routes/auth/runtime.js +8 -0
- package/dist/src/runtime.d.ts +2 -0
- package/dist/src/runtime.js +9 -0
- package/dist/src/vite-plugins/sdk-context.d.ts +4 -0
- package/dist/src/vite-plugins/sdk-context.js +68 -0
- package/dist/vite-plugins/sdk-context.d.ts +3 -1
- package/dist/vite-plugins/sdk-context.js +51 -70
- package/package.json +6 -3
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { categories, posts, tags } from "@wix/blog";
|
|
2
|
+
import { media } from "@wix/sdk";
|
|
3
|
+
import { getWixClient } from "../client.js";
|
|
4
|
+
var PostFieldField;
|
|
5
|
+
(function (PostFieldField) {
|
|
6
|
+
PostFieldField["RICH_CONTENT"] = "RICH_CONTENT";
|
|
7
|
+
PostFieldField["CONTENT_TEXT"] = "CONTENT_TEXT";
|
|
8
|
+
})(PostFieldField || (PostFieldField = {}));
|
|
9
|
+
export function wixBlogLoader(transform = (item) => item) {
|
|
10
|
+
return {
|
|
11
|
+
name: "wix-blog-loader",
|
|
12
|
+
load: async (context) => {
|
|
13
|
+
const { items } = await getWixClient()
|
|
14
|
+
.use(posts)
|
|
15
|
+
.queryPosts({
|
|
16
|
+
fieldsets: [PostFieldField.RICH_CONTENT, PostFieldField.CONTENT_TEXT],
|
|
17
|
+
})
|
|
18
|
+
.find();
|
|
19
|
+
const useCategories = getWixClient().use(categories);
|
|
20
|
+
const useTags = getWixClient().use(tags);
|
|
21
|
+
for (const item of items) {
|
|
22
|
+
const categories = await Promise.all((item.categoryIds || []).map(async (categoryId) => {
|
|
23
|
+
const { category } = await useCategories.getCategory(categoryId);
|
|
24
|
+
return category;
|
|
25
|
+
}));
|
|
26
|
+
const { items: tags } = await useTags.queryTags().find();
|
|
27
|
+
const data = transform({
|
|
28
|
+
...item,
|
|
29
|
+
// Additions
|
|
30
|
+
...(item.media?.wixMedia?.image && {
|
|
31
|
+
mediaUrl: media.getImageUrl(item.media?.wixMedia?.image).url,
|
|
32
|
+
}),
|
|
33
|
+
categories,
|
|
34
|
+
tags,
|
|
35
|
+
});
|
|
36
|
+
const digest = context.generateDigest(data);
|
|
37
|
+
context.store.set({
|
|
38
|
+
id: data.id,
|
|
39
|
+
data,
|
|
40
|
+
digest,
|
|
41
|
+
rendered: {
|
|
42
|
+
html: item.contentText || "",
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2FkZXJzL2Jsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU1QyxJQUFLLGNBR0o7QUFIRCxXQUFLLGNBQWM7SUFDakIsK0NBQTZCLENBQUE7SUFDN0IsK0NBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhJLGNBQWMsS0FBZCxjQUFjLFFBR2xCO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJO0lBQzNELE9BQU87UUFDTCxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBc0IsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLFlBQVksRUFBRTtpQkFDbkMsR0FBRyxDQUFDLEtBQUssQ0FBQztpQkFDVixVQUFVLENBQUM7Z0JBQ1YsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsWUFBWSxDQUFDO2FBQ3RFLENBQUM7aUJBQ0QsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLGFBQWEsR0FBRyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckQsTUFBTSxPQUFPLEdBQUcsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDbEMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUU7b0JBQ2hELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLGFBQWEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ2pFLE9BQU8sUUFBUSxDQUFDO2dCQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO2dCQUNGLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXpELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztvQkFDckIsR0FBRyxJQUFJO29CQUVQLFlBQVk7b0JBQ1osR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssSUFBSTt3QkFDakMsUUFBUSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRztxQkFDN0QsQ0FBQztvQkFDRixVQUFVO29CQUNWLElBQUk7aUJBQ0wsQ0FBQyxDQUFDO2dCQUVILE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTVDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO29CQUNoQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7b0JBQ1gsSUFBSTtvQkFDSixNQUFNO29CQUNOLFFBQVEsRUFBRTt3QkFDUixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO3FCQUM3QjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { wixBlogLoader } from "./blog.js";
|
|
2
|
+
export { wixBlogLoader };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9hZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyJ9
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/// <reference types="astro/client" />
|
|
2
|
+
import { OAuthStrategy, TokenRole, createClient } from "@wix/sdk";
|
|
3
|
+
import { z } from "astro/zod";
|
|
4
|
+
import { WIX_CLIENT_ID } from "astro:env/client";
|
|
5
|
+
import { defineMiddleware } from "astro:middleware";
|
|
6
|
+
import { authStrategyAsyncLocalStorage } from "./auth-context.js";
|
|
7
|
+
import { sessionCookieJson } from "./routes/auth/runtime.js";
|
|
8
|
+
const sessionClient = createClient({
|
|
9
|
+
auth: {
|
|
10
|
+
async getAuthHeaders() {
|
|
11
|
+
const auth = authStrategyAsyncLocalStorage.getStore()?.auth;
|
|
12
|
+
if (!auth) {
|
|
13
|
+
throw new Error("No authentication strategy found in the current context");
|
|
14
|
+
}
|
|
15
|
+
return auth.getAuthHeaders();
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
sessionClient.enableContext("global");
|
|
20
|
+
/**
|
|
21
|
+
* Checks if the incoming request is a request for a dynamic (server-side rendered) page.
|
|
22
|
+
* We can check this by looking at the middleware's `clientAddress` context property because accessing
|
|
23
|
+
* this prop in a static route will throw an error which we can conveniently catch.
|
|
24
|
+
*/
|
|
25
|
+
function checkIsDynamicPageRequest(context) {
|
|
26
|
+
try {
|
|
27
|
+
return context.clientAddress != null;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function getSessionTokensFromCookie(context) {
|
|
34
|
+
if (!checkIsDynamicPageRequest(context)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const rawCookie = context.cookies.get("wixSession")?.json();
|
|
38
|
+
if (rawCookie) {
|
|
39
|
+
const tokensParseResult = z
|
|
40
|
+
.object({
|
|
41
|
+
clientId: z.string(),
|
|
42
|
+
tokens: z.object({
|
|
43
|
+
accessToken: z.object({
|
|
44
|
+
value: z.string(),
|
|
45
|
+
expiresAt: z.number(),
|
|
46
|
+
}),
|
|
47
|
+
refreshToken: z.object({
|
|
48
|
+
value: z.string(),
|
|
49
|
+
role: z.nativeEnum(TokenRole),
|
|
50
|
+
}),
|
|
51
|
+
}),
|
|
52
|
+
})
|
|
53
|
+
.safeParse(rawCookie);
|
|
54
|
+
if (tokensParseResult.success &&
|
|
55
|
+
tokensParseResult.data.clientId === WIX_CLIENT_ID) {
|
|
56
|
+
return tokensParseResult.data;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function saveSessionTokensToCookie(context, tokens) {
|
|
61
|
+
context.cookies.set("wixSession", sessionCookieJson(tokens), {
|
|
62
|
+
secure: true,
|
|
63
|
+
path: "/",
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
export const onRequest = defineMiddleware(async (context, next) => {
|
|
67
|
+
if (!WIX_CLIENT_ID) {
|
|
68
|
+
return next();
|
|
69
|
+
}
|
|
70
|
+
const sessionTokensFromCookie = getSessionTokensFromCookie(context);
|
|
71
|
+
const auth = OAuthStrategy({
|
|
72
|
+
clientId: WIX_CLIENT_ID,
|
|
73
|
+
});
|
|
74
|
+
if (sessionTokensFromCookie) {
|
|
75
|
+
auth.setTokens(sessionTokensFromCookie.tokens);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
auth.setTokens(await auth.generateVisitorTokens());
|
|
79
|
+
}
|
|
80
|
+
const response = await authStrategyAsyncLocalStorage.run({
|
|
81
|
+
auth,
|
|
82
|
+
}, () => next());
|
|
83
|
+
if (checkIsDynamicPageRequest(context) &&
|
|
84
|
+
sessionTokensFromCookie?.tokens.accessToken.expiresAt !==
|
|
85
|
+
auth.getTokens().accessToken.expiresAt) {
|
|
86
|
+
saveSessionTokensToCookie(context, auth.getTokens());
|
|
87
|
+
}
|
|
88
|
+
return response;
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ2pDLElBQUksRUFBRTtRQUNKLEtBQUssQ0FBQyxjQUFjO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQztZQUM1RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxJQUFJLEtBQUssQ0FDYix5REFBeUQsQ0FDMUQsQ0FBQztZQUNKLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQixDQUFDO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFFSCxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXRDOzs7O0dBSUc7QUFDSCxTQUFTLHlCQUF5QixDQUNoQyxPQUF5QztJQUV6QyxJQUFJLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUywwQkFB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
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import pRetry from "p-retry";
|
|
2
|
+
import { getAuth } from "../../runtime.js";
|
|
3
|
+
import { OAUTH_COOKIE_STATE, WIX_LOGIN_REDIRECT } from "./constants.js";
|
|
4
|
+
import { sessionCookieJson } from "./runtime.js";
|
|
5
|
+
export const prerender = false;
|
|
6
|
+
export async function GET({ url, cookies, redirect }) {
|
|
7
|
+
// Retrieve the OauthData from cookies
|
|
8
|
+
const oauthStateCookie = cookies.get(OAUTH_COOKIE_STATE);
|
|
9
|
+
const oauthData = oauthStateCookie ? JSON.parse(oauthStateCookie.value) : {};
|
|
10
|
+
// Determine the original URL or default to home
|
|
11
|
+
const originalUrl = oauthData.originalUri || "/";
|
|
12
|
+
// Check for error in the request URL
|
|
13
|
+
if (url.href.includes("error=")) {
|
|
14
|
+
return new Response(null, {
|
|
15
|
+
status: 302,
|
|
16
|
+
headers: {
|
|
17
|
+
Location: originalUrl,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
// Parse state and code from the request URL
|
|
22
|
+
const parsedUrl = new URL(url);
|
|
23
|
+
const state = parsedUrl.searchParams.get("state") || "";
|
|
24
|
+
const code = parsedUrl.searchParams.get("code") || "";
|
|
25
|
+
try {
|
|
26
|
+
// Retrieve member tokens using the code, state, and oauthData
|
|
27
|
+
const auth = getAuth();
|
|
28
|
+
const memberTokens = await pRetry(() => auth.getMemberTokens(code, state, oauthData), {
|
|
29
|
+
retries: 3,
|
|
30
|
+
onFailedAttempt: (error) => {
|
|
31
|
+
console.error("Error getting member tokens", error);
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
cookies.delete(OAUTH_COOKIE_STATE);
|
|
35
|
+
cookies.delete(WIX_LOGIN_REDIRECT);
|
|
36
|
+
cookies.set("wixSession", sessionCookieJson(memberTokens), {
|
|
37
|
+
maxAge: 60 * 60 * 24 * 2,
|
|
38
|
+
path: "/",
|
|
39
|
+
httpOnly: true,
|
|
40
|
+
});
|
|
41
|
+
return redirect(originalUrl);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error("Authentication error:", error);
|
|
45
|
+
return new Response(null, {
|
|
46
|
+
status: 302,
|
|
47
|
+
headers: {
|
|
48
|
+
Location: "/?authError=true",
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcm91dGVzL2F1dGgvY2FsbGJhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQztBQUUvQixNQUFNLENBQUMsS0FBSyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFjO0lBQzlELHNDQUFzQztJQUN0QyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN6RCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRTdFLGdEQUFnRDtJQUNoRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQztJQUVqRCxxQ0FBcUM7SUFDckMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ3hCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLFFBQVEsRUFBRSxXQUFXO2FBQ3RCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRXRELElBQUksQ0FBQztRQUNILDhEQUE4RDtRQUM5RCxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUV2QixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FDL0IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUNsRDtZQUNFLE9BQU8sRUFBRSxDQUFDO1lBQ1YsZUFBZSxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsQ0FBQztTQUNGLENBQ0YsQ0FBQztRQUVGLE9BQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDekQsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDeEIsSUFBSSxFQUFFLEdBQUc7WUFDVCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtZQUN4QixNQUFNLEVBQUUsR0FBRztZQUNYLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PROMPT_QUERY_PARAM = "prompt";
|
|
2
|
+
export declare const AUTH_LOGIN_CALLBACK_PARAM = "returnToUrl";
|
|
3
|
+
export declare const OAUTH_COOKIE_STATE = "oAuthState";
|
|
4
|
+
export declare const AUTH_CALLBACK_PATHNAME = "/api/auth/callback";
|
|
5
|
+
export declare const WIX_LOGIN_REDIRECT = "wixLoginRedirect";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const PROMPT_QUERY_PARAM = "prompt";
|
|
2
|
+
export const AUTH_LOGIN_CALLBACK_PARAM = "returnToUrl";
|
|
3
|
+
export const OAUTH_COOKIE_STATE = "oAuthState";
|
|
4
|
+
export const AUTH_CALLBACK_PATHNAME = "/api/auth/callback";
|
|
5
|
+
export const WIX_LOGIN_REDIRECT = "wixLoginRedirect";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JvdXRlcy9hdXRoL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsYUFBYSxDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AUTH_CALLBACK_PATHNAME, AUTH_LOGIN_CALLBACK_PARAM, OAUTH_COOKIE_STATE, PROMPT_QUERY_PARAM, } from "./constants.js";
|
|
2
|
+
import { getAuth } from "../../runtime.js";
|
|
3
|
+
export const prerender = false;
|
|
4
|
+
export async function GET({ url }) {
|
|
5
|
+
// Extract search parameters from the URL
|
|
6
|
+
const searchParams = new URL(url).searchParams;
|
|
7
|
+
const originalUrl = searchParams.get(AUTH_LOGIN_CALLBACK_PARAM) || "/";
|
|
8
|
+
const prompt = searchParams.get(PROMPT_QUERY_PARAM) ??
|
|
9
|
+
"login";
|
|
10
|
+
// Generate OAuth data and authorization URL
|
|
11
|
+
const redirectUrl = new URL(AUTH_CALLBACK_PATHNAME, url).toString();
|
|
12
|
+
const oauthData = await getAuth().generateOAuthData(redirectUrl, originalUrl);
|
|
13
|
+
const { authUrl } = await getAuth().getAuthUrl(oauthData, {
|
|
14
|
+
prompt,
|
|
15
|
+
responseMode: "query",
|
|
16
|
+
});
|
|
17
|
+
// Create a response that redirects to the authorization URL
|
|
18
|
+
const response = new Response(null, {
|
|
19
|
+
status: 302,
|
|
20
|
+
headers: {
|
|
21
|
+
Location: authUrl,
|
|
22
|
+
"Set-Cookie": `${OAUTH_COOKIE_STATE}=${JSON.stringify(oauthData)}; Max-Age=1800; Path=/; HttpOnly; SameSite=Lax`,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
return response;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcm91dGVzL2F1dGgvbG9naW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUczQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxLQUFLLFVBQVUsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFjO0lBQzNDLHlDQUF5QztJQUN6QyxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDL0MsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUN2RSxNQUFNLE1BQU0sR0FDVCxZQUFZLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFrQztRQUN0RSxPQUFPLENBQUM7SUFFViw0Q0FBNEM7SUFDNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEUsTUFBTSxTQUFTLEdBQUcsTUFBTSxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFOUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtRQUN4RCxNQUFNO1FBQ04sWUFBWSxFQUFFLE9BQU87S0FDdEIsQ0FBQyxDQUFDO0lBRUgsNERBQTREO0lBQzVELE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtRQUNsQyxNQUFNLEVBQUUsR0FBRztRQUNYLE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFlBQVksRUFBRSxHQUFHLGtCQUFrQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQ25ELFNBQVMsQ0FDVixnREFBZ0Q7U0FDbEQ7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getAuth } from "../../runtime.js";
|
|
2
|
+
import { sessionCookieJson } from "./runtime.js";
|
|
3
|
+
export const prerender = false;
|
|
4
|
+
export const GET = async ({ request, redirect, cookies }) => {
|
|
5
|
+
const returnTo = new URL(request.url).searchParams.get("returnTo") ?? "/";
|
|
6
|
+
const tokens = await getAuth().generateVisitorTokens();
|
|
7
|
+
cookies.set("wixSession", sessionCookieJson(tokens));
|
|
8
|
+
return redirect(returnTo);
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LWNhbGxiYWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JvdXRlcy9hdXRoL2xvZ291dC1jYWxsYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFhLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtJQUNwRSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUM7SUFFMUUsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRXZELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFckQsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getAuth } from "../../runtime.js";
|
|
2
|
+
export const prerender = false;
|
|
3
|
+
export async function GET({ request, redirect }) {
|
|
4
|
+
const returnTo = request.headers.get("Referer") ?? "/";
|
|
5
|
+
const baseUrl = new URL(request.url).origin + "/" + import.meta.env.BASE_URL;
|
|
6
|
+
const postFlowUrl = new URL("/api/auth/logout-callback", baseUrl);
|
|
7
|
+
postFlowUrl.searchParams.set("returnTo", returnTo);
|
|
8
|
+
const { logoutUrl } = await getAuth().logout(postFlowUrl.toString());
|
|
9
|
+
return redirect(logoutUrl);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JvdXRlcy9hdXRoL2xvZ291dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHM0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQztBQUUvQixNQUFNLENBQUMsS0FBSyxVQUFVLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQWM7SUFDekQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ3ZELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUM3RSxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFbkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRXJFLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUMifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { WIX_CLIENT_ID } from "astro:env/client";
|
|
2
|
+
export function sessionCookieJson(tokens) {
|
|
3
|
+
return {
|
|
4
|
+
clientId: WIX_CLIENT_ID,
|
|
5
|
+
tokens,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yb3V0ZXMvYXV0aC9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxPQUFPO1FBQ0wsUUFBUSxFQUFFLGFBQWE7UUFDdkIsTUFBTTtLQUNQLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { authStrategyAsyncLocalStorage } from "./auth-context.js";
|
|
2
|
+
export function getAuth() {
|
|
3
|
+
const auth = authStrategyAsyncLocalStorage.getStore()?.auth;
|
|
4
|
+
if (!auth) {
|
|
5
|
+
throw new Error("No authentication strategy found in the current context");
|
|
6
|
+
}
|
|
7
|
+
return auth;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxFLE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE1BQU0sSUFBSSxHQUFHLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxFQUFFLElBRTFDLENBQUM7SUFDZCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import buildResolver from "esm-resolve";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { loadEnv } from "vite";
|
|
4
|
+
export function wixSDKContext(opts) {
|
|
5
|
+
const virtualModuleId = '@wix/sdk-context';
|
|
6
|
+
const resolvedVirtualModuleId = '\0' + virtualModuleId;
|
|
7
|
+
return {
|
|
8
|
+
name: 'vite-plugin-sdk-context',
|
|
9
|
+
enforce: 'pre', // Ensure the plugin runs before Vite processes dependencies
|
|
10
|
+
config(_, { isSsrBuild }) {
|
|
11
|
+
if (isSsrBuild)
|
|
12
|
+
return; // Skip for server-side rendering
|
|
13
|
+
return {
|
|
14
|
+
optimizeDeps: {
|
|
15
|
+
exclude: [virtualModuleId], // Ensure the virtual module is not pre-bundled
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
resolveId(id, _, { ssr }) {
|
|
20
|
+
if (ssr)
|
|
21
|
+
return null; // Skip for server-side rendering
|
|
22
|
+
if (id === virtualModuleId) {
|
|
23
|
+
return resolvedVirtualModuleId;
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
},
|
|
27
|
+
load(id) {
|
|
28
|
+
if (id === resolvedVirtualModuleId) {
|
|
29
|
+
const aRequire = buildResolver(fileURLToPath(import.meta.url), {
|
|
30
|
+
resolveToAbsolute: true,
|
|
31
|
+
});
|
|
32
|
+
const userLoadedEnv = loadEnv(process.env["NODE_ENV"] ?? "development", process.cwd(), "");
|
|
33
|
+
const wixSDKResolved = aRequire("@wix/sdk/client");
|
|
34
|
+
const wixSDKAuthResolved = aRequire("@wix/sdk/auth/site-session");
|
|
35
|
+
return `import { createClient } from "${wixSDKResolved}";
|
|
36
|
+
import { SiteSessionAuth } from "${wixSDKAuthResolved}";
|
|
37
|
+
|
|
38
|
+
function getCookieAsJson(name) {
|
|
39
|
+
const cookies = document.cookie.split('; ');
|
|
40
|
+
const cookie = cookies.find(row => row.startsWith(\`\${name}=\`));
|
|
41
|
+
|
|
42
|
+
if (!cookie) return null;
|
|
43
|
+
|
|
44
|
+
try {
|
|
45
|
+
const jsonString = decodeURIComponent(cookie.split('=')[1]);
|
|
46
|
+
return JSON.parse(jsonString);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error('Error parsing cookie JSON:', error);
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const wixContext = {
|
|
54
|
+
client: createClient({
|
|
55
|
+
auth: SiteSessionAuth({
|
|
56
|
+
clientId: ${JSON.stringify(userLoadedEnv["WIX_CLIENT_ID"])},
|
|
57
|
+
tokens: getCookieAsJson(${JSON.stringify(opts.sessionCookieName)})?.tokens,
|
|
58
|
+
}),
|
|
59
|
+
}),
|
|
60
|
+
clientId: ${JSON.stringify(userLoadedEnv["WIX_CLIENT_ID"])},
|
|
61
|
+
};
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdml0ZS1wbHVnaW5zL3Nkay1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFHdkMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFtQztJQUMvRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztJQUMzQyxNQUFNLHVCQUF1QixHQUFHLElBQUksR0FBRyxlQUFlLENBQUM7SUFFdkQsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSw0REFBNEQ7UUFFNUUsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRTtZQUN0QixJQUFJLFVBQVU7Z0JBQUUsT0FBTyxDQUFDLGlDQUFpQztZQUN6RCxPQUFPO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSwrQ0FBK0M7aUJBQzVFO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtZQUN0QixJQUFJLEdBQUc7Z0JBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxpQ0FBaUM7WUFDdkQsSUFBSSxFQUFFLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sdUJBQXVCLENBQUM7WUFDakMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxFQUFFLEtBQUssdUJBQXVCLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUM1QixhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDOUI7b0JBQ0UsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEIsQ0FDRixDQUFDO2dCQUVGLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FDM0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxhQUFhLEVBQ3hDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFDYixFQUFFLENBQ0gsQ0FBQztnQkFDRixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQ2pDLDRCQUE0QixDQUM3QixDQUFDO2dCQUVKLE9BQU8saUNBQWlDLGNBQWM7aURBQ1gsa0JBQWtCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnQ0FvQm5DLElBQUksQ0FBQyxTQUFTLENBQ3hCLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FDL0I7OENBQ3lCLElBQUksQ0FBQyxTQUFTLENBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkI7Ozs0QkFHTyxJQUFJLENBQUMsU0FBUyxDQUN4QixhQUFhLENBQUMsZUFBZSxDQUFDLENBQy9COztpQkFFQSxDQUFDO1lBQ1osQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,86 +1,67 @@
|
|
|
1
1
|
import buildResolver from "esm-resolve";
|
|
2
|
-
import MagicString from "magic-string";
|
|
3
2
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
import {
|
|
5
|
-
export function wixSDKContext() {
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const moduleIdsToInject = new Set();
|
|
3
|
+
import { loadEnv } from "vite";
|
|
4
|
+
export function wixSDKContext(opts) {
|
|
5
|
+
const virtualModuleId = '@wix/sdk-context';
|
|
6
|
+
const resolvedVirtualModuleId = '\0' + virtualModuleId;
|
|
9
7
|
return {
|
|
10
|
-
name:
|
|
11
|
-
enforce:
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
name: 'vite-plugin-sdk-context',
|
|
9
|
+
enforce: 'pre', // Ensure the plugin runs before Vite processes dependencies
|
|
10
|
+
config(_, { isSsrBuild }) {
|
|
11
|
+
if (isSsrBuild)
|
|
12
|
+
return; // Skip for server-side rendering
|
|
13
|
+
return {
|
|
14
|
+
optimizeDeps: {
|
|
15
|
+
exclude: [virtualModuleId], // Ensure the virtual module is not pre-bundled
|
|
16
|
+
},
|
|
17
|
+
};
|
|
14
18
|
},
|
|
15
|
-
|
|
16
|
-
if (
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
!options.ssr &&
|
|
21
|
-
(source.startsWith("/src") ||
|
|
22
|
-
source.startsWith(join(resolvedConfig.root, "src")))) {
|
|
23
|
-
const resolved = await this.resolve(source, importer, {
|
|
24
|
-
skipSelf: true,
|
|
25
|
-
});
|
|
26
|
-
if (resolved) {
|
|
27
|
-
moduleIdsToInject.add(resolved.id);
|
|
28
|
-
}
|
|
19
|
+
resolveId(id, _, { ssr }) {
|
|
20
|
+
if (ssr)
|
|
21
|
+
return null; // Skip for server-side rendering
|
|
22
|
+
if (id === virtualModuleId) {
|
|
23
|
+
return resolvedVirtualModuleId;
|
|
29
24
|
}
|
|
25
|
+
return null;
|
|
30
26
|
},
|
|
31
27
|
load(id) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
if (id === resolvedVirtualModuleId) {
|
|
29
|
+
const aRequire = buildResolver(fileURLToPath(import.meta.url), {
|
|
30
|
+
resolveToAbsolute: true,
|
|
31
|
+
});
|
|
32
|
+
const userLoadedEnv = loadEnv(process.env["NODE_ENV"] ?? "development", process.cwd(), "");
|
|
33
|
+
const wixSDKResolved = aRequire("@wix/sdk/client");
|
|
34
|
+
const wixSDKAuthResolved = aRequire("@wix/sdk/auth/site-session");
|
|
35
|
+
return `import { createClient } from "${wixSDKResolved}";
|
|
36
|
+
import { SiteSessionAuth } from "${wixSDKAuthResolved}";
|
|
41
37
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
var cookies = document.cookie ? document.cookie.split('; ') : [];
|
|
46
|
-
var jar = {};
|
|
47
|
-
for (var i = 0; i < cookies.length; i++) {
|
|
48
|
-
var parts = cookies[i].split('=');
|
|
49
|
-
var value = parts.slice(1).join('=');
|
|
38
|
+
function getCookieAsJson(name) {
|
|
39
|
+
const cookies = document.cookie.split('; ');
|
|
40
|
+
const cookie = cookies.find(row => row.startsWith(\`\${name}=\`));
|
|
50
41
|
|
|
51
|
-
|
|
52
|
-
var found = decodeURIComponent(parts[0]);
|
|
53
|
-
jar[found] = converter.read(value, found);
|
|
42
|
+
if (!cookie) return null;
|
|
54
43
|
|
|
55
|
-
|
|
56
|
-
|
|
44
|
+
try {
|
|
45
|
+
const jsonString = decodeURIComponent(cookie.split('=')[1]);
|
|
46
|
+
return JSON.parse(jsonString);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error('Error parsing cookie JSON:', error);
|
|
49
|
+
return null;
|
|
57
50
|
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return name ? jar[name] : jar
|
|
62
|
-
}
|
|
51
|
+
}
|
|
63
52
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
transform(code, id, options) {
|
|
74
|
-
if (moduleIdsToInject.has(id) && !options?.ssr) {
|
|
75
|
-
const s = new MagicString(code);
|
|
76
|
-
s.prepend(`import '${virtualModuleId}';\n`);
|
|
77
|
-
return {
|
|
78
|
-
code: s.toString(),
|
|
79
|
-
map: s.generateMap(),
|
|
80
|
-
};
|
|
53
|
+
export const wixContext = {
|
|
54
|
+
client: createClient({
|
|
55
|
+
auth: SiteSessionAuth({
|
|
56
|
+
clientId: ${JSON.stringify(userLoadedEnv["WIX_CLIENT_ID"])},
|
|
57
|
+
tokens: getCookieAsJson(${JSON.stringify(opts.sessionCookieName)})?.tokens,
|
|
58
|
+
}),
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
`;
|
|
81
62
|
}
|
|
82
|
-
return
|
|
63
|
+
return null;
|
|
83
64
|
},
|
|
84
65
|
};
|
|
85
66
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdml0ZS1wbHVnaW5zL3Nkay1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFHdkMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFtQztJQUMvRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztJQUMzQyxNQUFNLHVCQUF1QixHQUFHLElBQUksR0FBRyxlQUFlLENBQUM7SUFFdkQsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSw0REFBNEQ7UUFFNUUsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRTtZQUN0QixJQUFJLFVBQVU7Z0JBQUUsT0FBTyxDQUFDLGlDQUFpQztZQUN6RCxPQUFPO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSwrQ0FBK0M7aUJBQzVFO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtZQUN0QixJQUFJLEdBQUc7Z0JBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxpQ0FBaUM7WUFDdkQsSUFBSSxFQUFFLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sdUJBQXVCLENBQUM7WUFDakMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxFQUFFLEtBQUssdUJBQXVCLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUM1QixhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDOUI7b0JBQ0UsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEIsQ0FDRixDQUFDO2dCQUVGLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FDM0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxhQUFhLEVBQ3hDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFDYixFQUFFLENBQ0gsQ0FBQztnQkFDRixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQ2pDLDRCQUE0QixDQUM3QixDQUFDO2dCQUVKLE9BQU8saUNBQWlDLGNBQWM7aURBQ1gsa0JBQWtCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnQ0FvQm5DLElBQUksQ0FBQyxTQUFTLENBQ3hCLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FDL0I7OENBQ3lCLElBQUksQ0FBQyxTQUFTLENBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkI7Ozs7aUJBSUosQ0FBQztZQUNaLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/astro",
|
|
3
3
|
"description": "Develop your Astro site on the Wix Platform",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.15",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"keywords": [
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"./loaders": "./dist/loaders/index.js",
|
|
15
15
|
"./entrypoints/server.js": "./dist/entrypoints/server.js",
|
|
16
16
|
"./package.json": "./package.json",
|
|
17
|
-
"./runtime": "./dist/runtime.js"
|
|
17
|
+
"./runtime": "./dist/runtime.js",
|
|
18
|
+
"./components/login.astro": "./components/login.astro"
|
|
18
19
|
},
|
|
19
20
|
"files": [
|
|
20
21
|
"dist"
|
|
@@ -30,11 +31,13 @@
|
|
|
30
31
|
"@cloudflare/workers-types": "^4.20241224.0",
|
|
31
32
|
"@wix/blog": "^1.0.345",
|
|
32
33
|
"@wix/data": "^1.0.194",
|
|
33
|
-
"@wix/
|
|
34
|
+
"@wix/identity": "^1.0.125",
|
|
35
|
+
"@wix/sdk": "^1.15.14",
|
|
34
36
|
"chalk": "^5.4.1",
|
|
35
37
|
"esm-resolve": "^1.0.11",
|
|
36
38
|
"globby": "^14.0.2",
|
|
37
39
|
"magic-string": "^0.30.17",
|
|
40
|
+
"oauth4webapi": "^3.4.0",
|
|
38
41
|
"outdent": "^0.8.0",
|
|
39
42
|
"p-retry": "^6.2.1",
|
|
40
43
|
"vite": "^6.0.0"
|