@cyberskill/shared 1.215.0 → 1.217.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 (23) hide show
  1. package/dist/config/config.util.cjs +1 -1
  2. package/dist/config/config.util.js +22 -24
  3. package/dist/config/graphql-codegen/graphql-codegen.util.cjs +1 -1
  4. package/dist/config/graphql-codegen/graphql-codegen.util.js +2 -1
  5. package/dist/config/vitest/vitest.e2e.cjs +1 -1
  6. package/dist/config/vitest/vitest.e2e.js +1 -1
  7. package/dist/config/vitest/vitest.unit.cjs +1 -1
  8. package/dist/config/vitest/vitest.unit.js +1 -1
  9. package/dist/node/apollo-server/apollo-server.util.d.ts +1 -1
  10. package/dist/node/apollo-server/index.cjs +1 -1
  11. package/dist/node/apollo-server/index.js +1 -1
  12. package/dist/node/express/express.util.cjs +1 -1
  13. package/dist/node/express/express.util.js +9 -9
  14. package/dist/util/index.cjs +1 -1
  15. package/dist/util/index.js +14 -13
  16. package/dist/util/object/index.cjs +1 -1
  17. package/dist/util/object/index.js +5 -4
  18. package/dist/util/object/object.util.cjs +1 -1
  19. package/dist/util/object/object.util.d.ts +7 -0
  20. package/dist/util/object/object.util.js +30 -18
  21. package/package.json +19 -18
  22. /package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.13_@vitest_browser@3.2.4_jiti@2.4.2_j_cac3da623d5688a51c0b1a2270e144db → vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.14_@vitest_browser@3.2.4_jiti@2.4.2_j_5b4f3b6d03b5e1745ce439b75ce4a42f}/node_modules/vitest/dist/config.cjs +0 -0
  23. /package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.13_@vitest_browser@3.2.4_jiti@2.4.2_j_cac3da623d5688a51c0b1a2270e144db → vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.14_@vitest_browser@3.2.4_jiti@2.4.2_j_5b4f3b6d03b5e1745ce439b75ce4a42f}/node_modules/vitest/dist/config.js +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@antfu/eslint-config"),s=require("lodash-es"),i=require("./config.type.cjs"),y=require("./eslint/index.cjs"),E=require("./vitest/vitest.e2e.cjs"),m=require("./vitest/vitest.unit.cjs");var g=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,T=(e,n)=>{var t={};for(var r in e)p.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&g)for(var r of g(e))n.indexOf(r)<0&&u.call(e,r)&&(t[r]=e[r]);return t};const c=(...e)=>{const t=s.merge(y.default,...e.map(o=>o)),{ignores:r}=t,f=T(t,["ignores"]),a=Array.isArray(r)&&r.every(o=>typeof o=="string")?{ignores:r}:void 0,l=[f,...a?[a]:[]];return _({stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0},...l)},d={[i.E_ConfigType.ESLINT]:e=>c(e),[i.E_ConfigType.COMMITLINT]:e=>s.merge(e),[i.E_ConfigType.LINT_STAGED]:e=>s.merge(e),[i.E_ConfigType.VITEST_REACT_UNIT]:e=>m.vitestUnit(e),[i.E_ConfigType.VITEST_REACT_E2E]:e=>E.vitestE2E(e)};function v(e,...n){const t=d[e];if(!n||n.length===0)return t({});if(!t)throw new Error(`Unknown config type: ${e}`);return t(...n)}exports.mergeConfigs=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@antfu/eslint-config"),i=require("./config.type.cjs"),o=require("./eslint/index.cjs"),l=require("./vitest/vitest.e2e.cjs"),_=require("./vitest/vitest.unit.cjs"),a=require("../util/object/object.util.cjs");var s=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,p=(e,n)=>{var t={};for(var r in e)u.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&s)for(var r of s(e))n.indexOf(r)<0&&y.call(e,r)&&(t[r]=e[r]);return t};const E=(...e)=>{const t=a.deepMerge(...Array.isArray(o.default)?o.default:[o.default],...e),{ignores:r}=t,f=p(t,["ignores"]);return g({stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0},f,...Array.isArray(r)?[{ignores:r}]:[])},T={[i.E_ConfigType.ESLINT]:e=>E(e),[i.E_ConfigType.COMMITLINT]:e=>a.deepMerge(e),[i.E_ConfigType.LINT_STAGED]:e=>a.deepMerge(e),[i.E_ConfigType.VITEST_REACT_UNIT]:e=>_.vitestUnit(e),[i.E_ConfigType.VITEST_REACT_E2E]:e=>l.vitestE2E(e)};function d(e,...n){const t=T[e];if(!n||n.length===0)return t({});if(!t)throw new Error(`Unknown config type: ${e}`);return t(...n)}exports.mergeConfigs=d;
@@ -1,27 +1,24 @@
1
- import l from "@antfu/eslint-config";
2
- import { merge as a } from "lodash-es";
1
+ import m from "@antfu/eslint-config";
3
2
  import { E_ConfigType as o } from "./config.type.js";
4
- import p from "./eslint/index.js";
5
- import { vitestE2E as y } from "./vitest/vitest.e2e.js";
6
- import { vitestUnit as E } from "./vitest/vitest.unit.js";
7
- var f = Object.getOwnPropertySymbols, _ = Object.prototype.hasOwnProperty, T = Object.prototype.propertyIsEnumerable, v = (r, n) => {
3
+ import i from "./eslint/index.js";
4
+ import { vitestE2E as l } from "./vitest/vitest.e2e.js";
5
+ import { vitestUnit as p } from "./vitest/vitest.unit.js";
6
+ import { deepMerge as a } from "../util/object/object.util.js";
7
+ var f = Object.getOwnPropertySymbols, g = Object.prototype.hasOwnProperty, E = Object.prototype.propertyIsEnumerable, _ = (r, n) => {
8
8
  var e = {};
9
9
  for (var t in r)
10
- _.call(r, t) && n.indexOf(t) < 0 && (e[t] = r[t]);
10
+ g.call(r, t) && n.indexOf(t) < 0 && (e[t] = r[t]);
11
11
  if (r != null && f)
12
12
  for (var t of f(r))
13
- n.indexOf(t) < 0 && T.call(r, t) && (e[t] = r[t]);
13
+ n.indexOf(t) < 0 && E.call(r, t) && (e[t] = r[t]);
14
14
  return e;
15
15
  };
16
- const c = (...r) => {
16
+ const y = (...r) => {
17
17
  const e = a(
18
- p,
19
- ...r.map((i) => i)
20
- ), { ignores: t } = e, m = v(e, ["ignores"]), s = Array.isArray(t) && t.every((i) => typeof i == "string") ? { ignores: t } : void 0, g = [
21
- m,
22
- ...s ? [s] : []
23
- ];
24
- return l(
18
+ ...Array.isArray(i) ? i : [i],
19
+ ...r
20
+ ), { ignores: t } = e, s = _(e, ["ignores"]);
21
+ return m(
25
22
  {
26
23
  stylistic: {
27
24
  semi: !0,
@@ -36,17 +33,18 @@ const c = (...r) => {
36
33
  yaml: !1,
37
34
  react: !0
38
35
  },
39
- ...g
36
+ s,
37
+ ...Array.isArray(t) ? [{ ignores: t }] : []
40
38
  );
41
- }, d = {
42
- [o.ESLINT]: (r) => c(r),
39
+ }, T = {
40
+ [o.ESLINT]: (r) => y(r),
43
41
  [o.COMMITLINT]: (r) => a(r),
44
42
  [o.LINT_STAGED]: (r) => a(r),
45
- [o.VITEST_REACT_UNIT]: (r) => E(r),
46
- [o.VITEST_REACT_E2E]: (r) => y(r)
43
+ [o.VITEST_REACT_UNIT]: (r) => p(r),
44
+ [o.VITEST_REACT_E2E]: (r) => l(r)
47
45
  };
48
- function u(r, ...n) {
49
- const e = d[r];
46
+ function b(r, ...n) {
47
+ const e = T[r];
50
48
  if (!n || n.length === 0)
51
49
  return e({});
52
50
  if (!e)
@@ -54,5 +52,5 @@ function u(r, ...n) {
54
52
  return e(...n);
55
53
  }
56
54
  export {
57
- u as mergeConfigs
55
+ b as mergeConfigs
58
56
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@eddeee888/gcg-typescript-resolver-files"),l=require("../env/env.util.cjs");var u=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,a=(t,e,r)=>e in t?u(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,o=(t,e)=>{for(var r in e||(e={}))_.call(e,r)&&a(t,r,e[r]);if(i)for(var r of i(e))v.call(e,r)&&a(t,r,e[r]);return t},d=(t,e)=>f(t,g(e));l.loadEnvFile();function m({uri:t,from:e,to:r,target:n="client"}){const s=n==="client",p=n==="server";return d(o({schema:t,ignoreNoDocuments:!0,overwrite:!0},s&&{documents:[e]}),{generates:o(o({},s&&{[r]:{preset:"client",presetConfig:{fragmentMasking:!1,persistedDocuments:!0},config:{useTypeImports:!0}}}),p&&{[r]:c.defineConfig()})})}exports.createGraphqlCodegenConfig=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@eddeee888/gcg-typescript-resolver-files"),l=require("../env/env.util.cjs");var u=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,a=(t,e,r)=>e in t?u(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,n=(t,e)=>{for(var r in e||(e={}))_.call(e,r)&&a(t,r,e[r]);if(i)for(var r of i(e))v.call(e,r)&&a(t,r,e[r]);return t},d=(t,e)=>f(t,g(e));l.loadEnvFile();function m({uri:t,from:e,to:r,target:o="client"}){const s=o==="client",p=o==="server";return d(n({schema:t,ignoreNoDocuments:!0,overwrite:!0},s&&{documents:[e]}),{generates:n(n({},s&&{[r]:{preset:"client",presetConfig:{fragmentMasking:!1,persistedDocuments:!0},config:{useTypeImports:!0,namingConvention:"keep"}}}),p&&{[r]:c.defineConfig()})})}exports.createGraphqlCodegenConfig=m;
@@ -29,7 +29,8 @@ function P({
29
29
  persistedDocuments: !0
30
30
  },
31
31
  config: {
32
- useTypeImports: !0
32
+ useTypeImports: !0,
33
+ namingConvention: "keep"
33
34
  }
34
35
  }
35
36
  }), a && {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@vitejs/plugin-react-swc"),i=require("lodash-es"),o=require("../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.13_@vitest_browser@3.2.4_jiti@2.4.2_j_cac3da623d5688a51c0b1a2270e144db/node_modules/vitest/dist/config.cjs");function s(e){const r={plugins:[t()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}};return o.defineConfig(i.merge(r,e))}exports.vitestE2E=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@vitejs/plugin-react-swc"),i=require("lodash-es"),o=require("../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.14_@vitest_browser@3.2.4_jiti@2.4.2_j_5b4f3b6d03b5e1745ce439b75ce4a42f/node_modules/vitest/dist/config.cjs");function s(e){const r={plugins:[t()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}};return o.defineConfig(i.merge(r,e))}exports.vitestE2E=s;
@@ -1,6 +1,6 @@
1
1
  import t from "@vitejs/plugin-react-swc";
2
2
  import { merge as o } from "lodash-es";
3
- import { defineConfig as i } from "../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.13_@vitest_browser@3.2.4_jiti@2.4.2_j_cac3da623d5688a51c0b1a2270e144db/node_modules/vitest/dist/config.js";
3
+ import { defineConfig as i } from "../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.14_@vitest_browser@3.2.4_jiti@2.4.2_j_5b4f3b6d03b5e1745ce439b75ce4a42f/node_modules/vitest/dist/config.js";
4
4
  function f(r) {
5
5
  const e = {
6
6
  plugins: [t()],
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@vitejs/plugin-react-swc"),n=require("lodash-es"),s=require("../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.13_@vitest_browser@3.2.4_jiti@2.4.2_j_cac3da623d5688a51c0b1a2270e144db/node_modules/vitest/dist/config.cjs");function r(e){const t={plugins:[i()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:["./vitest.unit.setup.ts"]}};return s.defineConfig(n.merge(t,e))}exports.vitestUnit=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@vitejs/plugin-react-swc"),n=require("lodash-es"),s=require("../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.14_@vitest_browser@3.2.4_jiti@2.4.2_j_5b4f3b6d03b5e1745ce439b75ce4a42f/node_modules/vitest/dist/config.cjs");function r(e){const t={plugins:[i()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:["./vitest.unit.setup.ts"]}};return s.defineConfig(n.merge(t,e))}exports.vitestUnit=r;
@@ -1,6 +1,6 @@
1
1
  import i from "@vitejs/plugin-react-swc";
2
2
  import { merge as o } from "lodash-es";
3
- import { defineConfig as n } from "../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.13_@vitest_browser@3.2.4_jiti@2.4.2_j_cac3da623d5688a51c0b1a2270e144db/node_modules/vitest/dist/config.js";
3
+ import { defineConfig as n } from "../../node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.0.14_@vitest_browser@3.2.4_jiti@2.4.2_j_5b4f3b6d03b5e1745ce439b75ce4a42f/node_modules/vitest/dist/config.js";
4
4
  function u(t) {
5
5
  const e = {
6
6
  plugins: [i()],
@@ -1,5 +1,5 @@
1
1
  import { ApolloServer } from '@apollo/server';
2
- import { expressMiddleware } from '@apollo/server/express4';
2
+ import { expressMiddleware } from '@as-integrations/express5';
3
3
  import { I_ApolloServerOptions } from './apollo-server.type.js';
4
4
  export declare function createApolloServer(options: I_ApolloServerOptions): ApolloServer;
5
5
  export { expressMiddleware };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./apollo-server.util.cjs"),r=require("@apollo/server/express4");exports.createApolloServer=e.createApolloServer;Object.defineProperty(exports,"expressMiddleware",{enumerable:!0,get:()=>r.expressMiddleware});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./apollo-server.util.cjs"),r=require("@as-integrations/express5");exports.createApolloServer=e.createApolloServer;Object.defineProperty(exports,"expressMiddleware",{enumerable:!0,get:()=>r.expressMiddleware});
@@ -1,5 +1,5 @@
1
1
  import { createApolloServer as o } from "./apollo-server.util.js";
2
- import { expressMiddleware as l } from "@apollo/server/express4";
2
+ import { expressMiddleware as l } from "@as-integrations/express5";
3
3
  export {
4
4
  o as createApolloServer,
5
5
  l as expressMiddleware
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("@nestjs/core"),P=require("compression"),h=require("cookie-parser"),m=require("cors"),c=require("express"),q=require("express-session"),x=require("express-useragent"),b=require("graphql-upload/graphqlUploadExpress.mjs");var g=Object.defineProperty,l=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,p=(e,r,t)=>r in e?g(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,S=(e,r)=>{for(var t in r||(r={}))d.call(r,t)&&p(e,t,r[t]);if(l)for(var t of l(r))v.call(r,t)&&p(e,t,r[t]);return e},E=(e,r)=>{var t={};for(var s in e)d.call(e,s)&&r.indexOf(s)<0&&(t[s]=e[s]);if(e!=null&&l)for(var s of l(e))r.indexOf(s)<0&&v.call(e,s)&&(t[s]=e[s]);return t},C=(e,r,t)=>new Promise((s,a)=>{var i=n=>{try{o(t.next(n))}catch(f){a(f)}},u=n=>{try{o(t.throw(n))}catch(f){a(f)}},o=n=>n.done?s(n.value):Promise.resolve(n.value).then(i,u);o((t=t.apply(e,r)).next())});function y(e){var r=e,{isDev:t,whiteList:s}=r,a=E(r,["isDev","whiteList"]);return S({origin:(i,u)=>{t||!i||s!=null&&s.includes(i!=null?i:"")?u(null,!0):u(new Error("Not allowed by CORS"),!1)},credentials:!0},a)}function N(e){return m(y(e))}function j(e){return q(e)}function _(e){e.set("trust proxy",1),e.use(h()),e.use(c.urlencoded({extended:!0})),e.use(P()),e.use(x.express())}function O(e,r){r&&(Array.isArray(r)?r:[r]).forEach(s=>{e.use(c.static(s))})}function A(e){const r=c();return _(r),O(r,e==null?void 0:e.static),r.use(b()),r}function I(e){return C(this,null,function*(){const r=yield w.NestFactory.create(e.module);return _(r.getHttpAdapter().getInstance()),O(r.getHttpAdapter().getInstance(),e.static),e.filters&&r.useGlobalFilters(...e.filters),e.pipes&&r.useGlobalPipes(...e.pipes),r})}exports.express=c;exports.createCors=N;exports.createCorsOptions=y;exports.createExpress=A;exports.createNest=I;exports.createSession=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("@nestjs/core"),P=require("compression"),h=require("cookie-parser"),m=require("cors"),c=require("express"),q=require("express-session"),x=require("express-useragent"),b=require("graphql-upload/graphqlUploadExpress.mjs");var g=Object.defineProperty,l=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,p=(e,r,t)=>r in e?g(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,S=(e,r)=>{for(var t in r||(r={}))v.call(r,t)&&p(e,t,r[t]);if(l)for(var t of l(r))d.call(r,t)&&p(e,t,r[t]);return e},E=(e,r)=>{var t={};for(var s in e)v.call(e,s)&&r.indexOf(s)<0&&(t[s]=e[s]);if(e!=null&&l)for(var s of l(e))r.indexOf(s)<0&&d.call(e,s)&&(t[s]=e[s]);return t},C=(e,r,t)=>new Promise((s,a)=>{var i=n=>{try{o(t.next(n))}catch(f){a(f)}},u=n=>{try{o(t.throw(n))}catch(f){a(f)}},o=n=>n.done?s(n.value):Promise.resolve(n.value).then(i,u);o((t=t.apply(e,r)).next())});function y(e){var r=e,{isDev:t,whiteList:s}=r,a=E(r,["isDev","whiteList"]);return S({origin:(i,u)=>{t||!i||s!=null&&s.includes(i!=null?i:"")?u(null,!0):u(new Error("Not allowed by CORS"),!1)},credentials:!0},a)}function N(e){return m(y(e))}function j(e){return q(e)}function _(e){e.set("trust proxy",1),e.use(h()),e.use(c.urlencoded({extended:!0})),e.use(P()),e.use(x.express())}function O(e,r){r&&(Array.isArray(r)?r:[r]).forEach(s=>{e.use(`/${s}`,c.static(s))})}function A(e){const r=c();return _(r),O(r,e==null?void 0:e.static),r.use(b()),r}function I(e){return C(this,null,function*(){const r=yield w.NestFactory.create(e.module);return _(r.getHttpAdapter().getInstance()),O(r.getHttpAdapter().getInstance(),e.static),e.filters&&r.useGlobalFilters(...e.filters),e.pipes&&r.useGlobalPipes(...e.pipes),r})}exports.express=c;exports.createCors=N;exports.createCorsOptions=y;exports.createExpress=A;exports.createNest=I;exports.createSession=j;
@@ -3,16 +3,16 @@ import w from "compression";
3
3
  import O from "cookie-parser";
4
4
  import h from "cors";
5
5
  import c from "express";
6
- import { default as F } from "express";
6
+ import { default as B } from "express";
7
7
  import P from "express-session";
8
8
  import x from "express-useragent";
9
9
  import b from "graphql-upload/graphqlUploadExpress.mjs";
10
- var g = Object.defineProperty, l = Object.getOwnPropertySymbols, m = Object.prototype.hasOwnProperty, d = Object.prototype.propertyIsEnumerable, p = (e, r, t) => r in e ? g(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, E = (e, r) => {
10
+ var g = Object.defineProperty, l = Object.getOwnPropertySymbols, m = Object.prototype.hasOwnProperty, v = Object.prototype.propertyIsEnumerable, p = (e, r, t) => r in e ? g(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, E = (e, r) => {
11
11
  for (var t in r || (r = {}))
12
12
  m.call(r, t) && p(e, t, r[t]);
13
13
  if (l)
14
14
  for (var t of l(r))
15
- d.call(r, t) && p(e, t, r[t]);
15
+ v.call(r, t) && p(e, t, r[t]);
16
16
  return e;
17
17
  }, S = (e, r) => {
18
18
  var t = {};
@@ -20,7 +20,7 @@ var g = Object.defineProperty, l = Object.getOwnPropertySymbols, m = Object.prot
20
20
  m.call(e, s) && r.indexOf(s) < 0 && (t[s] = e[s]);
21
21
  if (e != null && l)
22
22
  for (var s of l(e))
23
- r.indexOf(s) < 0 && d.call(e, s) && (t[s] = e[s]);
23
+ r.indexOf(s) < 0 && v.call(e, s) && (t[s] = e[s]);
24
24
  return t;
25
25
  }, A = (e, r, t) => new Promise((s, a) => {
26
26
  var i = (n) => {
@@ -53,22 +53,22 @@ function q(e) {
53
53
  function M(e) {
54
54
  return P(e);
55
55
  }
56
- function v(e) {
56
+ function d(e) {
57
57
  e.set("trust proxy", 1), e.use(O()), e.use(c.urlencoded({ extended: !0 })), e.use(w()), e.use(x.express());
58
58
  }
59
59
  function _(e, r) {
60
60
  r && (Array.isArray(r) ? r : [r]).forEach((s) => {
61
- e.use(c.static(s));
61
+ e.use(`/${s}`, c.static(s));
62
62
  });
63
63
  }
64
64
  function U(e) {
65
65
  const r = c();
66
- return v(r), _(r, e == null ? void 0 : e.static), r.use(b()), r;
66
+ return d(r), _(r, e == null ? void 0 : e.static), r.use(b()), r;
67
67
  }
68
68
  function V(e) {
69
69
  return A(this, null, function* () {
70
70
  const r = yield y.create(e.module);
71
- return v(r.getHttpAdapter().getInstance()), _(r.getHttpAdapter().getInstance(), e.static), e.filters && r.useGlobalFilters(...e.filters), e.pipes && r.useGlobalPipes(...e.pipes), r;
71
+ return d(r.getHttpAdapter().getInstance()), _(r.getHttpAdapter().getInstance(), e.static), e.filters && r.useGlobalFilters(...e.filters), e.pipes && r.useGlobalPipes(...e.pipes), r;
72
72
  });
73
73
  }
74
74
  export {
@@ -77,5 +77,5 @@ export {
77
77
  U as createExpress,
78
78
  V as createNest,
79
79
  M as createSession,
80
- F as express
80
+ B as express
81
81
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./common/common.util.cjs"),t=require("./object/object.util.cjs"),a=require("./serializer/serializer.util.cjs"),e=require("./string/string.util.cjs"),i=require("./validate/validate.util.cjs");exports.mapEnvironment=r.mapEnvironment;exports.regexSearchMapper=r.regexSearchMapper;exports.removeAccent=r.removeAccent;exports.uniqueArray=r.uniqueArray;exports.getNestedValue=t.getNestedValue;exports.isJSON=t.isJSON;exports.setNestedValue=t.setNestedValue;exports.serializer=a.serializer;exports.generateRandomPassword=e.generateRandomPassword;exports.generateShortId=e.generateShortId;exports.generateSlug=e.generateSlug;exports.getFileName=e.getFileName;exports.substringBetween=e.substringBetween;exports.validate=i.validate;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./common/common.util.cjs"),t=require("./object/object.util.cjs"),a=require("./serializer/serializer.util.cjs"),e=require("./string/string.util.cjs"),i=require("./validate/validate.util.cjs");exports.mapEnvironment=r.mapEnvironment;exports.regexSearchMapper=r.regexSearchMapper;exports.removeAccent=r.removeAccent;exports.uniqueArray=r.uniqueArray;exports.deepMerge=t.deepMerge;exports.getNestedValue=t.getNestedValue;exports.isJSON=t.isJSON;exports.setNestedValue=t.setNestedValue;exports.serializer=a.serializer;exports.generateRandomPassword=e.generateRandomPassword;exports.generateShortId=e.generateShortId;exports.generateSlug=e.generateSlug;exports.getFileName=e.getFileName;exports.substringBetween=e.substringBetween;exports.validate=i.validate;
@@ -1,21 +1,22 @@
1
1
  import { mapEnvironment as t, regexSearchMapper as a, removeAccent as o, uniqueArray as n } from "./common/common.util.js";
2
- import { getNestedValue as s, isJSON as g, setNestedValue as i } from "./object/object.util.js";
3
- import { serializer as d } from "./serializer/serializer.util.js";
4
- import { generateRandomPassword as u, generateShortId as x, generateSlug as f, getFileName as N, substringBetween as S } from "./string/string.util.js";
5
- import { validate as v } from "./validate/validate.util.js";
2
+ import { deepMerge as g, getNestedValue as p, isJSON as s, setNestedValue as i } from "./object/object.util.js";
3
+ import { serializer as l } from "./serializer/serializer.util.js";
4
+ import { generateRandomPassword as x, generateShortId as f, generateSlug as N, getFileName as S, substringBetween as c } from "./string/string.util.js";
5
+ import { validate as h } from "./validate/validate.util.js";
6
6
  export {
7
- u as generateRandomPassword,
8
- x as generateShortId,
9
- f as generateSlug,
10
- N as getFileName,
11
- s as getNestedValue,
12
- g as isJSON,
7
+ g as deepMerge,
8
+ x as generateRandomPassword,
9
+ f as generateShortId,
10
+ N as generateSlug,
11
+ S as getFileName,
12
+ p as getNestedValue,
13
+ s as isJSON,
13
14
  t as mapEnvironment,
14
15
  a as regexSearchMapper,
15
16
  o as removeAccent,
16
- d as serializer,
17
+ l as serializer,
17
18
  i as setNestedValue,
18
- S as substringBetween,
19
+ c as substringBetween,
19
20
  n as uniqueArray,
20
- v as validate
21
+ h as validate
21
22
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./object.util.cjs");exports.getNestedValue=e.getNestedValue;exports.isJSON=e.isJSON;exports.setNestedValue=e.setNestedValue;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./object.util.cjs");exports.deepMerge=e.deepMerge;exports.getNestedValue=e.getNestedValue;exports.isJSON=e.isJSON;exports.setNestedValue=e.setNestedValue;
@@ -1,6 +1,7 @@
1
- import { getNestedValue as s, isJSON as N, setNestedValue as a } from "./object.util.js";
1
+ import { deepMerge as s, getNestedValue as d, isJSON as r, setNestedValue as N } from "./object.util.js";
2
2
  export {
3
- s as getNestedValue,
4
- N as isJSON,
5
- a as setNestedValue
3
+ s as deepMerge,
4
+ d as getNestedValue,
5
+ r as isJSON,
6
+ N as setNestedValue
6
7
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var l=Object.defineProperty,c=Object.defineProperties,_=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,a=(r,e,t)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,i=(r,e)=>{for(var t in e||(e={}))d.call(e,t)&&a(r,t,e[t]);if(u)for(var t of u(e))O.call(e,t)&&a(r,t,e[t]);return r},p=(r,e)=>c(r,_(e));function P(r){try{return JSON.parse(r),!0}catch(e){return!1}}function g(r,e){return e.reduce((t,n)=>{if(t&&typeof t=="object"&&n in t)return t[n]},r)}function f(r,e,t){if(e.length===0)return r;const[n,...s]=e;if(s.length===0)return p(i({},r),{[n]:t});const o=r[n];return p(i({},r),{[n]:f(typeof o=="object"&&o!==null?o:{},s,t)})}exports.getNestedValue=g;exports.isJSON=P;exports.setNestedValue=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("lodash-es");var l=Object.defineProperty,d=Object.defineProperties,y=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,a=(e,r,t)=>r in e?l(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))_.call(r,t)&&a(e,t,r[t]);if(u)for(var t of u(r))O.call(r,t)&&a(e,t,r[t]);return e},f=(e,r)=>d(e,y(r));function P(e){try{return JSON.parse(e),!0}catch(r){return!1}}function g(e,r){return r.reduce((t,n)=>{if(t&&typeof t=="object"&&n in t)return t[n]},e)}function c(e,r,t){if(r.length===0)return e;const[n,...i]=r;if(i.length===0)return f(p({},e),{[n]:t});const s=e[n];return f(p({},e),{[n]:c(typeof s=="object"&&s!==null?s:{},i,t)})}function v(...e){if(e.every(o.isArray))return[].concat(...e);if(e.every(o.isPlainObject))return o.mergeWith({},...e,(r,t)=>{if(o.isArray(r)&&o.isArray(t))return r.concat(t)});throw new Error("deepMerge: All arguments must be either arrays or objects of the same type.")}exports.deepMerge=v;exports.getNestedValue=g;exports.isJSON=P;exports.setNestedValue=c;
@@ -20,3 +20,10 @@ export declare function getNestedValue<T>(obj: T, path: (string | number)[]): un
20
20
  * @returns The updated object.
21
21
  */
22
22
  export declare function setNestedValue<T>(obj: T, path: (string | number)[], value: unknown): T;
23
+ /**
24
+ * Deep merges multiple objects or arrays into a single object or array.
25
+ * If all arguments are arrays, concatenates them.
26
+ * If all are objects, deeply merges (concatenating arrays within objects).
27
+ * Throws if mixed types.
28
+ */
29
+ export declare function deepMerge<T = unknown>(...args: T[]): T;
@@ -1,43 +1,55 @@
1
- var i = Object.defineProperty, _ = Object.defineProperties, l = Object.getOwnPropertyDescriptors, p = Object.getOwnPropertySymbols, c = Object.prototype.hasOwnProperty, O = Object.prototype.propertyIsEnumerable, u = (e, r, t) => r in e ? i(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, a = (e, r) => {
1
+ import { isArray as i, isPlainObject as c, mergeWith as l } from "lodash-es";
2
+ var _ = Object.defineProperty, O = Object.defineProperties, d = Object.getOwnPropertyDescriptors, s = Object.getOwnPropertySymbols, y = Object.prototype.hasOwnProperty, P = Object.prototype.propertyIsEnumerable, u = (e, r, t) => r in e ? _(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, f = (e, r) => {
2
3
  for (var t in r || (r = {}))
3
- c.call(r, t) && u(e, t, r[t]);
4
- if (p)
5
- for (var t of p(r))
6
- O.call(r, t) && u(e, t, r[t]);
4
+ y.call(r, t) && u(e, t, r[t]);
5
+ if (s)
6
+ for (var t of s(r))
7
+ P.call(r, t) && u(e, t, r[t]);
7
8
  return e;
8
- }, f = (e, r) => _(e, l(r));
9
- function P(e) {
9
+ }, a = (e, r) => O(e, d(r));
10
+ function g(e) {
10
11
  try {
11
12
  return JSON.parse(e), !0;
12
13
  } catch (r) {
13
14
  return !1;
14
15
  }
15
16
  }
16
- function v(e, r) {
17
+ function h(e, r) {
17
18
  return r.reduce((t, n) => {
18
19
  if (t && typeof t == "object" && n in t)
19
20
  return t[n];
20
21
  }, e);
21
22
  }
22
- function d(e, r, t) {
23
+ function m(e, r, t) {
23
24
  if (r.length === 0)
24
25
  return e;
25
- const [n, ...s] = r;
26
- if (s.length === 0)
27
- return f(a({}, e), {
26
+ const [n, ...p] = r;
27
+ if (p.length === 0)
28
+ return a(f({}, e), {
28
29
  [n]: t
29
30
  });
30
31
  const o = e[n];
31
- return f(a({}, e), {
32
- [n]: d(
32
+ return a(f({}, e), {
33
+ [n]: m(
33
34
  typeof o == "object" && o !== null ? o : {},
34
- s,
35
+ p,
35
36
  t
36
37
  )
37
38
  });
38
39
  }
40
+ function w(...e) {
41
+ if (e.every(i))
42
+ return [].concat(...e);
43
+ if (e.every(c))
44
+ return l({}, ...e, (r, t) => {
45
+ if (i(r) && i(t))
46
+ return r.concat(t);
47
+ });
48
+ throw new Error("deepMerge: All arguments must be either arrays or objects of the same type.");
49
+ }
39
50
  export {
40
- v as getNestedValue,
41
- P as isJSON,
42
- d as setNestedValue
51
+ w as deepMerge,
52
+ h as getNestedValue,
53
+ g as isJSON,
54
+ m as setNestedValue
43
55
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "1.215.0",
4
+ "version": "1.217.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",
@@ -206,24 +206,25 @@
206
206
  "test:unit": "tsx src/node/cli/index.ts test:unit"
207
207
  },
208
208
  "dependencies": {
209
- "@antfu/eslint-config": "4.16.2",
209
+ "@antfu/eslint-config": "4.17.0",
210
210
  "@apollo/client": "3.13.8",
211
211
  "@apollo/client-integration-nextjs": "0.12.2",
212
- "@apollo/server": "4.12.2",
213
- "@dotenvx/dotenvx": "1.47.5",
212
+ "@apollo/server": "5.0.0",
213
+ "@as-integrations/express5": "1.1.2",
214
+ "@dotenvx/dotenvx": "1.48.0",
214
215
  "@eddeee888/gcg-typescript-resolver-files": "0.12.1",
215
216
  "@eslint-react/eslint-plugin": "1.52.3",
216
217
  "@graphql-codegen/cli": "5.0.7",
217
218
  "@graphql-codegen/client-preset": "4.8.3",
218
- "@nestjs/common": "11.1.3",
219
- "@nestjs/core": "11.1.3",
219
+ "@nestjs/common": "11.1.5",
220
+ "@nestjs/core": "11.1.5",
220
221
  "@userback/widget": "0.3.11",
221
- "@vitejs/plugin-react-swc": "3.10.2",
222
+ "@vitejs/plugin-react-swc": "3.11.0",
222
223
  "apollo-upload-client": "18.0.1",
223
224
  "body-parser": "2.2.0",
224
225
  "chalk": "5.4.1",
225
226
  "clsx": "2.1.1",
226
- "compression": "1.8.0",
227
+ "compression": "1.8.1",
227
228
  "consola": "3.4.2",
228
229
  "cookie-parser": "1.4.7",
229
230
  "cors": "2.8.5",
@@ -233,21 +234,21 @@
233
234
  "eslint-plugin-format": "1.0.1",
234
235
  "eslint-plugin-react-hooks": "5.2.0",
235
236
  "eslint-plugin-react-refresh": "0.4.20",
236
- "express": "4.21.2",
237
- "express-session": "1.18.1",
237
+ "express": "5.1.0",
238
+ "express-session": "1.18.2",
238
239
  "express-useragent": "1.0.15",
239
240
  "fs-extra": "11.3.0",
240
241
  "globals": "16.3.0",
241
242
  "graphql": "16.11.0",
242
243
  "graphql-upload": "17.0.0",
243
- "graphql-ws": "6.0.5",
244
+ "graphql-ws": "6.0.6",
244
245
  "i18next": "25.3.2",
245
246
  "jsdom": "26.1.0",
246
247
  "localforage": "1.10.0",
247
248
  "lodash-es": "4.17.21",
248
249
  "migrate-mongo": "12.1.3",
249
250
  "mongodb": "6.17.0",
250
- "mongoose": "8.16.3",
251
+ "mongoose": "8.16.4",
251
252
  "mongoose-aggregate-paginate-v2": "1.1.4",
252
253
  "mongoose-paginate-v2": "1.9.1",
253
254
  "next-intl": "4.3.4",
@@ -261,7 +262,7 @@
261
262
  "slugify": "1.6.6",
262
263
  "unorm": "1.6.0",
263
264
  "uuid": "11.1.0",
264
- "vite": "7.0.4",
265
+ "vite": "7.0.5",
265
266
  "ws": "8.18.3",
266
267
  "yargs": "18.0.0"
267
268
  },
@@ -269,7 +270,7 @@
269
270
  "@commitlint/cli": "19.8.1",
270
271
  "@commitlint/config-conventional": "19.8.1",
271
272
  "@eslint/config-inspector": "1.1.0",
272
- "@next/eslint-plugin-next": "15.3.5",
273
+ "@next/eslint-plugin-next": "15.4.1",
273
274
  "@testing-library/jest-dom": "6.6.3",
274
275
  "@testing-library/react": "16.3.0",
275
276
  "@types/apollo-upload-client": "18.0.0",
@@ -278,14 +279,14 @@
278
279
  "@types/cookie-parser": "1.4.9",
279
280
  "@types/cors": "2.8.19",
280
281
  "@types/crypto-js": "4.2.2",
281
- "@types/express": "4.17.21",
282
+ "@types/express": "5.0.3",
282
283
  "@types/express-session": "1.18.2",
283
284
  "@types/express-useragent": "1.0.5",
284
285
  "@types/fs-extra": "11.0.4",
285
286
  "@types/graphql-upload": "17.0.0",
286
287
  "@types/lodash-es": "4.17.12",
287
288
  "@types/migrate-mongo": "10.0.5",
288
- "@types/node": "24.0.13",
289
+ "@types/node": "24.0.14",
289
290
  "@types/node-persist": "3.1.8",
290
291
  "@types/react": "19.1.8",
291
292
  "@types/react-dom": "19.1.6",
@@ -295,7 +296,7 @@
295
296
  "@types/yargs": "17.0.33",
296
297
  "@vitest/browser": "3.2.4",
297
298
  "eslint": "9.31.0",
298
- "eslint-config-next": "15.3.5",
299
+ "eslint-config-next": "15.4.1",
299
300
  "glob": "11.0.3",
300
301
  "lint-staged": "16.1.2",
301
302
  "node-modules-inspector": "1.0.0",
@@ -303,7 +304,7 @@
303
304
  "simple-git-hooks": "2.13.0",
304
305
  "tsx": "4.20.3",
305
306
  "typescript": "5.8.3",
306
- "vite": "7.0.4",
307
+ "vite": "7.0.5",
307
308
  "vite-plugin-dts": "4.5.4",
308
309
  "vitest": "3.2.4"
309
310
  },