@cyberskill/shared 2.25.0 → 2.27.0

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 (52) hide show
  1. package/README.md +1 -1
  2. package/dist/config/config.util.cjs +1 -1
  3. package/dist/config/config.util.js +14 -19
  4. package/dist/config/eslint/index.cjs +1 -1
  5. package/dist/config/eslint/index.js +1 -1
  6. package/dist/config/vitest/vitest.e2e.cjs +1 -1
  7. package/dist/config/vitest/vitest.e2e.js +1 -1
  8. package/dist/config/vitest/vitest.unit.cjs +1 -1
  9. package/dist/config/vitest/vitest.unit.js +1 -1
  10. package/dist/node/cli/index.cjs +3 -3
  11. package/dist/node/cli/index.js +106 -96
  12. package/dist/node/command/command.util.js +1 -1
  13. package/dist/node/express/express.type.d.ts +2 -0
  14. package/dist/node/express/express.util.cjs +1 -1
  15. package/dist/node/express/express.util.js +38 -33
  16. package/dist/node/path/index.cjs +1 -1
  17. package/dist/node/path/index.js +53 -51
  18. package/dist/node/path/path.constant.cjs +1 -1
  19. package/dist/node/path/path.constant.d.ts +3 -0
  20. package/dist/node/path/path.constant.js +63 -60
  21. package/dist/react/apollo-client/apollo-client.component.cjs +1 -1
  22. package/dist/react/apollo-client/apollo-client.component.d.ts +1 -1
  23. package/dist/react/apollo-client/apollo-client.component.js +4 -3
  24. package/dist/react/apollo-client/apollo-client.context.cjs +1 -1
  25. package/dist/react/apollo-client/apollo-client.context.d.ts +1 -1
  26. package/dist/react/apollo-client/apollo-client.context.js +9 -8
  27. package/dist/react/apollo-client/apollo-client.util.cjs +1 -1
  28. package/dist/react/apollo-client/apollo-client.util.js +3 -3
  29. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.cjs +1 -1
  30. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.d.ts +1 -1
  31. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.js +9 -8
  32. package/dist/react/apollo-error/apollo-error.component.cjs +1 -1
  33. package/dist/react/apollo-error/apollo-error.component.d.ts +1 -1
  34. package/dist/react/apollo-error/apollo-error.component.js +2 -1
  35. package/dist/react/apollo-error/apollo-error.provider.cjs +1 -1
  36. package/dist/react/apollo-error/apollo-error.provider.d.ts +1 -1
  37. package/dist/react/apollo-error/apollo-error.provider.js +4 -3
  38. package/dist/react/loading/loading.component.cjs +2 -2
  39. package/dist/react/loading/loading.component.d.ts +1 -1
  40. package/dist/react/loading/loading.component.js +7 -6
  41. package/dist/react/loading/loading.provider.cjs +1 -1
  42. package/dist/react/loading/loading.provider.d.ts +1 -1
  43. package/dist/react/loading/loading.provider.js +8 -7
  44. package/dist/react/next-intl/next-intl.hoc.cjs +1 -1
  45. package/dist/react/next-intl/next-intl.hoc.d.ts +2 -1
  46. package/dist/react/next-intl/next-intl.hoc.js +12 -12
  47. package/dist/react/next-intl/next-intl.provider.cjs +1 -1
  48. package/dist/react/next-intl/next-intl.provider.d.ts +1 -1
  49. package/dist/react/next-intl/next-intl.provider.js +5 -4
  50. package/package.json +25 -24
  51. /package/dist/node_modules/.pnpm/{vitest@4.0.16_@types_node@25.0.3_jiti@2.6.1_jsdom@27.4.0_sass@1.97.2_tsx@4.21.0_yaml@2.8.2 → vitest@4.0.17_@types_node@25.0.9_jiti@2.6.1_jsdom@27.4.0_@noble_hashes@1.8.0__sass@1.97.2_tsx@4.21.0_yaml@2.8.2}/node_modules/vitest/dist/config.cjs +0 -0
  52. /package/dist/node_modules/.pnpm/{vitest@4.0.16_@types_node@25.0.3_jiti@2.6.1_jsdom@27.4.0_sass@1.97.2_tsx@4.21.0_yaml@2.8.2 → vitest@4.0.17_@types_node@25.0.9_jiti@2.6.1_jsdom@27.4.0_@noble_hashes@1.8.0__sass@1.97.2_tsx@4.21.0_yaml@2.8.2}/node_modules/vitest/dist/config.js +0 -0
@@ -1,4 +1,5 @@
1
- import t, { use as a } from "react";
1
+ import * as t from "react";
2
+ import { use as a } from "react";
2
3
  import { validate as s } from "../../util/validate/validate.util.js";
3
4
  import { ApolloErrorContext as i } from "./apollo-error.context.js";
4
5
  import n from "./apollo-error.module.scss.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),i=require("./apollo-error.context.cjs"),c=require("./apollo-error.util.cjs");function b({children:n,onError:e}){const[o,t]=l.useState(null),r=l.useCallback(u=>{if(e){e(u);return}t(u)},[e]);l.useEffect(()=>(c.setGlobalApolloErrorCallback(r,!!e),()=>{c.clearGlobalApolloErrorCallback()}),[r,e]);const a=l.useCallback(()=>t(null),[]),s=l.useMemo(()=>({error:e?null:o,showError:r,hideError:a}),[o,r,a,e]);return l.createElement(i.ApolloErrorContext,{value:s},n)}exports.ApolloErrorProvider=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),i=require("./apollo-error.context.cjs"),u=require("./apollo-error.util.cjs");function b(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const f=b(l);function p({children:r,onError:e}){const[t,o]=l.useState(null),a=l.useCallback(n=>{if(e){e(n);return}o(n)},[e]);l.useEffect(()=>(u.setGlobalApolloErrorCallback(a,!!e),()=>{u.clearGlobalApolloErrorCallback()}),[a,e]);const c=l.useCallback(()=>o(null),[]),s=l.useMemo(()=>({error:e?null:t,showError:a,hideError:c}),[t,a,c,e]);return f.createElement(i.ApolloErrorContext,{value:s},r)}exports.ApolloErrorProvider=p;
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { I_ApolloErrorProviderProps } from './apollo-error.type.js';
2
+ import * as React from 'react';
3
3
  /**
4
4
  * Provider component that manages Apollo error state and provides error context.
5
5
  * This component sets up error handling for Apollo Client operations and provides
@@ -1,4 +1,5 @@
1
- import s, { useState as m, useCallback as c, useEffect as f, useMemo as i } from "react";
1
+ import * as n from "react";
2
+ import { useState as m, useCallback as c, useEffect as f, useMemo as i } from "react";
2
3
  import { ApolloErrorContext as p } from "./apollo-error.context.js";
3
4
  import { setGlobalApolloErrorCallback as b, clearGlobalApolloErrorCallback as A } from "./apollo-error.util.js";
4
5
  function k({ children: u, onError: l }) {
@@ -12,12 +13,12 @@ function k({ children: u, onError: l }) {
12
13
  f(() => (b(e, !!l), () => {
13
14
  A();
14
15
  }), [e, l]);
15
- const t = c(() => o(null), []), n = i(() => ({
16
+ const t = c(() => o(null), []), s = i(() => ({
16
17
  error: l ? null : r,
17
18
  showError: e,
18
19
  hideError: t
19
20
  }), [r, e, t, l]);
20
- return /* @__PURE__ */ s.createElement(p, { value: n }, u);
21
+ return /* @__PURE__ */ n.createElement(p, { value: s }, u);
21
22
  }
22
23
  export {
23
24
  k as ApolloErrorProvider
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("clsx"),n=require("react"),l=require("./loading.module.scss.cjs");var p=Object.defineProperty,i=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,u=(e,r,t)=>r in e?p(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,_=(e,r)=>{for(var t in r||(r={}))m.call(r,t)&&u(e,t,r[t]);if(i)for(var t of i(r))f.call(r,t)&&u(e,t,r[t]);return e},y=(e,r)=>{var t={};for(var a in e)m.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&i)for(var a of i(e))r.indexOf(a)<0&&f.call(e,a)&&(t[a]=e[a]);return t};function E(){if(document.getElementById("noscroll-style"))return;const e=document.createElement("style");e.id="noscroll-style",e.innerHTML=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("clsx"),c=require("react"),n=require("./loading.module.scss.cjs");function _(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const l=_(c);var y=Object.defineProperty,i=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,f=(e,r,t)=>r in e?y(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,b=(e,r)=>{for(var t in r||(r={}))m.call(r,t)&&f(e,t,r[t]);if(i)for(var t of i(r))v.call(r,t)&&f(e,t,r[t]);return e},E=(e,r)=>{var t={};for(var a in e)m.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&i)for(var a of i(e))r.indexOf(a)<0&&v.call(e,a)&&(t[a]=e[a]);return t};function O(){if(document.getElementById("noscroll-style"))return;const e=document.createElement("style");e.id="noscroll-style",e.innerHTML=`
2
2
  .noscroll {
3
3
  overflow: hidden !important;
4
4
  height: 100vh !important;
5
5
  }
6
- `,document.head.appendChild(e)}function h(e){var r=e,{full:t=!1,className:a="",message:o="Loading"}=r,v=y(r,["full","className","message"]);n.useEffect(()=>{if(t){document.body.classList.add("noscroll");const s=g=>g.preventDefault();return document.addEventListener("contextmenu",s),()=>{document.body.classList.remove("noscroll"),document.removeEventListener("contextmenu",s)}}},[t]),n.useEffect(()=>{E()},[]);function d(){return n.createElement("div",_({role:"status","aria-live":"polite","aria-label":o,className:l.default.container},v),n.createElement("div",{className:l.default.ring,"aria-hidden":"true"}),n.createElement("div",{className:l.default.ring,"aria-hidden":"true"}),n.createElement("div",{className:l.default.ring,"aria-hidden":"true"}),n.createElement("div",{className:l.default.ring,"aria-hidden":"true"}),o&&n.createElement("div",{className:l.default.message},o))}return t?n.createElement("div",{className:c(l.default.full,a)},d()):n.createElement("div",{className:c(l.default.block,a)},d())}exports.Loading=h;
6
+ `,document.head.appendChild(e)}function h(e){var r=e,{full:t=!1,className:a="",message:o="Loading"}=r,g=E(r,["full","className","message"]);c.useEffect(()=>{if(t){document.body.classList.add("noscroll");const d=p=>p.preventDefault();return document.addEventListener("contextmenu",d),()=>{document.body.classList.remove("noscroll"),document.removeEventListener("contextmenu",d)}}},[t]),c.useEffect(()=>{O()},[]);function s(){return l.createElement("div",b({role:"status","aria-live":"polite","aria-label":o,className:n.default.container},g),l.createElement("div",{className:n.default.ring,"aria-hidden":"true"}),l.createElement("div",{className:n.default.ring,"aria-hidden":"true"}),l.createElement("div",{className:n.default.ring,"aria-hidden":"true"}),l.createElement("div",{className:n.default.ring,"aria-hidden":"true"}),o&&l.createElement("div",{className:n.default.message},o))}return t?l.createElement("div",{className:u(n.default.full,a)},s()):l.createElement("div",{className:u(n.default.block,a)},s())}exports.Loading=h;
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { I_LoadingProps } from './loading.type.js';
2
+ import * as React from 'react';
3
3
  /**
4
4
  * Loading component that displays animated loading indicators.
5
5
  * This component provides a customizable loading interface with animated rings
@@ -1,5 +1,6 @@
1
- import m from "clsx";
2
- import n, { useEffect as d } from "react";
1
+ import c from "clsx";
2
+ import * as n from "react";
3
+ import { useEffect as d } from "react";
3
4
  import l from "./loading.module.scss.js";
4
5
  var _ = Object.defineProperty, i = Object.getOwnPropertySymbols, u = Object.prototype.hasOwnProperty, v = Object.prototype.propertyIsEnumerable, f = (e, r, t) => r in e ? _(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, y = (e, r) => {
5
6
  for (var t in r || (r = {}))
@@ -33,9 +34,9 @@ function L(e) {
33
34
  d(() => {
34
35
  if (t) {
35
36
  document.body.classList.add("noscroll");
36
- const c = (g) => g.preventDefault();
37
- return document.addEventListener("contextmenu", c), () => {
38
- document.body.classList.remove("noscroll"), document.removeEventListener("contextmenu", c);
37
+ const m = (g) => g.preventDefault();
38
+ return document.addEventListener("contextmenu", m), () => {
39
+ document.body.classList.remove("noscroll"), document.removeEventListener("contextmenu", m);
39
40
  };
40
41
  }
41
42
  }, [t]), d(() => {
@@ -57,7 +58,7 @@ function L(e) {
57
58
  o && /* @__PURE__ */ n.createElement("div", { className: l.message }, o)
58
59
  );
59
60
  }
60
- return t ? /* @__PURE__ */ n.createElement("div", { className: m(l.full, a) }, s()) : /* @__PURE__ */ n.createElement("div", { className: m(l.block, a) }, s());
61
+ return t ? /* @__PURE__ */ n.createElement("div", { className: c(l.full, a) }, s()) : /* @__PURE__ */ n.createElement("div", { className: c(l.block, a) }, s());
61
62
  }
62
63
  export {
63
64
  L as Loading
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),d=require("./loading.component.cjs"),u=require("./loading.context.cjs");function g({children:l}){const[o,a]=e.useState(!1),[t,n]=e.useState(!1),s=e.useCallback((c=!1)=>{a(!0),n(c)},[]),i=e.useCallback(()=>{a(!1),n(!1)},[]),r=e.useMemo(()=>({isLoading:o,isGlobalLoading:t,showLoading:s,hideLoading:i}),[o,t,s,i]);return e.createElement(u.LoadingContext,{value:r},o?e.createElement(d.Loading,{full:t}):l)}exports.LoadingProvider=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),d=require("./loading.component.cjs"),g=require("./loading.context.cjs");function f(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const s=f(a);function b({children:e}){const[t,o]=a.useState(!1),[n,r]=a.useState(!1),l=a.useCallback((u=!1)=>{o(!0),r(u)},[]),i=a.useCallback(()=>{o(!1),r(!1)},[]),c=a.useMemo(()=>({isLoading:t,isGlobalLoading:n,showLoading:l,hideLoading:i}),[t,n,l,i]);return s.createElement(g.LoadingContext,{value:c},t?s.createElement(d.Loading,{full:n}):e)}exports.LoadingProvider=b;
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { I_Children } from '../../typescript/index.js';
2
+ import * as React from 'react';
3
3
  /**
4
4
  * Provider component that manages loading state and provides loading context.
5
5
  * This component sets up loading state management for the application and provides
@@ -1,16 +1,17 @@
1
- import i, { useState as l, useCallback as r, useMemo as g } from "react";
2
- import { Loading as m } from "./loading.component.js";
1
+ import * as i from "react";
2
+ import { useState as l, useCallback as r, useMemo as m } from "react";
3
+ import { Loading as g } from "./loading.component.js";
3
4
  import { LoadingContext as u } from "./loading.context.js";
4
5
  function x({ children: c }) {
5
- const [e, t] = l(!1), [o, a] = l(!1), n = r((f = !1) => {
6
+ const [o, t] = l(!1), [e, a] = l(!1), n = r((f = !1) => {
6
7
  t(!0), a(f);
7
8
  }, []), s = r(() => {
8
9
  t(!1), a(!1);
9
- }, []), d = g(
10
- () => ({ isLoading: e, isGlobalLoading: o, showLoading: n, hideLoading: s }),
11
- [e, o, n, s]
10
+ }, []), d = m(
11
+ () => ({ isLoading: o, isGlobalLoading: e, showLoading: n, hideLoading: s }),
12
+ [o, e, n, s]
12
13
  );
13
- return /* @__PURE__ */ i.createElement(u, { value: d }, e ? /* @__PURE__ */ i.createElement(m, { full: o }) : c);
14
+ return /* @__PURE__ */ i.createElement(u, { value: d }, o ? /* @__PURE__ */ i.createElement(g, { full: e }) : c);
14
15
  }
15
16
  export {
16
17
  x as LoadingProvider
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("next-intl"),i=require("react"),m=require("./next-intl.constant.cjs"),p=require("./next-intl.hook.cjs"),I=require("../log/log.util.cjs");var N=Object.defineProperty,s=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,c=(r,e,t)=>e in r?N(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,w=(r,e)=>{for(var t in e||(e={}))y.call(e,t)&&c(r,t,e[t]);if(s)for(var t of s(e))P.call(e,t)&&c(r,t,e[t]);return r};function O(r){const e=t=>{var a,o;const{currentLanguage:n}=p.useNextIntl(),{messages:u,languages:g}=t,l="en",v=u[(n==null?void 0:n.value)||l],_=(o=(a=g.find(d=>d.value===(n==null?void 0:n.value)))==null?void 0:a.timezone)!=null?o:m.NEXT_INTL_DEFAULT_LANGUAGE.timezone;return u?i.createElement(f.NextIntlClientProvider,{locale:(n==null?void 0:n.value)||l,messages:v||null,timeZone:_},i.createElement(r,w({},t))):(I.log.warn(`Missing messages for language: ${(n==null?void 0:n.value)||l}`),null)};return e.displayName=`withNextIntl(${r.displayName||r.name||"Component"})`,e}exports.withNextIntl=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("next-intl"),v=require("react"),p=require("./next-intl.constant.cjs"),O=require("./next-intl.hook.cjs"),y=require("../log/log.util.cjs");function I(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const l=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,l.get?l:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const i=I(v);var N=Object.defineProperty,s=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,c=(n,e,t)=>e in n?N(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,w=(n,e)=>{for(var t in e||(e={}))P.call(e,t)&&c(n,t,e[t]);if(s)for(var t of s(e))b.call(e,t)&&c(n,t,e[t]);return n};function x(n){const e=t=>{var l,o;const{currentLanguage:r}=O.useNextIntl(),{messages:u,languages:f}=t,a="en",g=u[(r==null?void 0:r.value)||a],_=(o=(l=f.find(d=>d.value===(r==null?void 0:r.value)))==null?void 0:l.timezone)!=null?o:p.NEXT_INTL_DEFAULT_LANGUAGE.timezone;return u?i.createElement(m.NextIntlClientProvider,{locale:(r==null?void 0:r.value)||a,messages:g||null,timeZone:_},i.createElement(n,w({},t))):(y.log.warn(`Missing messages for language: ${(r==null?void 0:r.value)||a}`),null)};return e.displayName=`withNextIntl(${n.displayName||n.name||"Component"})`,e}exports.withNextIntl=x;
@@ -1,6 +1,7 @@
1
- import { ComponentType, default as React } from 'react';
1
+ import { ComponentType } from 'react';
2
2
  import { I_Children } from '../../typescript/index.js';
3
3
  import { I_NextIntlLanguage, T_NextIntlMessageList } from './next-intl.type.js';
4
+ import * as React from 'react';
4
5
  /**
5
6
  * Higher-Order Component (HOC) that wraps components with Next.js internationalization support.
6
7
  * This HOC provides internationalization capabilities to React components by wrapping them
@@ -1,32 +1,32 @@
1
1
  import { NextIntlClientProvider as g } from "next-intl";
2
- import u from "react";
2
+ import * as s from "react";
3
3
  import { NEXT_INTL_DEFAULT_LANGUAGE as _ } from "./next-intl.constant.js";
4
4
  import { useNextIntl as d } from "./next-intl.hook.js";
5
5
  import { log as N } from "../log/log.util.js";
6
- var P = Object.defineProperty, s = Object.getOwnPropertySymbols, w = Object.prototype.hasOwnProperty, y = Object.prototype.propertyIsEnumerable, m = (t, e, r) => e in t ? P(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, I = (t, e) => {
6
+ var P = Object.defineProperty, u = Object.getOwnPropertySymbols, w = Object.prototype.hasOwnProperty, y = Object.prototype.propertyIsEnumerable, m = (t, e, r) => e in t ? P(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, I = (t, e) => {
7
7
  for (var r in e || (e = {}))
8
8
  w.call(e, r) && m(t, r, e[r]);
9
- if (s)
10
- for (var r of s(e))
9
+ if (u)
10
+ for (var r of u(e))
11
11
  y.call(e, r) && m(t, r, e[r]);
12
12
  return t;
13
13
  };
14
- function b(t) {
14
+ function L(t) {
15
15
  const e = (r) => {
16
- var a, o;
17
- const { currentLanguage: n } = d(), { messages: i, languages: f } = r, l = "en", c = i[(n == null ? void 0 : n.value) || l], p = (o = (a = f.find((v) => v.value === (n == null ? void 0 : n.value))) == null ? void 0 : a.timezone) != null ? o : _.timezone;
18
- return i ? /* @__PURE__ */ u.createElement(
16
+ var l, o;
17
+ const { currentLanguage: n } = d(), { messages: i, languages: f } = r, a = "en", c = i[(n == null ? void 0 : n.value) || a], p = (o = (l = f.find((v) => v.value === (n == null ? void 0 : n.value))) == null ? void 0 : l.timezone) != null ? o : _.timezone;
18
+ return i ? /* @__PURE__ */ s.createElement(
19
19
  g,
20
20
  {
21
- locale: (n == null ? void 0 : n.value) || l,
21
+ locale: (n == null ? void 0 : n.value) || a,
22
22
  messages: c || null,
23
23
  timeZone: p
24
24
  },
25
- /* @__PURE__ */ u.createElement(t, I({}, r))
26
- ) : (N.warn(`Missing messages for language: ${(n == null ? void 0 : n.value) || l}`), null);
25
+ /* @__PURE__ */ s.createElement(t, I({}, r))
26
+ ) : (N.warn(`Missing messages for language: ${(n == null ? void 0 : n.value) || a}`), null);
27
27
  };
28
28
  return e.displayName = `withNextIntl(${t.displayName || t.name || "Component"})`, e;
29
29
  }
30
30
  export {
31
- b as withNextIntl
31
+ L as withNextIntl
32
32
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),l=require("./next-intl.constant.cjs"),c=require("./next-intl.context.cjs"),i=require("./next-intl.hoc.cjs"),s=require("../storage/storage.hook.cjs");function x({children:n}){return e.createElement(e.Fragment,null,n)}const g=i.withNextIntl(x);function I({children:n,languages:t,messages:u}){const{value:r,set:o}=s.useStorage("lang",t[0]),a=e.useMemo(()=>({languages:t,currentLanguage:r!=null?r:l.NEXT_INTL_DEFAULT_LANGUAGE,setCurrentLanguage:o}),[t,o,r]);return e.createElement(c.NextIntlContext,{value:a},e.createElement(g,{languages:t,messages:u},n))}exports.NextIntlProvider=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),l=require("./next-intl.constant.cjs"),i=require("./next-intl.context.cjs"),s=require("./next-intl.hoc.cjs"),g=require("../storage/storage.hook.cjs");function f(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const o=f(a);function p({children:e}){return o.createElement(o.Fragment,null,e)}const m=s.withNextIntl(p);function x({children:e,languages:t,messages:n}){const{value:r,set:u}=g.useStorage("lang",t[0]),c=a.useMemo(()=>({languages:t,currentLanguage:r!=null?r:l.NEXT_INTL_DEFAULT_LANGUAGE,setCurrentLanguage:u}),[t,u,r]);return o.createElement(i.NextIntlContext,{value:c},o.createElement(m,{languages:t,messages:n},e))}exports.NextIntlProvider=x;
@@ -1,5 +1,5 @@
1
- import { default as React } from 'react';
2
1
  import { I_NextIntlProviderProps } from './next-intl.type.js';
2
+ import * as React from 'react';
3
3
  /**
4
4
  * Provider component that manages Next.js internationalization state and provides i18n context.
5
5
  * This component sets up a complete internationalization system for Next.js applications,
@@ -1,4 +1,5 @@
1
- import t, { useMemo as u } from "react";
1
+ import * as t from "react";
2
+ import { useMemo as u } from "react";
2
3
  import { NEXT_INTL_DEFAULT_LANGUAGE as c } from "./next-intl.constant.js";
3
4
  import { NextIntlContext as l } from "./next-intl.context.js";
4
5
  import { withNextIntl as p } from "./next-intl.hoc.js";
@@ -10,13 +11,13 @@ const L = p(f);
10
11
  function I({
11
12
  children: r,
12
13
  languages: e,
13
- messages: a
14
+ messages: m
14
15
  }) {
15
- const { value: n, set: o } = i("lang", e[0]), m = u(
16
+ const { value: n, set: o } = i("lang", e[0]), a = u(
16
17
  () => ({ languages: e, currentLanguage: n != null ? n : c, setCurrentLanguage: o }),
17
18
  [e, o, n]
18
19
  );
19
- return /* @__PURE__ */ t.createElement(l, { value: m }, /* @__PURE__ */ t.createElement(L, { languages: e, messages: a }, r));
20
+ return /* @__PURE__ */ t.createElement(l, { value: a }, /* @__PURE__ */ t.createElement(L, { languages: e, messages: m }, r));
20
21
  }
21
22
  export {
22
23
  I as NextIntlProvider
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "2.25.0",
4
+ "version": "2.27.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",
@@ -198,6 +198,7 @@
198
198
  "public"
199
199
  ],
200
200
  "scripts": {
201
+ "ai:setup": "tsx src/node/cli/index.ts ai:setup",
201
202
  "build": "vite build",
202
203
  "commitlint": "tsx src/node/cli/index.ts commitlint",
203
204
  "dev": "vite build --watch",
@@ -212,21 +213,21 @@
212
213
  "test:unit": "tsx src/node/cli/index.ts test:unit"
213
214
  },
214
215
  "dependencies": {
215
- "@antfu/eslint-config": "6.7.3",
216
- "@apollo/client": "4.0.11",
217
- "@apollo/client-integration-nextjs": "0.14.3",
216
+ "@antfu/eslint-config": "7.1.0",
217
+ "@apollo/client": "4.1.0",
218
+ "@apollo/client-integration-nextjs": "0.14.4",
218
219
  "@apollo/server": "5.2.0",
219
220
  "@as-integrations/express5": "1.1.2",
220
221
  "@dotenvx/dotenvx": "1.51.4",
221
222
  "@eddeee888/gcg-typescript-resolver-files": "0.15.0",
222
- "@eslint-react/eslint-plugin": "2.5.1",
223
- "@graphql-codegen/cli": "6.1.0",
223
+ "@eslint-react/eslint-plugin": "2.7.2",
224
+ "@graphql-codegen/cli": "6.1.1",
224
225
  "@graphql-codegen/client-preset": "5.2.2",
225
- "@nestjs/common": "11.1.11",
226
- "@nestjs/core": "11.1.11",
226
+ "@nestjs/common": "11.1.12",
227
+ "@nestjs/core": "11.1.12",
227
228
  "@userback/widget": "0.3.12",
228
229
  "@vitejs/plugin-react-swc": "4.2.2",
229
- "body-parser": "2.2.1",
230
+ "body-parser": "2.2.2",
230
231
  "chalk": "5.6.2",
231
232
  "clsx": "2.1.1",
232
233
  "compression": "1.8.1",
@@ -235,7 +236,7 @@
235
236
  "cors": "2.8.5",
236
237
  "date-fns": "4.1.0",
237
238
  "envalid": "8.1.1",
238
- "eslint-plugin-format": "1.2.0",
239
+ "eslint-plugin-format": "1.3.1",
239
240
  "eslint-plugin-react-hooks": "7.0.1",
240
241
  "eslint-plugin-react-refresh": "0.4.26",
241
242
  "express": "5.2.1",
@@ -248,12 +249,12 @@
248
249
  "graphql-upload": "17.0.0",
249
250
  "graphql-ws": "6.0.6",
250
251
  "helmet": "8.1.0",
251
- "i18next": "25.7.3",
252
+ "i18next": "25.8.0",
252
253
  "jsdom": "27.4.0",
253
254
  "localforage": "1.10.0",
254
255
  "migrate-mongo": "14.0.7",
255
256
  "mongodb": "7.0.0",
256
- "mongoose": "9.1.2",
257
+ "mongoose": "9.1.5",
257
258
  "mongoose-aggregate-paginate-v2": "1.1.4",
258
259
  "mongoose-paginate-v2": "1.9.1",
259
260
  "next-intl": "4.7.0",
@@ -262,21 +263,21 @@
262
263
  "react": "19.2.3",
263
264
  "react-dom": "19.2.3",
264
265
  "react-hot-toast": "2.6.0",
265
- "react-i18next": "16.5.1",
266
+ "react-i18next": "16.5.3",
266
267
  "rxjs": "7.8.2",
267
- "vite": "7.3.0",
268
+ "vite": "7.3.1",
268
269
  "ws": "8.19.0",
269
270
  "yargs": "18.0.0"
270
271
  },
271
272
  "devDependencies": {
272
- "@commitlint/cli": "20.3.0",
273
- "@commitlint/config-conventional": "20.3.0",
273
+ "@commitlint/cli": "20.3.1",
274
+ "@commitlint/config-conventional": "20.3.1",
274
275
  "@eslint/config-inspector": "1.4.2",
275
- "@next/eslint-plugin-next": "16.1.1",
276
+ "@next/eslint-plugin-next": "16.1.4",
276
277
  "@storybook/react": "10.1.11",
277
278
  "@storybook/react-vite": "10.1.11",
278
279
  "@testing-library/jest-dom": "6.9.1",
279
- "@testing-library/react": "16.3.1",
280
+ "@testing-library/react": "16.3.2",
280
281
  "@types/body-parser": "1.19.6",
281
282
  "@types/compression": "1.8.1",
282
283
  "@types/cookie-parser": "1.4.10",
@@ -288,14 +289,14 @@
288
289
  "@types/fs-extra": "11.0.4",
289
290
  "@types/graphql-upload": "17.0.0",
290
291
  "@types/migrate-mongo": "10.0.6",
291
- "@types/node": "25.0.3",
292
- "@types/react": "19.2.7",
292
+ "@types/node": "25.0.9",
293
+ "@types/react": "19.2.9",
293
294
  "@types/react-dom": "19.2.3",
294
295
  "@types/ws": "8.18.1",
295
296
  "@types/yargs": "17.0.35",
296
- "@vitest/browser": "4.0.16",
297
+ "@vitest/browser": "4.0.17",
297
298
  "eslint": "9.39.2",
298
- "eslint-config-next": "16.1.1",
299
+ "eslint-config-next": "16.1.4",
299
300
  "glob": "13.0.0",
300
301
  "lint-staged": "16.2.7",
301
302
  "node-modules-inspector": "1.2.0",
@@ -304,9 +305,9 @@
304
305
  "simple-git-hooks": "2.13.1",
305
306
  "tsx": "4.21.0",
306
307
  "typescript": "5.9.3",
307
- "vite": "7.3.0",
308
+ "vite": "7.3.1",
308
309
  "vite-plugin-dts": "4.5.4",
309
- "vitest": "4.0.16"
310
+ "vitest": "4.0.17"
310
311
  },
311
312
  "publishConfig": {
312
313
  "access": "public",