@enfyra/sdk-nuxt 0.3.19 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/auth.d.ts.map +1 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/module.cjs +38 -23
  4. package/dist/module.json +4 -1
  5. package/dist/module.mjs +37 -22
  6. package/dist/{composables/useEnfyraApi.mjs → runtime/composables/useEnfyraApi.js} +3 -3
  7. package/dist/{composables/useEnfyraAuth.mjs → runtime/composables/useEnfyraAuth.js} +1 -1
  8. package/dist/runtime/server/api/all.js +1 -1
  9. package/dist/runtime/server/api/login.post.js +2 -2
  10. package/dist/runtime/server/api/logout.post.js +2 -2
  11. package/dist/runtime/server/middleware/auth.js +2 -2
  12. package/dist/runtime/shims.d.ts +72 -0
  13. package/dist/runtime/utils/http.d.ts +0 -0
  14. package/dist/runtime/utils/server/proxy.d.ts +0 -0
  15. package/dist/{utils/server/proxy.mjs → runtime/utils/server/proxy.js} +2 -2
  16. package/dist/runtime/utils/server/refreshToken.d.ts +0 -0
  17. package/dist/{utils/server/refreshToken.mjs → runtime/utils/server/refreshToken.js} +2 -2
  18. package/dist/runtime/utils/url.d.ts +0 -0
  19. package/module.d.ts +16 -6
  20. package/package.json +9 -11
  21. package/src/module.ts +54 -34
  22. package/src/{composables → runtime/composables}/useEnfyraApi.ts +17 -17
  23. package/src/{composables → runtime/composables}/useEnfyraAuth.ts +2 -2
  24. package/src/runtime/server/api/all.ts +1 -1
  25. package/src/runtime/server/api/login.post.ts +2 -2
  26. package/src/runtime/server/api/logout.post.ts +2 -2
  27. package/src/runtime/server/middleware/auth.ts +2 -2
  28. package/src/runtime/shims.d.ts +72 -0
  29. package/src/{utils → runtime/utils}/server/proxy.ts +1 -1
  30. package/src/{utils → runtime/utils}/server/refreshToken.ts +3 -3
  31. package/dist/composables/useEnfyraApi.d.ts +0 -8
  32. package/dist/composables/useEnfyraApi.d.ts.map +0 -1
  33. package/dist/composables/useEnfyraApi.js +0 -363
  34. package/dist/composables/useEnfyraAuth.d.ts +0 -89
  35. package/dist/composables/useEnfyraAuth.d.ts.map +0 -1
  36. package/dist/composables/useEnfyraAuth.js +0 -77
  37. package/dist/constants/config.d.ts +0 -2
  38. package/dist/constants/config.d.ts.map +0 -1
  39. package/dist/constants/config.mjs +0 -1
  40. package/dist/runtime/plugin/config-error.client.mjs +0 -107
  41. package/dist/runtime/server/api/all.mjs +0 -5
  42. package/dist/runtime/server/api/login.post.mjs +0 -62
  43. package/dist/runtime/server/api/logout.post.mjs +0 -35
  44. package/dist/runtime/server/middleware/auth.mjs +0 -36
  45. package/dist/types/auth.d.ts.map +0 -1
  46. package/dist/types/index.d.ts.map +0 -1
  47. package/dist/utils/config.mjs +0 -16
  48. package/dist/utils/http.d.ts +0 -8
  49. package/dist/utils/http.d.ts.map +0 -1
  50. package/dist/utils/http.js +0 -57
  51. package/dist/utils/url.d.ts +0 -12
  52. package/dist/utils/url.d.ts.map +0 -1
  53. package/dist/utils/url.js +0 -77
  54. package/src/types/nuxt-imports.d.ts +0 -61
  55. package/src/utils/config.ts +0 -22
  56. /package/dist/{types/auth.d.ts → auth.d.ts} +0 -0
  57. /package/dist/{types/auth.js → auth.js} +0 -0
  58. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  59. /package/dist/{types/index.js → index.js} +0 -0
  60. /package/dist/{constants/auth.d.ts → runtime/composables/useEnfyraApi.d.ts} +0 -0
  61. /package/dist/{utils/config.d.ts → runtime/composables/useEnfyraAuth.d.ts} +0 -0
  62. /package/dist/{utils/server/proxy.d.ts → runtime/constants/auth.d.ts} +0 -0
  63. /package/dist/{constants/auth.mjs → runtime/constants/auth.js} +0 -0
  64. /package/dist/{utils/server/refreshToken.d.ts → runtime/constants/config.d.ts} +0 -0
  65. /package/dist/{constants → runtime/constants}/config.js +0 -0
  66. /package/dist/{utils/http.mjs → runtime/utils/http.js} +0 -0
  67. /package/dist/{utils/url.mjs → runtime/utils/url.js} +0 -0
  68. /package/src/{constants → runtime/constants}/auth.ts +0 -0
  69. /package/src/{constants → runtime/constants}/config.ts +0 -0
  70. /package/src/{utils → runtime/utils}/http.ts +0 -0
  71. /package/src/{utils → runtime/utils}/url.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,gBAAgB,EAAE,eAAe,EAAE,CAAA;KACpC,CAAA;IACD,uBAAuB,CAAC,EAAE,eAAe,EAAE,CAAA;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACpB,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;CACzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/types/index.ts"],"names":[],"mappings":"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"}
package/dist/module.cjs CHANGED
@@ -1,46 +1,57 @@
1
1
  'use strict';
2
2
 
3
3
  const kit = require('@nuxt/kit');
4
- const config_mjs = require('../dist/constants/config.mjs');
4
+ const defu = require('defu');
5
+ const config_js = require('../dist/runtime/constants/config.js');
5
6
 
6
7
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
7
8
  const module$1 = kit.defineNuxtModule({
8
9
  meta: {
9
10
  name: "@enfyra/sdk-nuxt",
10
- configKey: "enfyraSDK"
11
+ configKey: "enfyraSDK",
12
+ compatibility: {
13
+ nuxt: ">=3.0.0"
14
+ }
11
15
  },
12
16
  defaults: {
13
17
  apiUrl: "",
14
- apiPrefix: config_mjs.ENFYRA_API_PREFIX
18
+ apiPrefix: config_js.ENFYRA_API_PREFIX
15
19
  },
16
20
  setup(options, nuxt) {
21
+ const logger = kit.useLogger("enfyra-sdk");
22
+ const { resolve } = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('module.cjs', document.baseURI).href)));
17
23
  const normalizedOptions = {
18
24
  ...options,
19
25
  apiUrl: typeof options.apiUrl === "string" ? options.apiUrl.replace(/\/+$/, "") : options.apiUrl,
20
- apiPrefix: typeof options.apiPrefix === "string" ? options.apiPrefix.trim() ? "/" + options.apiPrefix.replace(/^\/+|\/+$/g, "").replace(/\/+/g, "/") : config_mjs.ENFYRA_API_PREFIX : config_mjs.ENFYRA_API_PREFIX
26
+ apiPrefix: typeof options.apiPrefix === "string" ? options.apiPrefix.trim() ? "/" + options.apiPrefix.replace(/^\/+|\/+$/g, "").replace(/\/+/g, "/") : config_js.ENFYRA_API_PREFIX : config_js.ENFYRA_API_PREFIX
21
27
  };
22
28
  const apiPrefix = normalizedOptions.apiPrefix;
23
- const { resolve } = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('module.cjs', document.baseURI).href)));
24
29
  if (!normalizedOptions.apiUrl) {
25
- console.warn(
26
- `[Enfyra SDK Nuxt] Missing required configuration:
30
+ logger.warn(
31
+ `Missing required configuration:
27
32
  - apiUrl is required
28
33
  Please configure it in your nuxt.config.ts:
29
34
  enfyraSDK: {
30
35
  apiUrl: 'https://your-api-url'
31
36
  }`
32
37
  );
33
- nuxt.options.runtimeConfig.public.enfyraSDK = {
34
- ...normalizedOptions,
35
- apiPrefix,
36
- configError: true,
37
- configErrorMessage: "Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts"
38
- };
38
+ nuxt.options.runtimeConfig.public.enfyraSDK = defu.defu(
39
+ nuxt.options.runtimeConfig.public.enfyraSDK || {},
40
+ {
41
+ ...normalizedOptions,
42
+ apiPrefix,
43
+ configError: true,
44
+ configErrorMessage: "Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts"
45
+ }
46
+ );
39
47
  } else {
40
- nuxt.options.runtimeConfig.public.enfyraSDK = {
41
- ...normalizedOptions,
42
- apiPrefix
43
- };
48
+ nuxt.options.runtimeConfig.public.enfyraSDK = defu.defu(
49
+ nuxt.options.runtimeConfig.public.enfyraSDK || {},
50
+ {
51
+ ...normalizedOptions,
52
+ apiPrefix
53
+ }
54
+ );
44
55
  }
45
56
  if (!normalizedOptions.apiUrl) {
46
57
  kit.addPlugin({
@@ -48,12 +59,16 @@ enfyraSDK: {
48
59
  mode: "client"
49
60
  });
50
61
  }
51
- kit.addImportsDir(resolve("./composables"));
52
- nuxt.hook("prepare:types", ({ declarations, references }) => {
53
- references.push({
54
- path: resolve("./types/nuxt-imports.d.ts")
55
- });
56
- });
62
+ kit.addImports([
63
+ {
64
+ name: "useEnfyraApi",
65
+ from: resolve("./runtime/composables/useEnfyraApi")
66
+ },
67
+ {
68
+ name: "useEnfyraAuth",
69
+ from: resolve("./runtime/composables/useEnfyraAuth")
70
+ }
71
+ ]);
57
72
  kit.addServerHandler({
58
73
  handler: resolve("./runtime/server/middleware/auth"),
59
74
  middleware: true
package/dist/module.json CHANGED
@@ -1,7 +1,10 @@
1
1
  {
2
2
  "name": "@enfyra/sdk-nuxt",
3
3
  "configKey": "enfyraSDK",
4
- "version": "0.3.19",
4
+ "compatibility": {
5
+ "nuxt": ">=3.0.0"
6
+ },
7
+ "version": "0.3.20",
5
8
  "builder": {
6
9
  "@nuxt/module-builder": "0.8.4",
7
10
  "unbuild": "2.0.0"
package/dist/module.mjs CHANGED
@@ -1,43 +1,54 @@
1
- import { defineNuxtModule, createResolver, addPlugin, addImportsDir, addServerHandler } from '@nuxt/kit';
2
- import { ENFYRA_API_PREFIX } from '../dist/constants/config.mjs';
1
+ import { defineNuxtModule, useLogger, createResolver, addPlugin, addImports, addServerHandler } from '@nuxt/kit';
2
+ import { defu } from 'defu';
3
+ import { ENFYRA_API_PREFIX } from '../dist/runtime/constants/config.js';
3
4
 
4
5
  const module = defineNuxtModule({
5
6
  meta: {
6
7
  name: "@enfyra/sdk-nuxt",
7
- configKey: "enfyraSDK"
8
+ configKey: "enfyraSDK",
9
+ compatibility: {
10
+ nuxt: ">=3.0.0"
11
+ }
8
12
  },
9
13
  defaults: {
10
14
  apiUrl: "",
11
15
  apiPrefix: ENFYRA_API_PREFIX
12
16
  },
13
17
  setup(options, nuxt) {
18
+ const logger = useLogger("enfyra-sdk");
19
+ const { resolve } = createResolver(import.meta.url);
14
20
  const normalizedOptions = {
15
21
  ...options,
16
22
  apiUrl: typeof options.apiUrl === "string" ? options.apiUrl.replace(/\/+$/, "") : options.apiUrl,
17
23
  apiPrefix: typeof options.apiPrefix === "string" ? options.apiPrefix.trim() ? "/" + options.apiPrefix.replace(/^\/+|\/+$/g, "").replace(/\/+/g, "/") : ENFYRA_API_PREFIX : ENFYRA_API_PREFIX
18
24
  };
19
25
  const apiPrefix = normalizedOptions.apiPrefix;
20
- const { resolve } = createResolver(import.meta.url);
21
26
  if (!normalizedOptions.apiUrl) {
22
- console.warn(
23
- `[Enfyra SDK Nuxt] Missing required configuration:
27
+ logger.warn(
28
+ `Missing required configuration:
24
29
  - apiUrl is required
25
30
  Please configure it in your nuxt.config.ts:
26
31
  enfyraSDK: {
27
32
  apiUrl: 'https://your-api-url'
28
33
  }`
29
34
  );
30
- nuxt.options.runtimeConfig.public.enfyraSDK = {
31
- ...normalizedOptions,
32
- apiPrefix,
33
- configError: true,
34
- configErrorMessage: "Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts"
35
- };
35
+ nuxt.options.runtimeConfig.public.enfyraSDK = defu(
36
+ nuxt.options.runtimeConfig.public.enfyraSDK || {},
37
+ {
38
+ ...normalizedOptions,
39
+ apiPrefix,
40
+ configError: true,
41
+ configErrorMessage: "Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts"
42
+ }
43
+ );
36
44
  } else {
37
- nuxt.options.runtimeConfig.public.enfyraSDK = {
38
- ...normalizedOptions,
39
- apiPrefix
40
- };
45
+ nuxt.options.runtimeConfig.public.enfyraSDK = defu(
46
+ nuxt.options.runtimeConfig.public.enfyraSDK || {},
47
+ {
48
+ ...normalizedOptions,
49
+ apiPrefix
50
+ }
51
+ );
41
52
  }
42
53
  if (!normalizedOptions.apiUrl) {
43
54
  addPlugin({
@@ -45,12 +56,16 @@ enfyraSDK: {
45
56
  mode: "client"
46
57
  });
47
58
  }
48
- addImportsDir(resolve("./composables"));
49
- nuxt.hook("prepare:types", ({ declarations, references }) => {
50
- references.push({
51
- path: resolve("./types/nuxt-imports.d.ts")
52
- });
53
- });
59
+ addImports([
60
+ {
61
+ name: "useEnfyraApi",
62
+ from: resolve("./runtime/composables/useEnfyraApi")
63
+ },
64
+ {
65
+ name: "useEnfyraAuth",
66
+ from: resolve("./runtime/composables/useEnfyraAuth")
67
+ }
68
+ ]);
54
69
  addServerHandler({
55
70
  handler: resolve("./runtime/server/middleware/auth"),
56
71
  middleware: true
@@ -1,7 +1,7 @@
1
1
  import { ref, unref, toRaw } from "vue";
2
- import { $fetch } from "../utils/http";
3
- import { getAppUrl, normalizeUrl } from "../utils/url";
4
- import { ENFYRA_API_PREFIX } from "../constants/config";
2
+ import { $fetch } from "../utils/http.js";
3
+ import { getAppUrl, normalizeUrl } from "../utils/url.js";
4
+ import { ENFYRA_API_PREFIX } from "../constants/config.js";
5
5
  import { useRuntimeConfig, useFetch, useRequestHeaders, useNuxtApp } from "#imports";
6
6
  function handleError(error, context, customHandler) {
7
7
  const apiError = {
@@ -1,5 +1,5 @@
1
1
  import { ref, computed } from "vue";
2
- import { useEnfyraApi } from "./useEnfyraApi.mjs";
2
+ import { useEnfyraApi } from "./useEnfyraApi.js";
3
3
  const me = ref(null);
4
4
  const isLoading = ref(false);
5
5
  export function useEnfyraAuth() {
@@ -1,5 +1,5 @@
1
1
  import { defineEventHandler } from "h3";
2
- import { proxyToAPI } from "../../../utils/server/proxy";
2
+ import { proxyToAPI } from "../../utils/server/proxy.js";
3
3
  export default defineEventHandler(async (event) => {
4
4
  return proxyToAPI(event);
5
5
  });
@@ -12,8 +12,8 @@ import {
12
12
  ACCESS_TOKEN_KEY,
13
13
  REFRESH_TOKEN_KEY,
14
14
  EXP_TIME_KEY
15
- } from "../../../constants/auth";
16
- import { normalizeUrl } from "../../../utils/url";
15
+ } from "../../constants/auth.js";
16
+ import { normalizeUrl } from "../../utils/url.js";
17
17
  export default defineEventHandler(async (event) => {
18
18
  const config = useRuntimeConfig();
19
19
  const apiUrl = config.public.enfyraSDK?.apiUrl;
@@ -5,8 +5,8 @@ import {
5
5
  ACCESS_TOKEN_KEY,
6
6
  REFRESH_TOKEN_KEY,
7
7
  EXP_TIME_KEY
8
- } from "../../../constants/auth";
9
- import { normalizeUrl } from "../../../utils/url";
8
+ } from "../../constants/auth.js";
9
+ import { normalizeUrl } from "../../utils/url.js";
10
10
  export default defineEventHandler(async (event) => {
11
11
  const config = useRuntimeConfig();
12
12
  const apiUrl = config.public?.enfyraSDK?.apiUrl;
@@ -3,8 +3,8 @@ import { useRuntimeConfig } from "#imports";
3
3
  import {
4
4
  validateTokens,
5
5
  refreshAccessToken
6
- } from "../../../utils/server/refreshToken";
7
- import { REFRESH_TOKEN_KEY } from "../../../constants/auth";
6
+ } from "../../utils/server/refreshToken.js";
7
+ import { REFRESH_TOKEN_KEY } from "../../constants/auth.js";
8
8
  export default defineEventHandler(async (event) => {
9
9
  if (event.node.req.url === "/api/login" || event.node.req.url === "/api/logout") {
10
10
  return;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Type shims for Nuxt auto-imports used in module runtime.
3
+ * These types are provided by Nuxt at runtime but need declarations for TypeScript.
4
+ */
5
+
6
+ declare module "#imports" {
7
+ // Nuxt composables
8
+ export const useRuntimeConfig: () => {
9
+ public: {
10
+ enfyraSDK?: {
11
+ apiUrl?: string;
12
+ apiPrefix?: string;
13
+ configError?: boolean;
14
+ configErrorMessage?: string;
15
+ };
16
+ };
17
+ [key: string]: any;
18
+ };
19
+
20
+ export const useRequestHeaders: (
21
+ headers?: string[]
22
+ ) => Record<string, string | undefined>;
23
+
24
+ export const useRequestURL: () => URL;
25
+
26
+ export const useFetch: <T = any>(
27
+ url: string | (() => string),
28
+ options?: any
29
+ ) => any;
30
+
31
+ export const useNuxtApp: () => {
32
+ payload: {
33
+ data: Record<string, any>;
34
+ [key: string]: any;
35
+ };
36
+ static: {
37
+ data: Record<string, any>;
38
+ [key: string]: any;
39
+ };
40
+ [key: string]: any;
41
+ };
42
+
43
+ // Nuxt plugin
44
+ export const defineNuxtPlugin: (plugin: any) => any;
45
+
46
+ // Server utilities (from nitro)
47
+ export const defineCachedEventHandler: (
48
+ handler: any,
49
+ options?: any
50
+ ) => any;
51
+ export const getCookie: (
52
+ event: any,
53
+ name: string
54
+ ) => string | undefined;
55
+ export const setCookie: (
56
+ event: any,
57
+ name: string,
58
+ value: string,
59
+ options?: any
60
+ ) => void;
61
+ export const deleteCookie: (
62
+ event: any,
63
+ name: string,
64
+ options?: any
65
+ ) => void;
66
+ export const createError: (options: {
67
+ statusCode?: number;
68
+ statusMessage?: string;
69
+ message?: string;
70
+ data?: any;
71
+ }) => Error;
72
+ }
File without changes
File without changes
@@ -1,7 +1,7 @@
1
1
  import { proxyRequest } from "h3";
2
2
  import { useRuntimeConfig } from "#imports";
3
- import { ENFYRA_API_PREFIX } from "../../constants/config";
4
- import { normalizeUrl } from "../../utils/url";
3
+ import { ENFYRA_API_PREFIX } from "../../constants/config.js";
4
+ import { normalizeUrl } from "../url.js";
5
5
  export function proxyToAPI(event, customPath) {
6
6
  const config = useRuntimeConfig();
7
7
  const apiPrefix = config.public?.enfyraSDK?.apiPrefix || ENFYRA_API_PREFIX;
File without changes
@@ -4,8 +4,8 @@ import {
4
4
  ACCESS_TOKEN_KEY,
5
5
  REFRESH_TOKEN_KEY,
6
6
  EXP_TIME_KEY
7
- } from "../../constants/auth";
8
- import { normalizeUrl } from "../../utils/url";
7
+ } from "../../constants/auth.js";
8
+ import { normalizeUrl } from "../url.js";
9
9
  export function decodeJWT(token) {
10
10
  try {
11
11
  const parts = token.split(".");
File without changes
package/module.d.ts CHANGED
@@ -1,14 +1,24 @@
1
- import type { ModuleOptions } from './src/module'
1
+ import type { ModuleOptions } from "./src/module";
2
2
 
3
- declare module '@nuxt/schema' {
3
+ declare module "@nuxt/schema" {
4
4
  interface NuxtConfig {
5
- enfyraSDK?: ModuleOptions
5
+ enfyraSDK?: ModuleOptions;
6
6
  }
7
7
  interface NuxtOptions {
8
- enfyraSDK?: ModuleOptions
8
+ enfyraSDK?: ModuleOptions;
9
+ }
10
+ interface PublicRuntimeConfig {
11
+ enfyraSDK?: ModuleOptions & {
12
+ configError?: boolean;
13
+ configErrorMessage?: string;
14
+ };
9
15
  }
10
16
  }
11
17
 
12
- export type { ModuleOptions } from './src/module'
13
- export type * from './src/types'
18
+ declare module "#imports" {
19
+ export const useEnfyraApi: typeof import("./src/runtime/composables/useEnfyraApi").useEnfyraApi;
20
+ export const useEnfyraAuth: typeof import("./src/runtime/composables/useEnfyraAuth").useEnfyraAuth;
21
+ }
14
22
 
23
+ export type { ModuleOptions } from "./src/module";
24
+ export type * from "./src/types";
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@enfyra/sdk-nuxt",
3
- "version": "0.3.19",
3
+ "version": "0.3.20",
4
+ "type": "module",
4
5
  "description": "Nuxt SDK for Enfyra CMS",
5
6
  "repository": {
6
7
  "type": "git",
@@ -18,17 +19,13 @@
18
19
  "require": "./dist/module.cjs",
19
20
  "types": "./dist/types.d.ts"
20
21
  },
21
- "./src/composables/useEnfyraApi": {
22
- "types": "./src/composables/useEnfyraApi.ts",
23
- "import": "./src/composables/useEnfyraApi.ts"
24
- },
25
- "./src/composables/useEnfyraAuth": {
26
- "types": "./src/composables/useEnfyraAuth.ts",
27
- "import": "./src/composables/useEnfyraAuth.ts"
22
+ "./runtime/*": {
23
+ "types": "./dist/runtime/*.d.ts",
24
+ "import": "./dist/runtime/*.js"
28
25
  },
29
26
  "./types": {
30
- "types": "./dist/types/index.d.ts",
31
- "import": "./dist/types/index.js"
27
+ "types": "./dist/index.d.ts",
28
+ "import": "./dist/index.js"
32
29
  }
33
30
  },
34
31
  "files": [
@@ -61,6 +58,7 @@
61
58
  "vue": "^3.0.0"
62
59
  },
63
60
  "dependencies": {
61
+ "defu": "^6.1.4",
64
62
  "h3": "^1.15.4",
65
63
  "ofetch": "^1.3.3"
66
64
  },
@@ -74,4 +72,4 @@
74
72
  "vite-plugin-dts": "^4.3.0",
75
73
  "vitest": "^3.2.4"
76
74
  }
77
- }
75
+ }
package/src/module.ts CHANGED
@@ -2,10 +2,12 @@ import {
2
2
  defineNuxtModule,
3
3
  createResolver,
4
4
  addServerHandler,
5
- addImportsDir,
5
+ addImports,
6
6
  addPlugin,
7
+ useLogger,
7
8
  } from "@nuxt/kit";
8
- import { ENFYRA_API_PREFIX } from "./constants/config";
9
+ import { defu } from "defu";
10
+ import { ENFYRA_API_PREFIX } from "./runtime/constants/config";
9
11
 
10
12
  export interface ModuleOptions {
11
13
  apiUrl: string;
@@ -16,12 +18,18 @@ export default defineNuxtModule<ModuleOptions>({
16
18
  meta: {
17
19
  name: "@enfyra/sdk-nuxt",
18
20
  configKey: "enfyraSDK",
21
+ compatibility: {
22
+ nuxt: ">=3.0.0",
23
+ },
19
24
  },
20
25
  defaults: {
21
26
  apiUrl: "",
22
27
  apiPrefix: ENFYRA_API_PREFIX,
23
28
  },
24
29
  setup(options, nuxt) {
30
+ const logger = useLogger("enfyra-sdk");
31
+ const { resolve } = createResolver(import.meta.url);
32
+
25
33
  const normalizedOptions = {
26
34
  ...options,
27
35
  apiUrl:
@@ -30,54 +38,67 @@ export default defineNuxtModule<ModuleOptions>({
30
38
  : options.apiUrl,
31
39
  apiPrefix:
32
40
  typeof options.apiPrefix === "string"
33
- ? (options.apiPrefix.trim()
34
- ? "/" + options.apiPrefix.replace(/^\/+|\/+$/g, "").replace(/\/+/g, "/")
35
- : ENFYRA_API_PREFIX)
41
+ ? options.apiPrefix.trim()
42
+ ? "/" +
43
+ options.apiPrefix
44
+ .replace(/^\/+|\/+$/g, "")
45
+ .replace(/\/+/g, "/")
46
+ : ENFYRA_API_PREFIX
36
47
  : ENFYRA_API_PREFIX,
37
48
  };
38
49
 
39
50
  const apiPrefix = normalizedOptions.apiPrefix;
40
- const { resolve } = createResolver(import.meta.url);
41
51
 
42
52
  if (!normalizedOptions.apiUrl) {
43
- console.warn(
44
- `[Enfyra SDK Nuxt] Missing required configuration:\n` +
45
- `- apiUrl is required\n` +
46
- `Please configure it in your nuxt.config.ts:\n` +
47
- `enfyraSDK: {\n` +
48
- ` apiUrl: 'https://your-api-url'\n` +
49
- `}`
53
+ logger.warn(
54
+ `Missing required configuration:\n` +
55
+ `- apiUrl is required\n` +
56
+ `Please configure it in your nuxt.config.ts:\n` +
57
+ `enfyraSDK: {\n` +
58
+ ` apiUrl: 'https://your-api-url'\n` +
59
+ `}`
60
+ );
61
+
62
+ nuxt.options.runtimeConfig.public.enfyraSDK = defu(
63
+ nuxt.options.runtimeConfig.public.enfyraSDK || {},
64
+ {
65
+ ...normalizedOptions,
66
+ apiPrefix: apiPrefix,
67
+ configError: true,
68
+ configErrorMessage:
69
+ "Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts",
70
+ }
50
71
  );
51
-
52
- nuxt.options.runtimeConfig.public.enfyraSDK = {
53
- ...normalizedOptions,
54
- apiPrefix: apiPrefix,
55
- configError: true,
56
- configErrorMessage: 'Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts'
57
- };
58
72
  } else {
59
- nuxt.options.runtimeConfig.public.enfyraSDK = {
60
- ...normalizedOptions,
61
- apiPrefix: apiPrefix,
62
- };
73
+ nuxt.options.runtimeConfig.public.enfyraSDK = defu(
74
+ nuxt.options.runtimeConfig.public.enfyraSDK || {},
75
+ {
76
+ ...normalizedOptions,
77
+ apiPrefix: apiPrefix,
78
+ }
79
+ );
63
80
  }
64
81
 
65
-
66
82
  if (!normalizedOptions.apiUrl) {
67
83
  addPlugin({
68
84
  src: resolve("./runtime/plugin/config-error.client"),
69
- mode: 'client'
85
+ mode: "client",
70
86
  });
71
87
  }
72
-
73
- addImportsDir(resolve("./composables"));
74
88
 
75
- nuxt.hook('prepare:types', ({ declarations, references }: any) => {
76
- references.push({
77
- path: resolve('./types/nuxt-imports.d.ts'),
78
- })
79
- })
89
+ // Register composables for auto-import with explicit declarations
90
+ addImports([
91
+ {
92
+ name: "useEnfyraApi",
93
+ from: resolve("./runtime/composables/useEnfyraApi"),
94
+ },
95
+ {
96
+ name: "useEnfyraAuth",
97
+ from: resolve("./runtime/composables/useEnfyraAuth"),
98
+ },
99
+ ]);
80
100
 
101
+ // Server handlers
81
102
  addServerHandler({
82
103
  handler: resolve("./runtime/server/middleware/auth"),
83
104
  middleware: true,
@@ -95,7 +116,6 @@ export default defineNuxtModule<ModuleOptions>({
95
116
  method: "post",
96
117
  });
97
118
 
98
-
99
119
  addServerHandler({
100
120
  route: "/assets/**",
101
121
  handler: resolve("./runtime/server/api/all"),