flowrix 1.0.1-beta.84 → 1.0.1-beta.86

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/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "flowrix",
3
3
  "configKey": "flowrix",
4
- "version": "1.0.1-beta.84",
4
+ "version": "1.0.1-beta.86",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -14,7 +14,8 @@ const module$1 = defineNuxtModule({
14
14
  runtimeConfig.FLOWRIX_API_ORIGIN ||= env.FLOWRIX_API_ORIGIN || "";
15
15
  runtimeConfig.FLOWRIX_API_BASE ||= env.FLOWRIX_API_BASE || "";
16
16
  runtimeConfig.FLOWRIX_API_BASE_V2 ||= env.FLOWRIX_API_BASE_V2 || "";
17
- runtimeConfig.FLOWRIX_CACHE ||= env.FLOWRIX_CACHE || "";
17
+ runtimeConfig.FLOWRIX_CACHE ||= env.FLOWRIX_CACHE || false;
18
+ runtimeConfig.FLOWRIX_CDN ||= env.FLOWRIX_CDN || "";
18
19
  Object.assign(runtimeConfig.public, {
19
20
  ...runtimeConfig.public,
20
21
  FLOWRIX_API_KEY: runtimeConfig.public.FLOWRIX_API_KEY || env.FLOWRIX_API_KEY || "",
@@ -22,7 +23,8 @@ const module$1 = defineNuxtModule({
22
23
  FLOWRIX_API_ORIGIN: runtimeConfig.public.FLOWRIX_API_ORIGIN || env.FLOWRIX_API_ORIGIN || "",
23
24
  FLOWRIX_API_BASE: runtimeConfig.public.FLOWRIX_API_BASE || env.FLOWRIX_API_BASE || "",
24
25
  FLOWRIX_API_BASE_V2: runtimeConfig.public.FLOWRIX_API_BASE_V2 || env.FLOWRIX_API_BASE_V2 || "",
25
- FLOWRIX_CACHE: runtimeConfig.public.FLOWRIX_CACHE || env.FLOWRIX_CACHE || ""
26
+ FLOWRIX_CACHE: runtimeConfig.public.FLOWRIX_CACHE || env.FLOWRIX_CACHE || false,
27
+ FLOWRIX_CDN: runtimeConfig.public.FLOWRIX_CDN || env.FLOWRIX_CDN || ""
26
28
  });
27
29
  const resolver = createResolver(import.meta.url);
28
30
  await installModule("@pinia/nuxt");
@@ -329,9 +331,13 @@ const module$1 = defineNuxtModule({
329
331
  handler: resolver.resolve("./runtime/server/api/cache/[...slug].delete")
330
332
  });
331
333
  addServerHandler({
332
- route: "/sitemap/**",
334
+ route: "/:path*.xml*",
333
335
  handler: resolver.resolve("./runtime/server/api/generate/sitemap.get")
334
336
  });
337
+ addServerHandler({
338
+ route: "/robots.txt",
339
+ handler: resolver.resolve("./runtime/server/api/generate/robots.get")
340
+ });
335
341
  }
336
342
  });
337
343
 
@@ -28,8 +28,10 @@ export default defineEventHandler(async (event) => {
28
28
  "Origin": process.env.FLOWRIX_API_ORIGIN
29
29
  }
30
30
  });
31
- await ensureCacheDir();
32
- await writeFile(filePath, JSON.stringify(banners, null, 2), "utf-8");
31
+ if (config.public.FLOWRIX_CACHE == true) {
32
+ await ensureCacheDir();
33
+ await writeFile(filePath, JSON.stringify(banners, null, 2), "utf-8");
34
+ }
33
35
  return banners;
34
36
  } catch (error) {
35
37
  throw createError({
@@ -45,8 +45,10 @@ export default defineEventHandler(async (event) => {
45
45
  "Origin": process.env.FLOWRIX_API_ORIGIN
46
46
  }
47
47
  });
48
- await ensureCacheDir();
49
- await writeFile(filePath, JSON.stringify(brand, null, 2), "utf-8");
48
+ if (config.public.FLOWRIX_CACHE == true) {
49
+ await ensureCacheDir();
50
+ await writeFile(filePath, JSON.stringify(brand, null, 2), "utf-8");
51
+ }
50
52
  return brand;
51
53
  } catch (error) {
52
54
  throw createError({
@@ -31,8 +31,10 @@ export default defineEventHandler(async (event) => {
31
31
  "Origin": process.env.FLOWRIX_API_ORIGIN
32
32
  }
33
33
  });
34
- await ensureCacheDir();
35
- await writeFile(filePath, JSON.stringify(categories, null, 2), "utf-8");
34
+ if (config.public.FLOWRIX_CACHE == true) {
35
+ await ensureCacheDir();
36
+ await writeFile(filePath, JSON.stringify(categories, null, 2), "utf-8");
37
+ }
36
38
  return categories;
37
39
  } catch (error) {
38
40
  throw createError({
@@ -31,8 +31,10 @@ export default defineEventHandler(async (event) => {
31
31
  "Origin": process.env.FLOWRIX_API_ORIGIN
32
32
  }
33
33
  });
34
- await ensureCacheDir();
35
- await writeFile(filePath, JSON.stringify(categories, null, 2), "utf-8");
34
+ if (config.public.FLOWRIX_CACHE == true) {
35
+ await ensureCacheDir();
36
+ await writeFile(filePath, JSON.stringify(categories, null, 2), "utf-8");
37
+ }
36
38
  return categories;
37
39
  } catch (error) {
38
40
  throw createError({
@@ -29,8 +29,10 @@ export default defineEventHandler(async (event) => {
29
29
  "Origin": process.env.FLOWRIX_API_ORIGIN
30
30
  }
31
31
  });
32
- await ensureCacheDir();
33
- await writeFile(filePath, JSON.stringify(featured, null, 2), "utf-8");
32
+ if (config.public.FLOWRIX_CACHE == true) {
33
+ await ensureCacheDir();
34
+ await writeFile(filePath, JSON.stringify(featured, null, 2), "utf-8");
35
+ }
34
36
  return featured;
35
37
  } catch (error) {
36
38
  throw createError({
@@ -32,8 +32,10 @@ export default defineEventHandler(async (event) => {
32
32
  "Origin": process.env.FLOWRIX_API_ORIGIN
33
33
  }
34
34
  });
35
- await ensureCacheDir();
36
- await writeFile(filePath, JSON.stringify(samples, null, 2), "utf-8");
35
+ if (config.public.FLOWRIX_CACHE == true) {
36
+ await ensureCacheDir();
37
+ await writeFile(filePath, JSON.stringify(samples, null, 2), "utf-8");
38
+ }
37
39
  return samples;
38
40
  } catch (error) {
39
41
  throw createError({
@@ -32,8 +32,10 @@ export default defineEventHandler(async (event) => {
32
32
  "Origin": process.env.FLOWRIX_API_ORIGIN
33
33
  }
34
34
  });
35
- await ensureCacheDir();
36
- await writeFile(filePath, JSON.stringify(search, null, 2), "utf-8");
35
+ if (config.public.FLOWRIX_CACHE == true) {
36
+ await ensureCacheDir();
37
+ await writeFile(filePath, JSON.stringify(search, null, 2), "utf-8");
38
+ }
37
39
  return search;
38
40
  } catch (error) {
39
41
  throw createError({
@@ -24,7 +24,6 @@ export default defineEventHandler(async (event) => {
24
24
  const cacheKey = `${slug}-${JSON.stringify(query)}`;
25
25
  const fileName = cacheKey.replace(/[^a-zA-Z0-9-_]/g, "_");
26
26
  const filePath = join(CACHE_DIR, `${fileName}-${customerType}.json`);
27
- console.log("CACHE_DIR", filePath);
28
27
  try {
29
28
  const fileContent = await readFile(filePath, "utf-8");
30
29
  const category = JSON.parse(fileContent);
@@ -36,8 +36,10 @@ export default defineEventHandler(async (event) => {
36
36
  "Origin": process.env.FLOWRIX_API_ORIGIN
37
37
  }
38
38
  });
39
- await ensureCacheDir();
40
- await writeFile(filePath, JSON.stringify(blog, null, 2), "utf-8");
39
+ if (config.public.FLOWRIX_CACHE == true) {
40
+ await ensureCacheDir();
41
+ await writeFile(filePath, JSON.stringify(blog, null, 2), "utf-8");
42
+ }
41
43
  return blog;
42
44
  } catch (error) {
43
45
  throw createError({
@@ -22,8 +22,10 @@ export default defineEventHandler(async (event) => {
22
22
  try {
23
23
  const config = useRuntimeConfig();
24
24
  const countries = await flowrixApi.get(`countries`, config);
25
- await ensureCacheDir();
26
- await writeFile(filePath, JSON.stringify(countries, null, 2), "utf-8");
25
+ if (config.public.FLOWRIX_CACHE == true) {
26
+ await ensureCacheDir();
27
+ await writeFile(filePath, JSON.stringify(countries, null, 2), "utf-8");
28
+ }
27
29
  return countries;
28
30
  } catch (error) {
29
31
  throw createError({
@@ -0,0 +1,2 @@
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<string>>;
2
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import {
2
+ defineEventHandler,
3
+ setResponseStatus,
4
+ setHeader
5
+ } from "h3";
6
+ import { useRuntimeConfig } from "#imports";
7
+ import { $fetch } from "ofetch";
8
+ export default defineEventHandler(async (event) => {
9
+ try {
10
+ const config = useRuntimeConfig();
11
+ const fileUrl = config.public.FLOWRIX_CDN + "robots.txt";
12
+ const fileContent = await $fetch(fileUrl);
13
+ setHeader(event, "Content-Type", "text/plain; charset=utf-8");
14
+ return fileContent;
15
+ } catch (error) {
16
+ setResponseStatus(event, 404);
17
+ setHeader(event, "Content-Type", "text/plain; charset=utf-8");
18
+ return `File not found`;
19
+ }
20
+ });
@@ -1,5 +1,2 @@
1
- declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<"site map" | {
2
- success: boolean;
3
- message: string;
4
- }>>;
1
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<string | Buffer<ArrayBuffer>>>;
5
2
  export default _default;
@@ -1,13 +1,32 @@
1
1
  import {
2
2
  defineEventHandler,
3
- setResponseStatus
3
+ setResponseStatus,
4
+ setHeader
4
5
  } from "h3";
6
+ import { useRuntimeConfig } from "#imports";
7
+ import { $fetch } from "ofetch";
5
8
  export default defineEventHandler(async (event) => {
6
9
  try {
7
- return "site map";
10
+ let fullPath = event.path;
11
+ if (fullPath.startsWith("/")) {
12
+ fullPath = fullPath.slice(1);
13
+ }
14
+ const isGzip = fullPath.endsWith(".gz");
15
+ const config = useRuntimeConfig();
16
+ const cdnUrl = config.public.FLOWRIX_CDN + fullPath;
17
+ const buffer = await $fetch(cdnUrl, { responseType: "arrayBuffer" });
18
+ const data = Buffer.from(buffer);
19
+ if (isGzip) {
20
+ setHeader(event, "Content-Type", "application/xml; charset=utf-8");
21
+ setHeader(event, "Content-Encoding", "gzip");
22
+ return data;
23
+ }
24
+ setHeader(event, "Content-Type", "application/xml; charset=utf-8");
25
+ return data.toString();
8
26
  } catch (error) {
9
- console.error("File save error:", error);
10
- setResponseStatus(event, 500);
11
- return { success: false, message: "Failed to download or save files" };
27
+ setResponseStatus(event, 404);
28
+ setHeader(event, "Content-Type", "application/xml");
29
+ return `<?xml version="1.0"?>
30
+ <error>File not found</error>`;
12
31
  }
13
32
  });
@@ -36,8 +36,10 @@ export default defineEventHandler(async (event) => {
36
36
  "Origin": process.env.FLOWRIX_API_ORIGIN
37
37
  }
38
38
  });
39
- await ensureCacheDir();
40
- await writeFile(filePath, JSON.stringify(page, null, 2), "utf-8");
39
+ if (config.public.FLOWRIX_CACHE == true) {
40
+ await ensureCacheDir();
41
+ await writeFile(filePath, JSON.stringify(page, null, 2), "utf-8");
42
+ }
41
43
  return page;
42
44
  } catch (error) {
43
45
  throw createError({
@@ -34,8 +34,10 @@ export default defineEventHandler(async (event) => {
34
34
  const product = await flowrixApi.post(`product/${slug}`, config, {
35
35
  body: JSON.stringify(body)
36
36
  });
37
- await ensureCacheDir();
38
- await writeFile(filePath, JSON.stringify(product, null, 2), "utf-8");
37
+ if (config.public.FLOWRIX_CACHE == true) {
38
+ await ensureCacheDir();
39
+ await writeFile(filePath, JSON.stringify(product, null, 2), "utf-8");
40
+ }
39
41
  return product;
40
42
  } catch (error) {
41
43
  throw createError({
@@ -39,8 +39,10 @@ export default defineEventHandler(async (event) => {
39
39
  "Origin": process.env.FLOWRIX_API_ORIGIN
40
40
  }
41
41
  });
42
- await ensureCacheDir();
43
- await writeFile(filePath, JSON.stringify(service, null, 2), "utf-8");
42
+ if (config.public.FLOWRIX_CACHE == true) {
43
+ await ensureCacheDir();
44
+ await writeFile(filePath, JSON.stringify(service, null, 2), "utf-8");
45
+ }
44
46
  return service;
45
47
  } catch (error) {
46
48
  throw createError({
@@ -39,8 +39,10 @@ export default defineEventHandler(async (event) => {
39
39
  "Origin": process.env.FLOWRIX_API_ORIGIN
40
40
  }
41
41
  });
42
- await ensureCacheDir();
43
- await writeFile(filePath, JSON.stringify(service, null, 2), "utf-8");
42
+ if (config.public.FLOWRIX_CACHE == true) {
43
+ await ensureCacheDir();
44
+ await writeFile(filePath, JSON.stringify(service, null, 2), "utf-8");
45
+ }
44
46
  return service;
45
47
  } catch (error) {
46
48
  throw createError({
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "../../../.nuxt/tsconfig.server.json",
3
- }
1
+ {
2
+ "extends": "../../../.nuxt/tsconfig.server.json",
3
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowrix",
3
- "version": "1.0.1-beta.84",
3
+ "version": "1.0.1-beta.86",
4
4
  "description": "Plug-and-play Nuxt eCommerce cart powered by FLOWRiX. Subscription required.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -40,30 +40,16 @@
40
40
  "test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
41
41
  },
42
42
  "dependencies": {
43
- "@nuxt/image": "^1.11.0",
43
+ "@nuxt/image": "1.11.0",
44
44
  "@nuxt/kit": "4.2.0",
45
- "@nuxtjs/seo": "^3.2.2",
45
+ "@nuxtjs/seo": "3.2.2",
46
46
  "@pinia/nuxt": "0.7.0",
47
47
  "@stripe/stripe-js": "8.2.0",
48
- "@vueuse/nuxt": "^14.0.0",
49
- "nuxt-gtag": "^4.1.0",
50
- "nuxt-swiper": "^2.0.1",
51
- "nuxt-toast": "^1.4.0",
48
+ "@vueuse/nuxt": "14.0.0",
49
+ "nuxt-gtag": "4.1.0",
50
+ "nuxt-swiper": "2.0.1",
51
+ "nuxt-toast": "1.4.0",
52
52
  "pinia": "2.3.1",
53
- "pinia-plugin-persistedstate": "^3.2.3"
54
- },
55
- "devDependencies": {
56
- "@nuxt/devtools": "2.6.5",
57
- "@nuxt/eslint-config": "1.9.0",
58
- "@nuxt/module-builder": "^1.0.2",
59
- "@nuxt/schema": "4.2.0",
60
- "@nuxt/test-utils": "3.19.2",
61
- "@types/node": "24.9.1",
62
- "changelogen": "0.6.2",
63
- "eslint": "9.38.0",
64
- "nuxt": "4.2.0",
65
- "typescript": "5.9.3",
66
- "vitest": "3.2.4",
67
- "vue-tsc": "3.1.1"
53
+ "pinia-plugin-persistedstate": "3.2.3"
68
54
  }
69
55
  }