@cyberskill/shared 2.17.0 → 2.19.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.
- package/dist/config/eslint/index.d.ts +8 -0
- package/dist/config/vitest/vitest.e2e.cjs +1 -1
- package/dist/config/vitest/vitest.e2e.js +1 -1
- package/dist/config/vitest/vitest.unit.cjs +1 -1
- package/dist/config/vitest/vitest.unit.js +1 -1
- package/dist/node/mongo/mongo.util.cjs +1 -1
- package/dist/node/mongo/mongo.util.js +5 -7
- package/dist/react/apollo-client/apollo-client.type.d.ts +1 -1
- package/dist/style.css +1 -1
- package/package.json +53 -53
- /package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_debug@4.1.12_@types_node@24.3.0_@vitest_browser@3.2.4_jiti@2.5.1_js_bae9c6abdb9bf325bd1b44dc7dc11e13 → vitest@4.0.6_@types_debug@4.1.12_@types_node@24.9.2_jiti@2.6.1_jsdom@27.1.0_sass@1.93.3_tsx@4.20.6_yaml@2.8.1}/node_modules/vitest/dist/config.cjs +0 -0
- /package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_debug@4.1.12_@types_node@24.3.0_@vitest_browser@3.2.4_jiti@2.5.1_js_bae9c6abdb9bf325bd1b44dc7dc11e13 → vitest@4.0.6_@types_debug@4.1.12_@types_node@24.9.2_jiti@2.6.1_jsdom@27.1.0_sass@1.93.3_tsx@4.20.6_yaml@2.8.1}/node_modules/vitest/dist/config.js +0 -0
|
@@ -134,6 +134,9 @@ declare const _default: {
|
|
|
134
134
|
CSSFontFaceRule: false;
|
|
135
135
|
CSSFontFeatureValuesRule: false;
|
|
136
136
|
CSSFontPaletteValuesRule: false;
|
|
137
|
+
CSSFunctionDeclarations: false;
|
|
138
|
+
CSSFunctionDescriptors: false;
|
|
139
|
+
CSSFunctionRule: false;
|
|
137
140
|
CSSGroupingRule: false;
|
|
138
141
|
CSSImageValue: false;
|
|
139
142
|
CSSImportRule: false;
|
|
@@ -870,6 +873,11 @@ declare const _default: {
|
|
|
870
873
|
SnapEvent: false;
|
|
871
874
|
SourceBuffer: false;
|
|
872
875
|
SourceBufferList: false;
|
|
876
|
+
SpeechGrammar: false;
|
|
877
|
+
SpeechGrammarList: false;
|
|
878
|
+
SpeechRecognition: false;
|
|
879
|
+
SpeechRecognitionErrorEvent: false;
|
|
880
|
+
SpeechRecognitionEvent: false;
|
|
873
881
|
speechSynthesis: false;
|
|
874
882
|
SpeechSynthesis: false;
|
|
875
883
|
SpeechSynthesisErrorEvent: false;
|
|
@@ -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@
|
|
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@4.0.6_@types_debug@4.1.12_@types_node@24.9.2_jiti@2.6.1_jsdom@27.1.0_sass@1.93.3_tsx@4.20.6_yaml@2.8.1/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
|
+
import { defineConfig as i } from "../../node_modules/.pnpm/vitest@4.0.6_@types_debug@4.1.12_@types_node@24.9.2_jiti@2.6.1_jsdom@27.1.0_sass@1.93.3_tsx@4.20.6_yaml@2.8.1/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@
|
|
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@4.0.6_@types_debug@4.1.12_@types_node@24.9.2_jiti@2.6.1_jsdom@27.1.0_sass@1.93.3_tsx@4.20.6_yaml@2.8.1/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
|
+
import { defineConfig as n } from "../../node_modules/.pnpm/vitest@4.0.6_@types_debug@4.1.12_@types_node@24.9.2_jiti@2.6.1_jsdom@27.1.0_sass@1.93.3_tsx@4.20.6_yaml@2.8.1/node_modules/vitest/dist/config.js";
|
|
4
4
|
function u(t) {
|
|
5
5
|
const e = {
|
|
6
6
|
plugins: [i()],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("lodash-es"),J=require("migrate-mongo"),X=require("mongoose-aggregate-paginate-v2"),Y=require("mongoose-paginate-v2"),k=require("uuid"),Z=require("./mongo.constant.cjs"),F=require("../../util/object/object.util.cjs"),tt=require("../../util/common/common.util.cjs"),$=require("../fs/fs.util.cjs"),T=require("../path/path.constant.cjs"),et=require("../../util/validate/validate.util.cjs"),C=require("../../util/string/string.util.cjs"),V=require("../../constant/response-status.cjs"),N=require("../log/log.util.cjs");var rt=Object.defineProperty,st=Object.defineProperties,nt=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,L=(n,e,t)=>e in n?rt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,A=(n,e)=>{for(var t in e||(e={}))it.call(e,t)&&L(n,t,e[t]);if(B)for(var t of B(e))ot.call(e,t)&&L(n,t,e[t]);return n},x=(n,e)=>st(n,nt(e)),lt=(n,e,t)=>L(n,typeof e!="symbol"?e+"":e,t),v=(n,e,t)=>new Promise((r,s)=>{var i=c=>{try{l(t.next(c))}catch(a){s(a)}},o=c=>{try{l(t.throw(c))}catch(a){s(a)}},l=c=>c.done?r(c.value):Promise.resolve(c.value).then(i,o);l((t=t.apply(n,e)).next())});function M(n){return n===n.toUpperCase()?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n}const P={createGenericFields(){return{id:k.v4(),isDel:!1,createdAt:new Date,updatedAt:new Date}},applyPlugins(n,e){e.filter(t=>typeof t=="function").forEach(t=>n.plugin(t))},applyMiddlewares(n,e){e.forEach(({method:t,pre:r,post:s})=>{t&&r&&n.pre(t,r),t&&s&&n.post(t,s)})},createGenericSchema(n){return new n.Schema({id:{type:String,default:k.v4,unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema({mongoose:n,schema:e,virtuals:t=[],standalone:r=!1}){const s=new n.Schema(e,{toJSON:{virtuals:!0},toObject:{virtuals:!0}});return t.forEach(({name:i,options:o,get:l})=>{if(P.isDynamicVirtual(o)){const c=s.statics;c._dynamicVirtuals||(c._dynamicVirtuals=[]),c._dynamicVirtuals.push({name:i,options:o});const a=s.virtual(i);l?a.get(l):a.get(function(){var u;return((u=this._populated)==null?void 0:u[i])||(o!=null&&o.count?0:o!=null&&o.justOne?null:[])})}else{const c=s.virtual(i,o);l&&c.get(l)}}),r||s.add(P.createGenericSchema(n)),s},createModel({mongoose:n,name:e,schema:t,virtuals:r=[],pagination:s=!0,aggregate:i=!0,middlewares:o=[]}){if(!e)throw new Error("Model name is required.");if(n.models[e])return n.models[e];const l=P.createSchema({mongoose:n,schema:t,virtuals:r});(s||i)&&P.applyPlugins(l,[s&&Y,i&&X]),P.applyMiddlewares(l,o);const c=n.model(e,l);return r.length>0&&(c._virtualConfigs=r),c},validator:{isRequired(){return function(n){return v(this,null,function*(){return!et.validate.isEmpty(n)})}},isUnique(n){return function(e){return v(this,null,function*(){if(!Array.isArray(n)||n.length===0)throw new Error("Fields must be a non-empty array of strings.");const t={$or:n.map(s=>({[s]:e}))};return!(yield this.constructor.exists(t))})}},matchesRegex(n){return
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("lodash-es"),J=require("migrate-mongo"),X=require("mongoose-aggregate-paginate-v2"),Y=require("mongoose-paginate-v2"),k=require("uuid"),Z=require("./mongo.constant.cjs"),F=require("../../util/object/object.util.cjs"),tt=require("../../util/common/common.util.cjs"),$=require("../fs/fs.util.cjs"),T=require("../path/path.constant.cjs"),et=require("../../util/validate/validate.util.cjs"),C=require("../../util/string/string.util.cjs"),V=require("../../constant/response-status.cjs"),N=require("../log/log.util.cjs");var rt=Object.defineProperty,st=Object.defineProperties,nt=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,L=(n,e,t)=>e in n?rt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,A=(n,e)=>{for(var t in e||(e={}))it.call(e,t)&&L(n,t,e[t]);if(B)for(var t of B(e))ot.call(e,t)&&L(n,t,e[t]);return n},x=(n,e)=>st(n,nt(e)),lt=(n,e,t)=>L(n,typeof e!="symbol"?e+"":e,t),v=(n,e,t)=>new Promise((r,s)=>{var i=c=>{try{l(t.next(c))}catch(a){s(a)}},o=c=>{try{l(t.throw(c))}catch(a){s(a)}},l=c=>c.done?r(c.value):Promise.resolve(c.value).then(i,o);l((t=t.apply(n,e)).next())});function M(n){return n===n.toUpperCase()?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n}const P={createGenericFields(){return{id:k.v4(),isDel:!1,createdAt:new Date,updatedAt:new Date}},applyPlugins(n,e){e.filter(t=>typeof t=="function").forEach(t=>n.plugin(t))},applyMiddlewares(n,e){e.forEach(({method:t,pre:r,post:s})=>{t&&r&&n.pre(t,r),t&&s&&n.post(t,s)})},createGenericSchema(n){return new n.Schema({id:{type:String,default:k.v4,unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema({mongoose:n,schema:e,virtuals:t=[],standalone:r=!1}){const s=new n.Schema(e,{toJSON:{virtuals:!0},toObject:{virtuals:!0}});return t.forEach(({name:i,options:o,get:l})=>{if(P.isDynamicVirtual(o)){const c=s.statics;c._dynamicVirtuals||(c._dynamicVirtuals=[]),c._dynamicVirtuals.push({name:i,options:o});const a=s.virtual(i);l?a.get(l):a.get(function(){var u;return((u=this._populated)==null?void 0:u[i])||(o!=null&&o.count?0:o!=null&&o.justOne?null:[])})}else{const c=s.virtual(i,o);l&&c.get(l)}}),r||s.add(P.createGenericSchema(n)),s},createModel({mongoose:n,name:e,schema:t,virtuals:r=[],pagination:s=!0,aggregate:i=!0,middlewares:o=[]}){if(!e)throw new Error("Model name is required.");if(n.models[e])return n.models[e];const l=P.createSchema({mongoose:n,schema:t,virtuals:r});(s||i)&&P.applyPlugins(l,[s&&Y,i&&X]),P.applyMiddlewares(l,o);const c=n.model(e,l);return r.length>0&&(c._virtualConfigs=r),c},validator:{isRequired(){return function(n){return v(this,null,function*(){return!et.validate.isEmpty(n)})}},isUnique(n){return function(e){return v(this,null,function*(){if(!Array.isArray(n)||n.length===0)throw new Error("Fields must be a non-empty array of strings.");const t={$or:n.map(s=>({[s]:e}))};return!(yield this.constructor.exists(t))})}},matchesRegex(n){return e=>v(null,null,function*(){if(!Array.isArray(n)||n.some(t=>!(t instanceof RegExp)))throw new Error("regexArray must be an array of valid RegExp objects.");return n.every(t=>t.test(e))})}},migrate:x(A({},J),{setConfig:n=>{const e=`// This file is automatically generated by the Cyberskill CLI.
|
|
2
2
|
module.exports = ${JSON.stringify(n,null,4)}`;$.writeFileSync(T.PATH.MIGRATE_MONGO_CONFIG,e);const t=`
|
|
3
3
|
${T.MIGRATE_MONGO_CONFIG}
|
|
4
4
|
`;$.pathExistsSync(T.PATH.GIT_IGNORE)?$.readFileSync(T.PATH.GIT_IGNORE,"utf-8").split(`
|
|
@@ -221,13 +221,11 @@ const x = {
|
|
|
221
221
|
* @throws {Error} When regexArray is not an array of valid RegExp objects.
|
|
222
222
|
*/
|
|
223
223
|
matchesRegex(n) {
|
|
224
|
-
return
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
});
|
|
230
|
-
};
|
|
224
|
+
return (e) => v(null, null, function* () {
|
|
225
|
+
if (!Array.isArray(n) || n.some((t) => !(t instanceof RegExp)))
|
|
226
|
+
throw new Error("regexArray must be an array of valid RegExp objects.");
|
|
227
|
+
return n.every((t) => t.test(e));
|
|
228
|
+
});
|
|
231
229
|
}
|
|
232
230
|
},
|
|
233
231
|
/**
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._overlay_b1d9o_1,._full_b1d9o_1,._block_b1d9o_2{z-index:999999;background:linear-gradient(135deg,#ffffff59,#ffffffb3);backdrop-filter:blur(20px) saturate(200%);display:flex;justify-content:center;align-items:center;width:100%;height:100%;animation:_overlay-fade-in_b1d9o_1 .5s ease-out;border:1.5px solid rgba(255,255,255,.35);box-shadow:0 4px 32px #1f26872e,inset 0 1.5px 8px #ffffff40}._full_b1d9o_1,._block_b1d9o_2{pointer-events:none}._full_b1d9o_1{position:fixed;inset:0}._block_b1d9o_2{position:absolute;width:100%;height:100%;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffff1a;backdrop-filter:blur(4px)}._container_b1d9o_40{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:1rem;gap:1.5rem;text-align:center}._container_b1d9o_40 ._ring_b1d9o_50{width:clamp(60px,10vw,150px);height:clamp(60px,10vw,150px);border:2px solid transparent;border-radius:50%;position:absolute;transition:transform .3s ease}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(1){border-bottom:8px solid hsl(315,90%,60%);animation:_rotate1_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(2){border-bottom:8px solid hsl(345,90%,50%);animation:_rotate2_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(3){border-bottom:8px solid hsl(180,80%,40%);animation:_rotate3_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(4){border-bottom:8px solid hsl(40,100%,45%);animation:_rotate4_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._message_b1d9o_74{font-weight:700;color:#2f2f37;text-shadow:0 1px 2px rgba(255,255,255,.8);animation:_text-fade_b1d9o_1 2s ease-in-out infinite alternate;word-break:break-word;hyphens:auto}@keyframes _rotate1_b1d9o_1{0%{transform:rotateX(50deg) rotate(110deg)}to{transform:rotateX(50deg) rotate(470deg)}}@keyframes _rotate2_b1d9o_1{0%{transform:rotateX(20deg) rotateY(50deg) rotate(20deg)}to{transform:rotateX(20deg) rotateY(50deg) rotate(380deg)}}@keyframes _rotate3_b1d9o_1{0%{transform:rotateX(40deg) rotateY(130deg) rotate(450deg)}to{transform:rotateX(40deg) rotateY(130deg) rotate(90deg)}}@keyframes _rotate4_b1d9o_1{0%{transform:rotateX(70deg) rotate(270deg)}to{transform:rotateX(70deg) rotate(630deg)}}@keyframes _text-fade_b1d9o_1{0%{opacity:.6}to{opacity:1}}@keyframes _overlay-fade-in_b1d9o_1{0%{opacity:0}to{opacity:1}}@media
|
|
1
|
+
._overlay_b1d9o_1,._full_b1d9o_1,._block_b1d9o_2{z-index:999999;background:linear-gradient(135deg,#ffffff59,#ffffffb3);backdrop-filter:blur(20px) saturate(200%);display:flex;justify-content:center;align-items:center;width:100%;height:100%;animation:_overlay-fade-in_b1d9o_1 .5s ease-out;border:1.5px solid rgba(255,255,255,.35);box-shadow:0 4px 32px #1f26872e,inset 0 1.5px 8px #ffffff40}._full_b1d9o_1,._block_b1d9o_2{pointer-events:none}._full_b1d9o_1{position:fixed;inset:0}._block_b1d9o_2{position:absolute;width:100%;height:100%;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffff1a;backdrop-filter:blur(4px)}._container_b1d9o_40{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:1rem;gap:1.5rem;text-align:center}._container_b1d9o_40 ._ring_b1d9o_50{width:clamp(60px,10vw,150px);height:clamp(60px,10vw,150px);border:2px solid transparent;border-radius:50%;position:absolute;transition:transform .3s ease}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(1){border-bottom:8px solid hsl(315,90%,60%);animation:_rotate1_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(2){border-bottom:8px solid hsl(345,90%,50%);animation:_rotate2_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(3){border-bottom:8px solid hsl(180,80%,40%);animation:_rotate3_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._ring_b1d9o_50:nth-child(4){border-bottom:8px solid hsl(40,100%,45%);animation:_rotate4_b1d9o_1 1s linear infinite}._container_b1d9o_40 ._message_b1d9o_74{font-weight:700;color:#2f2f37;text-shadow:0 1px 2px rgba(255,255,255,.8);animation:_text-fade_b1d9o_1 2s ease-in-out infinite alternate;word-break:break-word;hyphens:auto}@keyframes _rotate1_b1d9o_1{0%{transform:rotateX(50deg) rotate(110deg)}to{transform:rotateX(50deg) rotate(470deg)}}@keyframes _rotate2_b1d9o_1{0%{transform:rotateX(20deg) rotateY(50deg) rotate(20deg)}to{transform:rotateX(20deg) rotateY(50deg) rotate(380deg)}}@keyframes _rotate3_b1d9o_1{0%{transform:rotateX(40deg) rotateY(130deg) rotate(450deg)}to{transform:rotateX(40deg) rotateY(130deg) rotate(90deg)}}@keyframes _rotate4_b1d9o_1{0%{transform:rotateX(70deg) rotate(270deg)}to{transform:rotateX(70deg) rotate(630deg)}}@keyframes _text-fade_b1d9o_1{0%{opacity:.6}to{opacity:1}}@keyframes _overlay-fade-in_b1d9o_1{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){._ring_b1d9o_50,._message_b1d9o_74,._overlay_b1d9o_1,._full_b1d9o_1,._block_b1d9o_2{animation:none!important}}._modal-backdrop_1i2kc_1{position:fixed;inset:0;z-index:9999999;background-color:#0009;display:flex;align-items:center;justify-content:center;padding:1rem}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11{position:relative;background-color:#0f172a;color:#fff;max-width:80vw;width:100%;border-radius:.75rem;box-shadow:0 10px 20px #00000080;overflow:hidden;padding:2rem}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._btn-close_1i2kc_22{position:absolute;top:.75rem;right:1rem;font-size:1.25rem;color:#fff;background:none;border:none;cursor:pointer;transition:color .2s}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._btn-close_1i2kc_22:hover{color:#f87171}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-title_1i2kc_36{font-weight:700;margin-bottom:1rem}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-title_1i2kc_36 ._btn-retry_1i2kc_40{background:linear-gradient(to right,#3b82f6,#06b6d4);color:#fff;font-weight:600;padding:.5rem 1.5rem;border-radius:.75rem;transition:background .3s ease;border:none;cursor:pointer}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-title_1i2kc_36 ._btn-retry_1i2kc_40:hover{background:linear-gradient(to right,#2563eb,#0891b2)}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-details_1i2kc_53{background-color:#1e293b;text-align:left;font-size:.875rem;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem;max-height:50vh;overflow-y:auto;border:1px solid #334155;display:flex;flex-direction:column;gap:.5rem}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-details_1i2kc_53 pre{white-space:pre-wrap;word-break:break-word}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-details_1i2kc_53 pre._main_1i2kc_71{color:#fca5a5}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-details_1i2kc_53 pre._network_1i2kc_74{color:#fde68a}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-details_1i2kc_53 pre._extra_1i2kc_77{color:#67e8f9;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background-color:#0f172a;padding:.5rem;border-radius:.375rem}._modal-backdrop_1i2kc_1 ._modal-content_1i2kc_11 ._error-details_1i2kc_53 ul{padding-left:1rem;color:#fda4af;list-style:disc}._error-container_oofeh_1{display:flex;align-items:center;justify-content:center;gap:.5rem}._error-details-button_oofeh_8{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;background-color:#ef4444;color:#fff;border:2px solid #dc2626;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}._error-details-button_oofeh_8:hover{background-color:#dc2626;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}._error-details-button_oofeh_8:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}._error-details-button_oofeh_8:focus{outline:none;ring:2px;ring-color:#fca5a5;ring-offset:2px}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyberskill/shared",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.19.0",
|
|
5
5
|
"description": "CyberSkill Shared",
|
|
6
6
|
"author": "Stephen Cheng",
|
|
7
7
|
"license": "MIT",
|
|
@@ -207,22 +207,22 @@
|
|
|
207
207
|
"test:unit": "tsx src/node/cli/index.ts test:unit"
|
|
208
208
|
},
|
|
209
209
|
"dependencies": {
|
|
210
|
-
"@antfu/eslint-config": "
|
|
211
|
-
"@apollo/client": "4.0.
|
|
212
|
-
"@apollo/client-integration-nextjs": "0.
|
|
213
|
-
"@apollo/server": "5.
|
|
210
|
+
"@antfu/eslint-config": "6.2.0",
|
|
211
|
+
"@apollo/client": "4.0.8",
|
|
212
|
+
"@apollo/client-integration-nextjs": "0.14.1",
|
|
213
|
+
"@apollo/server": "5.1.0",
|
|
214
214
|
"@as-integrations/express5": "1.1.2",
|
|
215
|
-
"@dotenvx/dotenvx": "1.
|
|
216
|
-
"@eddeee888/gcg-typescript-resolver-files": "0.
|
|
217
|
-
"@eslint-react/eslint-plugin": "
|
|
218
|
-
"@graphql-codegen/cli": "
|
|
219
|
-
"@graphql-codegen/client-preset": "
|
|
220
|
-
"@nestjs/common": "11.1.
|
|
221
|
-
"@nestjs/core": "11.1.
|
|
215
|
+
"@dotenvx/dotenvx": "1.51.0",
|
|
216
|
+
"@eddeee888/gcg-typescript-resolver-files": "0.14.0",
|
|
217
|
+
"@eslint-react/eslint-plugin": "2.2.4",
|
|
218
|
+
"@graphql-codegen/cli": "6.0.1",
|
|
219
|
+
"@graphql-codegen/client-preset": "5.1.1",
|
|
220
|
+
"@nestjs/common": "11.1.8",
|
|
221
|
+
"@nestjs/core": "11.1.8",
|
|
222
222
|
"@userback/widget": "0.3.11",
|
|
223
|
-
"@vitejs/plugin-react-swc": "4.0
|
|
223
|
+
"@vitejs/plugin-react-swc": "4.2.0",
|
|
224
224
|
"body-parser": "2.2.0",
|
|
225
|
-
"chalk": "5.6.
|
|
225
|
+
"chalk": "5.6.2",
|
|
226
226
|
"clsx": "2.1.1",
|
|
227
227
|
"compression": "1.8.1",
|
|
228
228
|
"consola": "3.4.2",
|
|
@@ -231,85 +231,85 @@
|
|
|
231
231
|
"crypto-js": "4.2.0",
|
|
232
232
|
"date-fns": "4.1.0",
|
|
233
233
|
"envalid": "8.1.0",
|
|
234
|
-
"eslint-plugin-format": "1.0.
|
|
235
|
-
"eslint-plugin-react-hooks": "
|
|
236
|
-
"eslint-plugin-react-refresh": "0.4.
|
|
234
|
+
"eslint-plugin-format": "1.0.2",
|
|
235
|
+
"eslint-plugin-react-hooks": "7.0.1",
|
|
236
|
+
"eslint-plugin-react-refresh": "0.4.24",
|
|
237
237
|
"express": "5.1.0",
|
|
238
238
|
"express-session": "1.18.2",
|
|
239
|
-
"express-useragent": "
|
|
239
|
+
"express-useragent": "2.0.1",
|
|
240
240
|
"extract-files": "13.0.0",
|
|
241
|
-
"fs-extra": "11.3.
|
|
242
|
-
"globals": "16.
|
|
241
|
+
"fs-extra": "11.3.2",
|
|
242
|
+
"globals": "16.4.0",
|
|
243
243
|
"graphql": "16.11.0",
|
|
244
244
|
"graphql-upload": "17.0.0",
|
|
245
245
|
"graphql-ws": "6.0.6",
|
|
246
|
-
"i18next": "25.
|
|
247
|
-
"jsdom": "
|
|
246
|
+
"i18next": "25.6.0",
|
|
247
|
+
"jsdom": "27.1.0",
|
|
248
248
|
"localforage": "1.10.0",
|
|
249
249
|
"lodash-es": "4.17.21",
|
|
250
250
|
"migrate-mongo": "12.1.3",
|
|
251
|
-
"mongodb": "6.
|
|
252
|
-
"mongoose": "8.
|
|
251
|
+
"mongodb": "6.20.0",
|
|
252
|
+
"mongoose": "8.19.2",
|
|
253
253
|
"mongoose-aggregate-paginate-v2": "1.1.4",
|
|
254
254
|
"mongoose-paginate-v2": "1.9.1",
|
|
255
|
-
"next-intl": "4.
|
|
255
|
+
"next-intl": "4.4.0",
|
|
256
256
|
"node-fetch": "3.3.2",
|
|
257
257
|
"node-persist": "4.0.4",
|
|
258
258
|
"qs": "6.14.0",
|
|
259
|
-
"react": "19.
|
|
260
|
-
"react-dom": "19.
|
|
259
|
+
"react": "19.2.0",
|
|
260
|
+
"react-dom": "19.2.0",
|
|
261
261
|
"react-hot-toast": "2.6.0",
|
|
262
|
-
"react-i18next": "
|
|
262
|
+
"react-i18next": "16.2.3",
|
|
263
263
|
"rxjs": "7.8.2",
|
|
264
264
|
"slugify": "1.6.6",
|
|
265
265
|
"unorm": "1.6.0",
|
|
266
|
-
"uuid": "
|
|
267
|
-
"vite": "7.1.
|
|
266
|
+
"uuid": "13.0.0",
|
|
267
|
+
"vite": "7.1.12",
|
|
268
268
|
"ws": "8.18.3",
|
|
269
269
|
"yargs": "18.0.0"
|
|
270
270
|
},
|
|
271
271
|
"devDependencies": {
|
|
272
|
-
"@commitlint/cli": "
|
|
273
|
-
"@commitlint/config-conventional": "
|
|
274
|
-
"@eslint/config-inspector": "1.
|
|
275
|
-
"@next/eslint-plugin-next": "
|
|
276
|
-
"@testing-library/jest-dom": "6.
|
|
272
|
+
"@commitlint/cli": "20.1.0",
|
|
273
|
+
"@commitlint/config-conventional": "20.0.0",
|
|
274
|
+
"@eslint/config-inspector": "1.3.0",
|
|
275
|
+
"@next/eslint-plugin-next": "16.0.1",
|
|
276
|
+
"@testing-library/jest-dom": "6.9.1",
|
|
277
277
|
"@testing-library/react": "16.3.0",
|
|
278
278
|
"@types/body-parser": "1.19.6",
|
|
279
279
|
"@types/compression": "1.8.1",
|
|
280
|
-
"@types/cookie-parser": "1.4.
|
|
280
|
+
"@types/cookie-parser": "1.4.10",
|
|
281
281
|
"@types/cors": "2.8.19",
|
|
282
282
|
"@types/crypto-js": "4.2.2",
|
|
283
|
-
"@types/express": "5.0.
|
|
283
|
+
"@types/express": "5.0.5",
|
|
284
284
|
"@types/express-session": "1.18.2",
|
|
285
285
|
"@types/express-useragent": "1.0.5",
|
|
286
|
-
"@types/extract-files": "13.0.
|
|
286
|
+
"@types/extract-files": "13.0.2",
|
|
287
287
|
"@types/fs-extra": "11.0.4",
|
|
288
288
|
"@types/graphql-upload": "17.0.0",
|
|
289
289
|
"@types/lodash-es": "4.17.12",
|
|
290
290
|
"@types/migrate-mongo": "10.0.5",
|
|
291
|
-
"@types/node": "24.
|
|
291
|
+
"@types/node": "24.9.2",
|
|
292
292
|
"@types/node-persist": "3.1.8",
|
|
293
|
-
"@types/react": "19.
|
|
294
|
-
"@types/react-dom": "19.
|
|
293
|
+
"@types/react": "19.2.2",
|
|
294
|
+
"@types/react-dom": "19.2.2",
|
|
295
295
|
"@types/unorm": "1.3.31",
|
|
296
|
-
"@types/uuid": "
|
|
296
|
+
"@types/uuid": "11.0.0",
|
|
297
297
|
"@types/ws": "8.18.1",
|
|
298
|
-
"@types/yargs": "17.0.
|
|
299
|
-
"@vitest/browser": "
|
|
300
|
-
"eslint": "9.
|
|
301
|
-
"eslint-config-next": "
|
|
298
|
+
"@types/yargs": "17.0.34",
|
|
299
|
+
"@vitest/browser": "4.0.6",
|
|
300
|
+
"eslint": "9.38.0",
|
|
301
|
+
"eslint-config-next": "16.0.1",
|
|
302
302
|
"glob": "11.0.3",
|
|
303
|
-
"lint-staged": "16.
|
|
304
|
-
"node-modules-inspector": "1.
|
|
303
|
+
"lint-staged": "16.2.6",
|
|
304
|
+
"node-modules-inspector": "1.2.0",
|
|
305
305
|
"npm-run-all2": "8.0.4",
|
|
306
|
-
"sass": "1.
|
|
306
|
+
"sass": "1.93.3",
|
|
307
307
|
"simple-git-hooks": "2.13.1",
|
|
308
|
-
"tsx": "4.20.
|
|
309
|
-
"typescript": "5.9.
|
|
310
|
-
"vite": "7.1.
|
|
308
|
+
"tsx": "4.20.6",
|
|
309
|
+
"typescript": "5.9.3",
|
|
310
|
+
"vite": "7.1.12",
|
|
311
311
|
"vite-plugin-dts": "4.5.4",
|
|
312
|
-
"vitest": "
|
|
312
|
+
"vitest": "4.0.6"
|
|
313
313
|
},
|
|
314
314
|
"publishConfig": {
|
|
315
315
|
"access": "public",
|