@cyberskill/shared 1.29.0 → 1.31.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 (129) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +99 -16
  3. package/dist/commands.cjs +1 -1
  4. package/dist/commands.js +1 -1
  5. package/dist/configs/graphql/graphql-codegen.d.cts +1 -4
  6. package/dist/configs/graphql/graphql-codegen.d.ts +1 -4
  7. package/dist/configs/graphql/index.d.cts +1 -4
  8. package/dist/configs/graphql/index.d.ts +1 -4
  9. package/dist/configs/index.cjs +1 -1
  10. package/dist/configs/index.js +1 -1
  11. package/dist/configs/vitest/react/e2e.cjs +1 -1
  12. package/dist/configs/vitest/react/e2e.d.cts +2 -3
  13. package/dist/configs/vitest/react/e2e.d.ts +2 -3
  14. package/dist/configs/vitest/react/e2e.js +1 -1
  15. package/dist/configs/vitest/react/unit.cjs +1 -1
  16. package/dist/configs/vitest/react/unit.d.cts +2 -3
  17. package/dist/configs/vitest/react/unit.d.ts +2 -3
  18. package/dist/configs/vitest/react/unit.js +1 -1
  19. package/dist/contexts/react/index.d.cts +0 -2
  20. package/dist/contexts/react/index.d.ts +0 -2
  21. package/dist/contexts/react/loading.d.cts +0 -2
  22. package/dist/contexts/react/loading.d.ts +0 -2
  23. package/dist/controllers/index.cjs +1 -1
  24. package/dist/controllers/index.js +1 -1
  25. package/dist/controllers/mongo-migration.cjs +1 -1
  26. package/dist/controllers/mongo-migration.js +1 -1
  27. package/dist/controllers/mongoose.cjs +1 -1
  28. package/dist/controllers/mongoose.js +1 -1
  29. package/dist/hocs/react/index.cjs +1 -1
  30. package/dist/hocs/react/index.d.cts +0 -2
  31. package/dist/hocs/react/index.d.ts +0 -2
  32. package/dist/hocs/react/index.js +1 -1
  33. package/dist/hocs/react/next-intl.cjs +1 -1
  34. package/dist/hocs/react/next-intl.d.cts +0 -2
  35. package/dist/hocs/react/next-intl.d.ts +0 -2
  36. package/dist/hocs/react/next-intl.js +1 -1
  37. package/dist/hooks/react/index.cjs +1 -1
  38. package/dist/hooks/react/index.d.cts +3 -4
  39. package/dist/hooks/react/index.d.ts +3 -4
  40. package/dist/hooks/react/index.js +1 -1
  41. package/dist/hooks/react/use-loading.d.cts +0 -2
  42. package/dist/hooks/react/use-loading.d.ts +0 -2
  43. package/dist/hooks/react/use-next-intl.cjs +1 -1
  44. package/dist/hooks/react/use-next-intl.d.cts +4 -2
  45. package/dist/hooks/react/use-next-intl.d.ts +4 -2
  46. package/dist/hooks/react/use-next-intl.js +1 -1
  47. package/dist/index.cjs +1 -1
  48. package/dist/index.d.cts +17 -14
  49. package/dist/index.d.ts +17 -14
  50. package/dist/index.js +1 -1
  51. package/dist/providers/react/apollo-client.cjs +1 -1
  52. package/dist/providers/react/apollo-client.d.cts +3 -7
  53. package/dist/providers/react/apollo-client.d.ts +3 -7
  54. package/dist/providers/react/apollo-client.js +1 -1
  55. package/dist/providers/react/index.cjs +1 -1
  56. package/dist/providers/react/index.d.cts +2 -2
  57. package/dist/providers/react/index.d.ts +2 -2
  58. package/dist/providers/react/index.js +1 -1
  59. package/dist/providers/react/loading.d.cts +0 -2
  60. package/dist/providers/react/loading.d.ts +0 -2
  61. package/dist/providers/react/next-intl.cjs +1 -1
  62. package/dist/providers/react/next-intl.d.cts +0 -2
  63. package/dist/providers/react/next-intl.d.ts +0 -2
  64. package/dist/providers/react/next-intl.js +1 -1
  65. package/dist/styles/reset.css +63 -0
  66. package/dist/styles/reset.d.cts +2 -0
  67. package/dist/styles/reset.d.ts +2 -0
  68. package/dist/typescript/apollo.cjs +1 -0
  69. package/dist/typescript/apollo.d.cts +21 -0
  70. package/dist/typescript/apollo.d.ts +21 -0
  71. package/dist/typescript/apollo.js +0 -0
  72. package/dist/typescript/graphql-codegen.cjs +1 -0
  73. package/dist/typescript/graphql-codegen.d.cts +12 -0
  74. package/dist/typescript/graphql-codegen.d.ts +12 -0
  75. package/dist/typescript/graphql-codegen.js +0 -0
  76. package/dist/typescript/index.cjs +1 -1
  77. package/dist/typescript/index.d.cts +5 -4
  78. package/dist/typescript/index.d.ts +5 -4
  79. package/dist/typescript/index.js +1 -1
  80. package/dist/typescript/mongoose.d.cts +2 -2
  81. package/dist/typescript/mongoose.d.ts +2 -2
  82. package/dist/typescript/react.d.cts +1 -23
  83. package/dist/typescript/react.d.ts +1 -23
  84. package/dist/utils/common.cjs +1 -0
  85. package/dist/utils/common.d.cts +5 -0
  86. package/dist/utils/common.d.ts +5 -0
  87. package/dist/utils/common.js +1 -0
  88. package/dist/utils/config.cjs +1 -1
  89. package/dist/utils/config.js +1 -1
  90. package/dist/utils/index.cjs +1 -1
  91. package/dist/utils/index.d.cts +1 -6
  92. package/dist/utils/index.d.ts +1 -6
  93. package/dist/utils/index.js +1 -1
  94. package/dist/utils/mongoose.d.cts +0 -21
  95. package/dist/utils/mongoose.d.ts +0 -21
  96. package/dist/utils/npm-package.d.cts +0 -12
  97. package/dist/utils/npm-package.d.ts +0 -12
  98. package/dist/utils/serializer.d.cts +1 -1
  99. package/dist/utils/serializer.d.ts +1 -1
  100. package/dist/utils/validate.d.cts +0 -19
  101. package/dist/utils/validate.d.ts +0 -19
  102. package/package.json +19 -12
  103. package/src/public/favicon/android-icon-144x144.png +0 -0
  104. package/src/public/favicon/android-icon-192x192.png +0 -0
  105. package/src/public/favicon/android-icon-36x36.png +0 -0
  106. package/src/public/favicon/android-icon-48x48.png +0 -0
  107. package/src/public/favicon/android-icon-72x72.png +0 -0
  108. package/src/public/favicon/android-icon-96x96.png +0 -0
  109. package/src/public/favicon/apple-icon-114x114.png +0 -0
  110. package/src/public/favicon/apple-icon-120x120.png +0 -0
  111. package/src/public/favicon/apple-icon-144x144.png +0 -0
  112. package/src/public/favicon/apple-icon-152x152.png +0 -0
  113. package/src/public/favicon/apple-icon-180x180.png +0 -0
  114. package/src/public/favicon/apple-icon-57x57.png +0 -0
  115. package/src/public/favicon/apple-icon-60x60.png +0 -0
  116. package/src/public/favicon/apple-icon-72x72.png +0 -0
  117. package/src/public/favicon/apple-icon-76x76.png +0 -0
  118. package/src/public/favicon/apple-icon-precomposed.png +0 -0
  119. package/src/public/favicon/apple-icon.png +0 -0
  120. package/src/public/favicon/browserconfig.xml +2 -0
  121. package/src/public/favicon/favicon-16x16.png +0 -0
  122. package/src/public/favicon/favicon-32x32.png +0 -0
  123. package/src/public/favicon/favicon-96x96.png +0 -0
  124. package/src/public/favicon/favicon.ico +0 -0
  125. package/src/public/favicon/manifest.json +41 -0
  126. package/src/public/favicon/ms-icon-144x144.png +0 -0
  127. package/src/public/favicon/ms-icon-150x150.png +0 -0
  128. package/src/public/favicon/ms-icon-310x310.png +0 -0
  129. package/src/public/favicon/ms-icon-70x70.png +0 -0
package/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+
2
+ MIT License
3
+
4
+ Copyright (c) 2025 Stephen Cheng <https://github.com/zintaen>
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
package/README.md CHANGED
@@ -1,26 +1,109 @@
1
- # CyberSkill Shared
1
+ <p align="center">
2
+ <img src="./src/public/favicon/favicon-96x96.png" width="96" height="96" alt="CyberSkill Logo">
3
+ </p>
2
4
 
3
- ## Usage
5
+ <h1 align="center">🚀 CyberSkill Shared</h1>
6
+
7
+ <p align="center">
8
+ <b>A shared utility library for consistent development across CyberSkill projects.</b>
9
+ </p>
10
+
11
+ ---
12
+
13
+ <p align="center">
14
+ <a href="https://npmjs.com/package/@cyberskill/shared">
15
+ <img src="https://img.shields.io/npm/v/@cyberskill/shared?style=for-the-badge&color=blue" alt="npm version">
16
+ </a>
17
+ <a href="https://npmjs.com/package/@cyberskill/shared">
18
+ <img src="https://img.shields.io/npm/dm/@cyberskill/shared?style=for-the-badge&color=brightgreen" alt="npm downloads">
19
+ </a>
20
+ <a href="https://www.jsdocs.io/package/@cyberskill/shared">
21
+ <img src="https://img.shields.io/badge/jsDocs.io-reference-blue?style=for-the-badge" alt="JSDocs">
22
+ </a>
23
+ <a href="https://github.com/cyberskill-world/shared/blob/main/LICENSE">
24
+ <img src="https://img.shields.io/badge/license-MIT-blue?style=for-the-badge" alt="License">
25
+ </a>
26
+ </p>
27
+
28
+ ---
29
+
30
+ ## 🎯 **About**
31
+
32
+ CyberSkill Shared is a modular utility library designed to:
33
+
34
+ - 📦 **Provide reusable utility functions** across multiple projects.
35
+ - ⚙️ **Ensure consistent coding standards**.
36
+ - 🚀 **Boost developer productivity** by reducing repetitive code.
37
+
38
+ ---
39
+
40
+ ## 🚀 **Installation**
41
+
42
+ Install via **npm**:
4
43
 
5
44
  ```bash
6
- # development
7
- npm run dev
45
+ npm install @cyberskill/shared
46
+ ```
8
47
 
9
- # production
10
- npm run build
48
+ Install via **yarn**:
11
49
 
12
- # lint check
13
- npm run lint
50
+ ```bash
51
+ yarn add @cyberskill/shared
52
+ ```
53
+
54
+ ---
55
+
56
+ ## 🛠️ **Scripts**
14
57
 
15
- # lint fix
16
- npm run lint:fix
58
+ | Command | Description |
59
+ | ---------------------- | ----------------------------------- |
60
+ | `npm run dev` | Start development mode 🚧 |
61
+ | `npm run build` | Build for production 🚀 |
62
+ | `npm run lint` | Check for linting issues ✅ |
63
+ | `npm run lint:fix` | Fix linting issues 🔧 |
64
+ | `npm run lint:inspect` | Inspect linting config 🧐 |
65
+ | `npm run setup` | Project setup 🏗️ |
66
+ | `npm run reset` | Reset the project ♻️ |
67
+ | `npm run inspect` | Inspect the project dependencies 🔍 |
17
68
 
18
- # lint inspect
19
- npm run lint:inspect
69
+ ---
20
70
 
21
- # project setup
22
- npm run setup
71
+ ## 📂 **Project Structure**
23
72
 
24
- # project reset
25
- npm run reset
73
+ ```plaintext
74
+ src/
75
+ ├── components/ → Reusable UI components (buttons, modals, etc.)
76
+ ├── configs/ → App configuration files
77
+ ├── constants/ → Static values used across the app
78
+ ├── contexts/ → React context providers
79
+ ├── controllers/ → Business logic controllers
80
+ ├── hocs/ → Higher Order Components (HOCs)
81
+ ├── hooks/ → Custom hooks
82
+ ├── providers/ → State management and third-party providers
83
+ ├── public/ → Static assets (images, fonts, etc.)
84
+ ├── styles/ → Global and component-specific styles
85
+ ├── typescript/ → TypeScript types and interfaces
86
+ ├── utils/ → Utility functions and helpers
87
+ ├── commands.ts → CLI commands and setup logic
88
+ └── index.ts → Entry point for the app
26
89
  ```
90
+
91
+ ---
92
+
93
+ ## 🎯 **Goals**
94
+
95
+ - ✅ Consistent TypeScript support.
96
+ - ✅ Minimize code duplication.
97
+ - ✅ Easy to extend and maintain.
98
+
99
+ ---
100
+
101
+ ## 📄 **License**
102
+
103
+ **[MIT](./LICENSE)** License © [Stephen Cheng](https://github.com/zintaen)
104
+
105
+ ---
106
+
107
+ <p align="center">
108
+ Made with ❤️ by <a href="https://github.com/zintaen">@zintaen</a>
109
+ </p>
package/dist/commands.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";function e(e,t,n,r,s,i,o){try{var c=e[i](o);var a=c.value}catch(e){n(e);return}if(c.done){t(a)}else{Promise.resolve(a).then(r,s)}}function t(t){return function(){var n=this,r=arguments;return new Promise(function(s,i){var o=t.apply(n,r);function c(t){e(o,s,i,c,a,"next",t)}function a(t){e(o,s,i,c,a,"throw",t)}c(undefined)})}}function n(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function r(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var s=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){s=s.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}s.forEach(function(t){n(e,t,r[t])})}return e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function i(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{s(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function o(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function c(e,t){var n,r,s,i,o={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return i={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(e){return function(t){return a([e,t])}}function a(i){if(n)throw new TypeError("Generator is already executing.");while(o)try{if(n=1,r&&(s=i[0]&2?r["return"]:i[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;if(r=0,s)i=[i[0]&2,s.value];switch(i[0]){case 0:case 1:s=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(s=o.trys,s=s.length>0&&s[s.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]<s[3])){o.label=i[1];break}if(i[0]===6&&o.label<s[1]){o.label=s[1];s=i;break}if(s&&o.label<s[2]){o.label=s[2];o.ops.push(i);break}if(s[2])o.ops.pop();o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e];r=0}finally{n=s=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var a=Object.create;var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var g=function(e,t,n,r){var s=true,i=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":o(t))=="object"||typeof t=="function")try{var a=function(){var s=g.value;!d.call(e,s)&&s!==n&&u(e,s,{get:function(){return t[s]},enumerable:!(r=l(t,s))||r.enumerable})};for(var p=f(t)[Symbol.iterator](),g;!(s=(g=p.next()).done);s=true)a()}catch(e){i=true;c=e}finally{try{if(!s&&p.return!=null){p.return()}}finally{if(i){throw c}}}return e};var h=function(e,t,n){return n=e!=null?a(p(e)):{},g(t||!e||!e.__esModule?u(n,"default",{value:e,enumerable:!0}):n,e)};var y=function(){return(typeof document==="undefined"?"undefined":o(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},m=y();var v=h(require("fs"),1),b=h(require("path"),1),w=h(require("process"),1),S=require("yargs/helpers"),_=h(require("yargs/yargs"),1);var O=require("path"),T=h(require("process"),1),k=require("url"),A=(0,k.fileURLToPath)(m),P=(0,O.dirname)(A),E=T.default.env.INIT_CWD||T.default.cwd();var I=h(require("boxen"),1),j=h(require("chalk"),1),C=require("child_process"),N=h(require("process"),1),G=h(require("util"),1);var x=h(require("node-persist"),1),F=h(require("os"),1),H=h(require("path"),1),L=h(require("process"),1),M=L.default.env.CYBERSKILL_STORAGE_DIR||H.default.join(F.default.homedir(),".cyberskill-storage");function R(){return K.apply(this,arguments)}function K(){K=t(function(){var e;return c(this,function(t){switch(t.label){case 0:e=x.default.defaultInstance;if(e)return[3,2];return[4,x.default.init({dir:M,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return K.apply(this,arguments)}var q={get:function e(e){return t(function(){var t,n;return c(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,R()];case 1:r.sent();return[4,x.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,n){return t(function(){var t;return c(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,R()];case 1:r.sent();return[4,x.default.setItem(e,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return t(function(){var t;return c(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,R()];case 1:n.sent();return[4,x.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return t(function(){var e,t;return c(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,R()];case 1:n.sent();return[4,x.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(console.warn("⚠️ [Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return t(function(){return c(this,function(t){try{return[2,"".concat(M," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var U=N.default.env.DEBUG==="true",D=G.promisify(C.exec),J=j.default,B=J.gray,W=J.blue,Y=function(){return B("[".concat(new Date().toLocaleTimeString(),"]"))};function $(e){var t=j.default[e];return typeof t=="function"?t:j.default.green}function z(e,t,n,r){var s=$(t);console.log("".concat(Y()," ").concat(s("".concat(n," ").concat(e))," ").concat(r))}function Q(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.color,s=r===void 0?"green":r,i=n.padding,o=i===void 0?1:i,c=n.margin,a=c===void 0?1:c,u=n.borderStyle,l=u===void 0?"round":u,f=n.titleColor,p=f===void 0?"bold":f;var d=$(s),g=$(p);if(typeof t=="string"){console.log((0,I.default)(g(d("".concat(e,"\n").concat(t))),{padding:o,margin:a,borderStyle:l,borderColor:s}));return}Array.isArray(t)&&t.length&&(t.forEach(function(e){var t=e.file,n=e.position,r=e.rule,s=e.message;console.log("".concat(Y()," ").concat(d("File:")," ").concat(W("".concat(t).concat(n?":".concat(n):"")))),r&&console.log(" ".concat(d("Rule:")," ").concat(d(r))),console.log(" ".concat(d("Message:")," ").concat(d(s)))}),console.log((0,I.default)(g(d("".concat(e,": ").concat(t.length))),{padding:o,margin:a,borderStyle:l,borderColor:s})),console.log(B("─".repeat(40))))}var V={success:function(e){return z("SUCCESS","green","✔",e)},error:function(e){return z("ERROR","red","✖",e)},warning:function(e){return z("WARNING","yellow","⚠",e)},info:function(e){return z("INFO","blue","ℹ",e)},printBoxedLog:Q},X=function(e){return"error_list:".concat(e)};function Z(e){return ee.apply(this,arguments)}function ee(){ee=t(function(e){var n,r,s;return c(this,function(i){switch(i.label){case 0:if(e.length===0)return[2];n=Date.now(),r=X(n);i.label=1;case 1:i.trys.push([1,3,,4]);return[4,q.set(r,{errors:e,timestamp:n})];case 2:i.sent(),setTimeout(/*#__PURE__*/t(function(){var e;return c(this,function(t){switch(t.label){case 0:return[4,q.getLogLink(r)];case 1:e=t.sent();e&&V.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:s=i.sent();V.error("Failed to save errors: ".concat(s.message));return[3,4];case 4:return[2]}})});return ee.apply(this,arguments)}function et(){return en.apply(this,arguments)}function en(){en=t(function(){var e,n,r;return c(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,q.keys()];case 1:e=s.sent(),n=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(n.map(/*#__PURE__*/function(){var e=t(function(e){var t;return c(this,function(n){switch(n.label){case 0:return[4,q.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,s.sent().flat()];case 3:r=s.sent();return[2,(V.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})});return en.apply(this,arguments)}function er(){return es.apply(this,arguments)}function es(){es=t(function(){var e,t,n;return c(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,q.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return q.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();V.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return es.apply(this,arguments)}function ei(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c=s.exec(e)||[],a=i.exec(e)||[],u=o.exec(e)||[];c.length&&r?t.push({file:r,position:"".concat(c[1],":").concat(c[2]),type:c[3]==="error"?"error":"warning",message:c[4].trim(),rule:c[5].trim()}):a.length?t.push({file:a[1],position:"".concat(a[2],":").concat(a[3]),type:a[4]==="error"?"error":"warning",message:a[5].trim()}):u.length?t.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):n.push(e.trim())}}),t.length&&Z(t),n.length&&U&&(V.warning("Unmatched lines:"),n.forEach(function(e){return console.log(" ".concat(e))}))}function eo(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,o=e.ruleId,c=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(i),rule:o,message:c})})}),n.length&&Z(n)}catch(t){ei(e)}}function ec(e){return ea.apply(this,arguments)}function ea(){ea=t(function(e){var t,n,r,s,i,o,a,u,l;var f=arguments;return c(this,function(c){switch(c.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:eo;n=new AbortController;N.default.on("SIGINT",function(){V.warning("Process interrupted. Terminating..."),n.abort(),N.default.exit()});c.label=1;case 1:c.trys.push([1,3,,4]);return[4,D(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=c.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});return[3,4];case 3:o=c.sent();a=o.stdout,u=o.stderr,l=o.message;[a,u].forEach(function(e){return e&&t(e)}),!u&&!a&&V.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return ea.apply(this,arguments)}var eu=h(require("fs"),1),el=function(e){return eu.existsSync(e)};var ef=h(require("node-fetch"),1),ep=h(require("fs"),1),ed=h(require("path"),1);var eg=24*60*60*1e3;function eh(e){return e?ed.default.join(E,"node_modules",e,"package.json"):ed.default.join(E,"package.json")}function ey(e){return em.apply(this,arguments)}function em(){em=t(function(e){var t,n,r,s,i,o,a,u,l,f;var p=arguments;return c(this,function(c){switch(c.label){case 0:t=p.length>1&&p[1]!==void 0?p[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,q.get(n)];case 1:s=c.sent();return[4,q.get(r)];case 2:i=c.sent(),o=s&&Date.now()-s.timestamp<eg;if(!t&&o)return[2,(V.info("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];a={};(i===null||i===void 0?void 0:i.etag)&&(a["If-None-Match"]=i.etag),(i===null||i===void 0?void 0:i.lastModified)&&(a["If-Modified-Since"]=i.lastModified);c.label=3;case 3:c.trys.push([3,8,,9]);V.info("Fetching latest version for ".concat(e,"..."));return[4,(0,ef.default)("https://registry.npmjs.org/".concat(e,"/latest"),{headers:a})];case 4:u=c.sent();if(u.status===304&&s)return[2,(V.info("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!u.ok)throw new Error("Failed to fetch latest version: ".concat(u.statusText));return[4,u.json()];case 5:l=c.sent().version;return[4,q.set(n,{version:l,timestamp:Date.now()})];case 6:c.sent();return[4,q.set(r,{etag:u.headers.get("ETag")||void 0,lastModified:u.headers.get("Last-Modified")||void 0})];case 7:return[2,(c.sent(),V.success("Cached latest version for ".concat(e,": ").concat(l)),l)];case 8:f=c.sent();if(V.error("Error fetching latest version for ".concat(e,": ").concat(f.message)),s)return[2,(V.warning("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw f;case 9:return[2]}})});return em.apply(this,arguments)}function ev(e){return eb.apply(this,arguments)}function eb(){eb=t(function(e){var t,n,r,s,i;var o=arguments;return c(this,function(c){switch(c.label){case 0:t=o.length>1&&o[1]!==void 0?o[1]:!0;c.label=1;case 1:c.trys.push([1,3,,4]);n=eh(e);if(!ep.default.existsSync(n))return[2,(V.info("".concat(e," is not installed.")),!0)];r=JSON.parse(ep.default.readFileSync(n,"utf-8")).version;return[4,ey(e,t)];case 2:s=c.sent();return[2,(V.info("Installed version of ".concat(e,": ").concat(r)),V.info("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:i=c.sent();return[2,(V.warning("Failed to check version for ".concat(e,": ").concat(i.message)),!0)];case 4:return[2]}})});return eb.apply(this,arguments)}function ew(e){return eS.apply(this,arguments)}function eS(){eS=t(function(e){var t,s,o,a;return c(this,function(c){switch(c.label){case 0:c.trys.push([0,4,,5]);return[4,ey(e,!0)];case 1:t=c.sent(),s=eh();if(!ep.default.existsSync(s)){V.error("package.json not found. Cannot update ".concat(e));return[2]}o=JSON.parse(ep.default.readFileSync(s,"utf-8"));o.dependencies=i(r({},o.dependencies),n({},e,t)),ep.default.writeFileSync(s,JSON.stringify(o,null,2)),V.info("Updated ".concat(e," to version ").concat(t));return[4,ec("npm i -f")];case 2:c.sent();return[4,ec("npm run lint:fix")];case 3:c.sent(),V.success("".concat(e," updated successfully."));return[3,5];case 4:a=c.sent();throw V.error("Failed to update ".concat(e,": ").concat(a.message)),a;case 5:return[2]}})});return eS.apply(this,arguments)}function e_(e,t){try{var n=ed.default.join(e,"package.json");return ep.default.existsSync(n)?JSON.parse(ep.default.readFileSync(n,"utf-8")).name===t:!1}catch(e){return V.error("Error reading package.json: ".concat(e.message)),!1}}var eO={TS_CONFIG_PATH:b.resolve(E,"tsconfig.json"),HUSKY_PATH:b.resolve(E,".husky"),GIT_HOOK_PATH:b.resolve(E,".git/hooks"),GIT_COMMIT_MSG:b.resolve(E,".git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:b.resolve(E,".simple-git-hooks.json"),PACKAGE_JSON_PATH:b.resolve(E,"package.json"),PACKAGE_LOCK_PATH:b.resolve(E,"package-lock.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:b.resolve(P,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:b.resolve(P,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:b.resolve(P,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:b.resolve(P,"./configs/vitest/react/e2e.js"),HOOKS_CONFIG:{"pre-commit":"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"}};function eT(e,t){return ek.apply(this,arguments)}function ek(){ek=t(function(e,t){return c(this,function(n){switch(n.label){case 0:V.info("".concat(e,"..."));return[4,ec(t)];case 1:n.sent(),V.success("".concat(e," completed."));return[2]}})});return ek.apply(this,arguments)}function eA(){return eP.apply(this,arguments)}function eP(){eP=t(function(){var e;return c(this,function(t){switch(t.label){case 0:if(!el(eO.TS_CONFIG_PATH))return[3,2];return[4,eT("Running TypeScript check","npx tsc -p ".concat(eO.TS_CONFIG_PATH," --noEmit"))];case 1:e=t.sent();return[3,3];case 2:e=V.warning("TypeScript config not found. Skipping TypeScript check.");t.label=3;case 3:e;return[2]}})});return eP.apply(this,arguments)}function eE(){return eI.apply(this,arguments)}function eI(){eI=t(function(){var e;var t=arguments;return c(this,function(n){switch(n.label){case 0:e=t.length>0&&t[0]!==void 0?t[0]:!1;return[4,eT("Running ESLint ".concat(e?"(with fix)":"(without fix)"),"npx eslint ".concat(E).concat(e?" --fix":""))];case 1:n.sent();return[2]}})});return eI.apply(this,arguments)}function ej(){return eC.apply(this,arguments)}function eC(){eC=t(function(){var e;return c(this,function(t){switch(t.label){case 0:if(!e_(E,eO.PACKAGE_NAME))return[3,5];V.info("@cyberskill/shared detected. Building before lint-staged...");t.label=1;case 1:t.trys.push([1,4,,5]);return[4,eT("Building @cyberskill/shared","npm run build")];case 2:t.sent();return[4,ec("git add dist")];case 3:t.sent(),V.success("Built and staged @cyberskill/shared");return[3,5];case 4:e=t.sent();throw V.error("Failed to build and stage @cyberskill/shared: ".concat(e.message)),e;case 5:return[4,eT("Running lint-staged","npx lint-staged --config ".concat(eO.LINT_STAGED_CONFIG_PATH))];case 6:t.sent();return[2]}})});return eC.apply(this,arguments)}function eN(){return eG.apply(this,arguments)}function eG(){eG=t(function(){return c(this,function(e){switch(e.label){case 0:return[4,eT("Inspecting ESLint rules","npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eG.apply(this,arguments)}function ex(){return eF.apply(this,arguments)}function eF(){eF=t(function(){var e,t,n;return c(this,function(r){switch(r.label){case 0:return[4,er()];case 1:r.sent();return[4,Promise.all([eA(),eE()])];case 2:r.sent();return[4,et()];case 3:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?V.printBoxedLog("✔ NO ISSUES FOUND","",{color:"green"}):(V.printBoxedLog("⚠ Warnings",n,{color:"yellow"}),V.printBoxedLog("✖ Errors",t,{color:"red"})),V.success("Lint check completed.");return[2]}})});return eF.apply(this,arguments)}function eH(){return eL.apply(this,arguments)}function eL(){eL=t(function(){return c(this,function(e){switch(e.label){case 0:return[4,eT("Running commit lint","npx commitlint --edit ".concat(eO.GIT_COMMIT_MSG," --config ").concat(eO.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eL.apply(this,arguments)}function eM(){return eR.apply(this,arguments)}function eR(){eR=t(function(){var e,t,n,r,s,i;return c(this,function(o){switch(o.label){case 0:if(V.info("Starting project setup..."),!el(eO.PACKAGE_JSON_PATH)){V.error("package.json not found. Aborting setup.");return[2]}o.label=1;case 1:o.trys.push([1,9,,10]);t=JSON.parse(v.readFileSync(eO.PACKAGE_JSON_PATH,"utf-8"));r=e_(E,eO.PACKAGE_NAME);if(r)return[3,4];s=(e=t.dependencies)===null||e===void 0?void 0:e[eO.PACKAGE_NAME];if(!s)return[3,3];return[4,ev(eO.PACKAGE_NAME)];case 2:s=!o.sent();o.label=3;case 3:r=s;o.label=4;case 4:if(!r)return[3,5];n=V.success("Cyberskill package is already up to date.");return[3,7];case 5:V.info("\uD83D\uDCE6 Updating Cyberskill package...");return[4,ew(eO.PACKAGE_NAME)];case 6:n=(o.sent(),V.success("Cyberskill package updated successfully."));o.label=7;case 7:n;return[4,eK()];case 8:o.sent(),V.success("Project setup completed.");return[3,10];case 9:i=o.sent();throw V.error("Failed to setup project: ".concat(i.message)),i;case 10:return[2]}})});return eR.apply(this,arguments)}function eK(){return eq.apply(this,arguments)}function eq(){eq=t(function(){var e,t;return c(this,function(n){switch(n.label){case 0:V.info("Setting up Git hooks...");e=el(eO.HUSKY_PATH);if(!e)return[3,3];return[4,ec("npx rimraf ".concat(eO.HUSKY_PATH," ").concat(eO.GIT_HOOK_PATH))];case 1:n.sent();return[4,ec("git config core.hooksPath ".concat(eO.GIT_HOOK_PATH))];case 2:e=n.sent();n.label=3;case 3:e,v.writeFileSync(eO.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(eO.HOOKS_CONFIG,null,4));t=b.resolve(".gitignore");el(t)?v.readFileSync(t,"utf8").split("\n").includes(".simple-git-hooks.json")?V.info(".simple-git-hooks.json is already ignored in .gitignore"):(v.appendFileSync(t,"\n# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),V.info("Added .simple-git-hooks.json to .gitignore")):(v.writeFileSync(t,"# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),V.info("Created .gitignore and added .simple-git-hooks.json"));return[4,ec("npx simple-git-hooks")];case 4:n.sent(),V.success("Git hooks configured successfully.");return[2]}})});return eq.apply(this,arguments)}function eU(){return eD.apply(this,arguments)}function eD(){eD=t(function(){var e,t,n,r,s,i,o,a,u,l,f;return c(this,function(c){switch(c.label){case 0:e=[{command:"npm install",message:"Standard installation"},{command:"npm install --legacy-peer-deps",message:"Attempting installation with --legacy-peer-deps"},{command:"npm install --force",message:"Attempting forced installation"}];t=true,n=false,r=undefined;c.label=1;case 1:c.trys.push([1,8,9,10]);s=e[Symbol.iterator]();c.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,7];o=i.value,a=o.command,u=o.message;c.label=3;case 3:c.trys.push([3,5,,6]);V.info("".concat(u,"..."));return[4,ec(a)];case 4:c.sent(),V.success("Dependencies installed using: ".concat(a));return[2];case 5:l=c.sent();V.warning("Failed with: ".concat(a)),V.error("Error: ".concat(l.message));return[3,6];case 6:t=true;return[3,2];case 7:return[3,10];case 8:f=c.sent();n=true;r=f;return[3,10];case 9:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 10:throw new Error("Failed to install dependencies after multiple attempts.")}})});return eD.apply(this,arguments)}function eJ(){return eB.apply(this,arguments)}function eB(){eB=t(function(){return c(this,function(e){switch(e.label){case 0:return[4,eT("Resetting project","npx rimraf ".concat(E,"/node_modules ").concat(eO.PACKAGE_LOCK_PATH))];case 1:e.sent();return[4,eU()];case 2:e.sent();return[4,eK()];case 3:e.sent();return[2]}})});return eB.apply(this,arguments)}function eW(){return eY.apply(this,arguments)}function eY(){eY=t(function(){return c(this,function(e){switch(e.label){case 0:return[4,eT("Running unit tests","npx vitest --config ".concat(eO.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eY.apply(this,arguments)}function e$(){return ez.apply(this,arguments)}function ez(){ez=t(function(){return c(this,function(e){switch(e.label){case 0:return[4,eT("Running E2E tests","npx vitest --config ".concat(eO.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return ez.apply(this,arguments)}(0,_.default)((0,S.hideBin)(w.default.argv)).command("lint","Run linting checks",ex).command("lint:fix","Fix linting issues",function(){return eE(!0)}).command("lint:inspect","Inspect linting rules",eN).command("lint-staged","Run lint-staged",ej).command("commitlint","Run commitlint",eH).command("setup","Run project setup",eM).command("reset","Reset project dependencies",eJ).command("test:unit","Run unit tests",eW).command("test:e2e","Run e2e tests",e$).help().parse();
2
+ "use strict";function e(e,t,n,r,s,i,c){try{var o=e[i](c);var a=o.value}catch(e){n(e);return}if(o.done){t(a)}else{Promise.resolve(a).then(r,s)}}function t(t){return function(){var n=this,r=arguments;return new Promise(function(s,i){var c=t.apply(n,r);function o(t){e(c,s,i,o,a,"next",t)}function a(t){e(c,s,i,o,a,"throw",t)}o(undefined)})}}function n(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function r(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var s=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){s=s.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}s.forEach(function(t){n(e,t,r[t])})}return e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function i(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{s(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function o(e,t){var n,r,s,i,c={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return i={next:o(0),"throw":o(1),"return":o(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function o(e){return function(t){return a([e,t])}}function a(i){if(n)throw new TypeError("Generator is already executing.");while(c)try{if(n=1,r&&(s=i[0]&2?r["return"]:i[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;if(r=0,s)i=[i[0]&2,s.value];switch(i[0]){case 0:case 1:s=i;break;case 4:c.label++;return{value:i[1],done:false};case 5:c.label++;r=i[1];i=[0];continue;case 7:i=c.ops.pop();c.trys.pop();continue;default:if(!(s=c.trys,s=s.length>0&&s[s.length-1])&&(i[0]===6||i[0]===2)){c=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]<s[3])){c.label=i[1];break}if(i[0]===6&&c.label<s[1]){c.label=s[1];s=i;break}if(s&&c.label<s[2]){c.label=s[2];c.ops.push(i);break}if(s[2])c.ops.pop();c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e];r=0}finally{n=s=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var a=Object.create;var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var h=function(e,t,n,r){var s=true,i=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":c(t))=="object"||typeof t=="function")try{var a=function(){var s=h.value;!d.call(e,s)&&s!==n&&u(e,s,{get:function(){return t[s]},enumerable:!(r=l(t,s))||r.enumerable})};for(var p=f(t)[Symbol.iterator](),h;!(s=(h=p.next()).done);s=true)a()}catch(e){i=true;o=e}finally{try{if(!s&&p.return!=null){p.return()}}finally{if(i){throw o}}}return e};var g=function(e,t,n){return n=e!=null?a(p(e)):{},h(t||!e||!e.__esModule?u(n,"default",{value:e,enumerable:!0}):n,e)};var y=function(){return(typeof document==="undefined"?"undefined":c(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},m=y();var v=g(require("fs"),1),b=g(require("path"),1),w=g(require("process"),1),S=require("yargs/helpers"),_=g(require("yargs/yargs"),1);var O=require("path"),T=g(require("process"),1),k=require("url"),A=(0,k.fileURLToPath)(m),P=(0,O.dirname)(A),E=T.default.env.INIT_CWD||T.default.cwd();var I=g(require("boxen"),1),j=g(require("chalk"),1),C=require("child_process"),N=g(require("process"),1),G=g(require("util"),1);var x=g(require("node-persist"),1),F=g(require("os"),1),H=g(require("path"),1),L=g(require("process"),1),M=L.default.env.CYBERSKILL_STORAGE_DIR||H.default.join(F.default.homedir(),".cyberskill-storage");function R(){return K.apply(this,arguments)}function K(){K=t(function(){var e;return o(this,function(t){switch(t.label){case 0:e=x.default.defaultInstance;if(e)return[3,2];return[4,x.default.init({dir:M,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return K.apply(this,arguments)}var q={get:function e(e){return t(function(){var t,n;return o(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,R()];case 1:r.sent();return[4,x.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,n){return t(function(){var t;return o(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,R()];case 1:r.sent();return[4,x.default.setItem(e,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return t(function(){var t;return o(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,R()];case 1:n.sent();return[4,x.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return t(function(){var e,t;return o(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,R()];case 1:n.sent();return[4,x.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(console.warn("⚠️ [Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return t(function(){return o(this,function(t){try{return[2,"".concat(M," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var U=N.default.env.DEBUG==="true",D=G.promisify(C.exec),J=j.default,B=J.gray,W=J.blue,Y=function(){return B("[".concat(new Date().toLocaleTimeString(),"]"))};function $(e){var t=j.default[e];return typeof t=="function"?t:j.default.green}function z(e,t,n,r){var s=$(t);console.log("".concat(Y()," ").concat(s("".concat(n," ").concat(e))," ").concat(r))}function Q(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.color,s=r===void 0?"green":r,i=n.padding,c=i===void 0?1:i,o=n.margin,a=o===void 0?1:o,u=n.borderStyle,l=u===void 0?"round":u,f=n.titleColor,p=f===void 0?"bold":f;var d=$(s),h=$(p);if(typeof t=="string"){console.log((0,I.default)(h(d("".concat(e,"\n").concat(t))),{padding:c,margin:a,borderStyle:l,borderColor:s}));return}Array.isArray(t)&&t.length&&(t.forEach(function(e){var t=e.file,n=e.position,r=e.rule,s=e.message;console.log("".concat(Y()," ").concat(d("File:")," ").concat(W("".concat(t).concat(n?":".concat(n):"")))),r&&console.log(" ".concat(d("Rule:")," ").concat(d(r))),console.log(" ".concat(d("Message:")," ").concat(d(s)))}),console.log((0,I.default)(h(d("".concat(e,": ").concat(t.length))),{padding:c,margin:a,borderStyle:l,borderColor:s})),console.log(B("─".repeat(40))))}var V={success:function(e){return z("SUCCESS","green","✔",e)},error:function(e){return z("ERROR","red","✖",e)},warning:function(e){return z("WARNING","yellow","⚠",e)},info:function(e){return z("INFO","blue","ℹ",e)},printBoxedLog:Q},X=function(e){return"error_list:".concat(e)};function Z(e){return ee.apply(this,arguments)}function ee(){ee=t(function(e){var n,r,s;return o(this,function(i){switch(i.label){case 0:if(e.length===0)return[2];n=Date.now(),r=X(n);i.label=1;case 1:i.trys.push([1,3,,4]);return[4,q.set(r,{errors:e,timestamp:n})];case 2:i.sent(),setTimeout(/*#__PURE__*/t(function(){var e;return o(this,function(t){switch(t.label){case 0:return[4,q.getLogLink(r)];case 1:e=t.sent();e&&V.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:s=i.sent();V.error("Failed to save errors: ".concat(s.message));return[3,4];case 4:return[2]}})});return ee.apply(this,arguments)}function et(){return en.apply(this,arguments)}function en(){en=t(function(){var e,n,r;return o(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,q.keys()];case 1:e=s.sent(),n=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(n.map(/*#__PURE__*/function(){var e=t(function(e){var t;return o(this,function(n){switch(n.label){case 0:return[4,q.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,s.sent().flat()];case 3:r=s.sent();return[2,(V.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})});return en.apply(this,arguments)}function er(){return es.apply(this,arguments)}function es(){es=t(function(){var e,t,n;return o(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,q.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return q.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();V.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return es.apply(this,arguments)}function ei(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var o=s.exec(e)||[],a=i.exec(e)||[],u=c.exec(e)||[];o.length&&r?t.push({file:r,position:"".concat(o[1],":").concat(o[2]),type:o[3]==="error"?"error":"warning",message:o[4].trim(),rule:o[5].trim()}):a.length?t.push({file:a[1],position:"".concat(a[2],":").concat(a[3]),type:a[4]==="error"?"error":"warning",message:a[5].trim()}):u.length?t.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):n.push(e.trim())}}),t.length&&Z(t),n.length&&U&&(V.warning("Unmatched lines:"),n.forEach(function(e){return console.log(" ".concat(e))}))}function ec(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,c=e.ruleId,o=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(i),rule:c,message:o})})}),n.length&&Z(n)}catch(t){ei(e)}}function eo(e){return ea.apply(this,arguments)}function ea(){ea=t(function(e){var t,n,r,s,i,c,a,u,l;var f=arguments;return o(this,function(o){switch(o.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:ec;n=new AbortController;N.default.on("SIGINT",function(){V.warning("Process interrupted. Terminating..."),n.abort(),N.default.exit()});o.label=1;case 1:o.trys.push([1,3,,4]);return[4,D(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=o.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=o.sent();a=c.stdout,u=c.stderr,l=c.message;[a,u].forEach(function(e){return e&&t(e)}),!u&&!a&&V.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return ea.apply(this,arguments)}var eu=g(require("fs"),1),el=function(e){return eu.existsSync(e)};var ef=g(require("node-fetch"),1),ep=g(require("fs"),1),ed=g(require("path"),1);var eh=24*60*60*1e3;function eg(e){return e?ed.default.join(E,"node_modules",e,"package.json"):ed.default.join(E,"package.json")}function ey(e){return em.apply(this,arguments)}function em(){em=t(function(e){var t,n,r,s,i,c,a,u,l,f;var p=arguments;return o(this,function(o){switch(o.label){case 0:t=p.length>1&&p[1]!==void 0?p[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,q.get(n)];case 1:s=o.sent();return[4,q.get(r)];case 2:i=o.sent(),c=s&&Date.now()-s.timestamp<eh;if(!t&&c)return[2,(V.info("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];a={};(i===null||i===void 0?void 0:i.etag)&&(a["If-None-Match"]=i.etag),(i===null||i===void 0?void 0:i.lastModified)&&(a["If-Modified-Since"]=i.lastModified);o.label=3;case 3:o.trys.push([3,8,,9]);V.info("Fetching latest version for ".concat(e,"..."));return[4,(0,ef.default)("https://registry.npmjs.org/".concat(e,"/latest"),{headers:a})];case 4:u=o.sent();if(u.status===304&&s)return[2,(V.info("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!u.ok)throw new Error("Failed to fetch latest version: ".concat(u.statusText));return[4,u.json()];case 5:l=o.sent().version;return[4,q.set(n,{version:l,timestamp:Date.now()})];case 6:o.sent();return[4,q.set(r,{etag:u.headers.get("ETag")||void 0,lastModified:u.headers.get("Last-Modified")||void 0})];case 7:return[2,(o.sent(),V.success("Cached latest version for ".concat(e,": ").concat(l)),l)];case 8:f=o.sent();if(V.error("Error fetching latest version for ".concat(e,": ").concat(f.message)),s)return[2,(V.warning("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw f;case 9:return[2]}})});return em.apply(this,arguments)}function ev(e){return eb.apply(this,arguments)}function eb(){eb=t(function(e){var t,n,r,s,i;var c=arguments;return o(this,function(o){switch(o.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:!0;o.label=1;case 1:o.trys.push([1,3,,4]);n=eg(e);if(!ep.default.existsSync(n))return[2,(V.info("".concat(e," is not installed.")),!0)];r=JSON.parse(ep.default.readFileSync(n,"utf-8")).version;return[4,ey(e,t)];case 2:s=o.sent();return[2,(V.info("Installed version of ".concat(e,": ").concat(r)),V.info("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:i=o.sent();return[2,(V.warning("Failed to check version for ".concat(e,": ").concat(i.message)),!0)];case 4:return[2]}})});return eb.apply(this,arguments)}function ew(e){return eS.apply(this,arguments)}function eS(){eS=t(function(e){var t,s,c,a;return o(this,function(o){switch(o.label){case 0:o.trys.push([0,4,,5]);return[4,ey(e,!0)];case 1:t=o.sent(),s=eg();if(!ep.default.existsSync(s)){V.error("package.json not found. Cannot update ".concat(e));return[2]}c=JSON.parse(ep.default.readFileSync(s,"utf-8"));c.dependencies=i(r({},c.dependencies),n({},e,t)),ep.default.writeFileSync(s,JSON.stringify(c,null,2)),V.info("Updated ".concat(e," to version ").concat(t));return[4,eo("npm i -f")];case 2:o.sent();return[4,eo("npm run lint:fix")];case 3:o.sent(),V.success("".concat(e," updated successfully."));return[3,5];case 4:a=o.sent();throw V.error("Failed to update ".concat(e,": ").concat(a.message)),a;case 5:return[2]}})});return eS.apply(this,arguments)}function e_(e,t){try{var n=ed.default.join(e,"package.json");return ep.default.existsSync(n)?JSON.parse(ep.default.readFileSync(n,"utf-8")).name===t:!1}catch(e){return V.error("Error reading package.json: ".concat(e.message)),!1}}var eO={TS_CONFIG_PATH:b.resolve(E,"tsconfig.json"),HUSKY_PATH:b.resolve(E,".husky"),GIT_HOOK_PATH:b.resolve(E,".git/hooks"),GIT_COMMIT_MSG:b.resolve(E,".git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:b.resolve(E,".simple-git-hooks.json"),PACKAGE_JSON_PATH:b.resolve(E,"package.json"),PACKAGE_LOCK_PATH:b.resolve(E,"package-lock.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:b.resolve(P,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:b.resolve(P,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:b.resolve(P,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:b.resolve(P,"./configs/vitest/react/e2e.js"),HOOKS_CONFIG:{"pre-commit":"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"}};function eT(e,t){return ek.apply(this,arguments)}function ek(){ek=t(function(e,t){return o(this,function(n){switch(n.label){case 0:V.info("".concat(e,"..."));return[4,eo(t)];case 1:n.sent(),V.success("".concat(e," completed."));return[2]}})});return ek.apply(this,arguments)}function eA(){return eP.apply(this,arguments)}function eP(){eP=t(function(){var e;return o(this,function(t){switch(t.label){case 0:if(!el(eO.TS_CONFIG_PATH))return[3,2];return[4,eT("Running TypeScript check","npx tsc -p ".concat(eO.TS_CONFIG_PATH," --noEmit"))];case 1:e=t.sent();return[3,3];case 2:e=V.warning("TypeScript config not found. Skipping TypeScript check.");t.label=3;case 3:e;return[2]}})});return eP.apply(this,arguments)}function eE(){return eI.apply(this,arguments)}function eI(){eI=t(function(){var e;var t=arguments;return o(this,function(n){switch(n.label){case 0:e=t.length>0&&t[0]!==void 0?t[0]:!1;return[4,eT("Running ESLint ".concat(e?"(with fix)":"(without fix)"),"npx eslint ".concat(E).concat(e?" --fix":""))];case 1:n.sent();return[2]}})});return eI.apply(this,arguments)}function ej(){return eC.apply(this,arguments)}function eC(){eC=t(function(){var e;return o(this,function(t){switch(t.label){case 0:if(!e_(E,eO.PACKAGE_NAME))return[3,5];V.info("@cyberskill/shared detected. Building before lint-staged...");t.label=1;case 1:t.trys.push([1,4,,5]);return[4,eT("Building @cyberskill/shared","npm run build")];case 2:t.sent();return[4,eo("git add dist")];case 3:t.sent(),V.success("Built and staged @cyberskill/shared");return[3,5];case 4:e=t.sent();throw V.error("Failed to build and stage @cyberskill/shared: ".concat(e.message)),e;case 5:return[4,eT("Running lint-staged","npx lint-staged --config ".concat(eO.LINT_STAGED_CONFIG_PATH))];case 6:t.sent();return[2]}})});return eC.apply(this,arguments)}function eN(){return eG.apply(this,arguments)}function eG(){eG=t(function(){return o(this,function(e){switch(e.label){case 0:return[4,eT("Inspecting ESLint rules","npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eG.apply(this,arguments)}function ex(){return eF.apply(this,arguments)}function eF(){eF=t(function(){var e,t,n;return o(this,function(r){switch(r.label){case 0:return[4,er()];case 1:r.sent();return[4,Promise.all([eA(),eE()])];case 2:r.sent();return[4,et()];case 3:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?V.printBoxedLog("✔ NO ISSUES FOUND","",{color:"green"}):(V.printBoxedLog("⚠ Warnings",n,{color:"yellow"}),V.printBoxedLog("✖ Errors",t,{color:"red"})),V.success("Lint check completed.");return[2]}})});return eF.apply(this,arguments)}function eH(){return eL.apply(this,arguments)}function eL(){eL=t(function(){return o(this,function(e){switch(e.label){case 0:return[4,eT("Running commit lint","npx commitlint --edit ".concat(eO.GIT_COMMIT_MSG," --config ").concat(eO.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eL.apply(this,arguments)}function eM(){return eR.apply(this,arguments)}function eR(){eR=t(function(){var e,t,n,r,s,i;return o(this,function(c){switch(c.label){case 0:if(V.info("Starting project setup..."),!el(eO.PACKAGE_JSON_PATH)){V.error("package.json not found. Aborting setup.");return[2]}c.label=1;case 1:c.trys.push([1,9,,10]);t=JSON.parse(v.readFileSync(eO.PACKAGE_JSON_PATH,"utf-8"));r=e_(E,eO.PACKAGE_NAME);if(r)return[3,4];s=(e=t.dependencies)===null||e===void 0?void 0:e[eO.PACKAGE_NAME];if(!s)return[3,3];return[4,ev(eO.PACKAGE_NAME)];case 2:s=!c.sent();c.label=3;case 3:r=s;c.label=4;case 4:if(!r)return[3,5];n=V.success("Cyberskill package is already up to date.");return[3,7];case 5:V.info("\uD83D\uDCE6 Updating Cyberskill package...");return[4,ew(eO.PACKAGE_NAME)];case 6:n=(c.sent(),V.success("Cyberskill package updated successfully."));c.label=7;case 7:n;return[4,eK()];case 8:c.sent(),V.success("Project setup completed.");return[3,10];case 9:i=c.sent();throw V.error("Failed to setup project: ".concat(i.message)),i;case 10:return[2]}})});return eR.apply(this,arguments)}function eK(){return eq.apply(this,arguments)}function eq(){eq=t(function(){var e,t;return o(this,function(n){switch(n.label){case 0:V.info("Setting up Git hooks...");e=el(eO.HUSKY_PATH);if(!e)return[3,3];return[4,eo("npx rimraf ".concat(eO.HUSKY_PATH," ").concat(eO.GIT_HOOK_PATH))];case 1:n.sent();return[4,eo("git config core.hooksPath ".concat(eO.GIT_HOOK_PATH))];case 2:e=n.sent();n.label=3;case 3:e,v.writeFileSync(eO.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(eO.HOOKS_CONFIG,null,4));t=b.resolve(".gitignore");el(t)?v.readFileSync(t,"utf8").split("\n").includes(".simple-git-hooks.json")?V.info(".simple-git-hooks.json is already ignored in .gitignore"):(v.appendFileSync(t,"\n# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),V.info("Added .simple-git-hooks.json to .gitignore")):(v.writeFileSync(t,"# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),V.info("Created .gitignore and added .simple-git-hooks.json"));return[4,eo("npx simple-git-hooks")];case 4:n.sent(),V.success("Git hooks configured successfully.");return[2]}})});return eq.apply(this,arguments)}function eU(){return eD.apply(this,arguments)}function eD(){eD=t(function(){var e,t,n,r,s,i,c,a,u,l,f;return o(this,function(o){switch(o.label){case 0:e=[{command:"npm install",message:"Standard installation"},{command:"npm install --legacy-peer-deps",message:"Attempting installation with --legacy-peer-deps"},{command:"npm install --force",message:"Attempting forced installation"}];t=true,n=false,r=undefined;o.label=1;case 1:o.trys.push([1,8,9,10]);s=e[Symbol.iterator]();o.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,7];c=i.value,a=c.command,u=c.message;o.label=3;case 3:o.trys.push([3,5,,6]);V.info("".concat(u,"..."));return[4,eo(a)];case 4:o.sent(),V.success("Dependencies installed using: ".concat(a));return[2];case 5:l=o.sent();V.warning("Failed with: ".concat(a)),V.error("Error: ".concat(l.message));return[3,6];case 6:t=true;return[3,2];case 7:return[3,10];case 8:f=o.sent();n=true;r=f;return[3,10];case 9:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 10:throw new Error("Failed to install dependencies after multiple attempts.")}})});return eD.apply(this,arguments)}function eJ(){return eB.apply(this,arguments)}function eB(){eB=t(function(){return o(this,function(e){switch(e.label){case 0:return[4,eT("Resetting project","npx rimraf ".concat(E,"/node_modules ").concat(eO.PACKAGE_LOCK_PATH))];case 1:e.sent();return[4,eU()];case 2:e.sent();return[4,eK()];case 3:e.sent();return[2]}})});return eB.apply(this,arguments)}function eW(){return eY.apply(this,arguments)}function eY(){eY=t(function(){return o(this,function(e){switch(e.label){case 0:return[4,eT("Inspecting project dependencies","npx node-modules-inspector")];case 1:e.sent();return[2]}})});return eY.apply(this,arguments)}function e$(){return ez.apply(this,arguments)}function ez(){ez=t(function(){return o(this,function(e){switch(e.label){case 0:return[4,eT("Running unit tests","npx vitest --config ".concat(eO.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return ez.apply(this,arguments)}function eQ(){return eV.apply(this,arguments)}function eV(){eV=t(function(){return o(this,function(e){switch(e.label){case 0:return[4,eT("Running E2E tests","npx vitest --config ".concat(eO.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eV.apply(this,arguments)}(0,_.default)((0,S.hideBin)(w.default.argv)).command("lint","Run linting checks",ex).command("lint:fix","Fix linting issues",function(){return eE(!0)}).command("lint:inspect","Inspect linting rules",eN).command("lint-staged","Run lint-staged",ej).command("commitlint","Run commitlint",eH).command("setup","Run project setup",eM).command("reset","Reset project dependencies",eJ).command("inspect","Inspect project dependencies",eW).command("test:unit","Run unit tests",e$).command("test:e2e","Run e2e tests",eQ).help().parse();
package/dist/commands.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function e(e,n,t,r,s,o,i){try{var c=e[o](i);var a=c.value}catch(e){t(e);return}if(c.done){n(a)}else{Promise.resolve(a).then(r,s)}}function n(n){return function(){var t=this,r=arguments;return new Promise(function(s,o){var i=n.apply(t,r);function c(n){e(i,s,o,c,a,"next",n)}function a(n){e(i,s,o,c,a,"throw",n)}c(undefined)})}}function t(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}return e}function r(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};var s=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){s=s.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}s.forEach(function(n){t(e,n,r[n])})}return e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(n){r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})}t.push.apply(t,r)}return t}function o(e,n){n=n!=null?n:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(n))}else{s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(e,n){var t,r,s,o,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return o={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(n){return a([e,n])}}function a(o){if(t)throw new TypeError("Generator is already executing.");while(i)try{if(t=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:i.label++;return{value:o[1],done:false};case 5:i.label++;r=o[1];o=[0];continue;case 7:o=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){i=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){i.label=o[1];break}if(o[0]===6&&i.label<s[1]){i.label=s[1];s=o;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(o);break}if(s[2])i.ops.pop();i.trys.pop();continue}o=n.call(e,i)}catch(e){o=[6,e];r=0}finally{t=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}import*as c from"node:fs";import*as a from"node:path";import u from"node:process";import{hideBin as l}from"yargs/helpers";import f from"yargs/yargs";import{dirname as p}from"node:path";import g from"node:process";import{fileURLToPath as h}from"node:url";var d=h(import.meta.url),m=p(d),y=g.env.INIT_CWD||g.cwd();import v from"boxen";import b from"chalk";import{exec as w}from"node:child_process";import S from"node:process";import*as _ from"node:util";import O from"node-persist";import T from"node:os";import k from"node:path";import A from"node:process";var E=A.env.CYBERSKILL_STORAGE_DIR||k.join(T.homedir(),".cyberskill-storage");function P(){return I.apply(this,arguments)}function I(){I=n(function(){var e;return i(this,function(n){switch(n.label){case 0:e=O.defaultInstance;if(e)return[3,2];return[4,O.init({dir:E,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=n.sent();n.label=2;case 2:e;return[2]}})});return I.apply(this,arguments)}var j={get:function e(e){return n(function(){var n,t;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,P()];case 1:r.sent();return[4,O.getItem(e)];case 2:return[2,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,t){return n(function(){var n;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,P()];case 1:r.sent();return[4,O.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return n(function(){var n;return i(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,P()];case 1:t.sent();return[4,O.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},keys:function e(){return n(function(){var e,n;return i(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,P()];case 1:t.sent();return[4,O.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(console.warn("⚠️ [Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",n),[])];case 4:return[2]}})})()},getLogLink:function e(e){return n(function(){return i(this,function(n){try{return[2,"".concat(E," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var C=S.env.DEBUG==="true",N=_.promisify(w),G=b.gray,x=b.blue,F=function(){return G("[".concat(new Date().toLocaleTimeString(),"]"))};function H(e){var n=b[e];return typeof n=="function"?n:b.green}function M(e,n,t,r){var s=H(n);console.log("".concat(F()," ").concat(s("".concat(t," ").concat(e))," ").concat(r))}function L(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=t.color,s=r===void 0?"green":r,o=t.padding,i=o===void 0?1:o,c=t.margin,a=c===void 0?1:c,u=t.borderStyle,l=u===void 0?"round":u,f=t.titleColor,p=f===void 0?"bold":f;var g=H(s),h=H(p);if(typeof n=="string"){console.log(v(h(g("".concat(e,"\n").concat(n))),{padding:i,margin:a,borderStyle:l,borderColor:s}));return}Array.isArray(n)&&n.length&&(n.forEach(function(e){var n=e.file,t=e.position,r=e.rule,s=e.message;console.log("".concat(F()," ").concat(g("File:")," ").concat(x("".concat(n).concat(t?":".concat(t):"")))),r&&console.log(" ".concat(g("Rule:")," ").concat(g(r))),console.log(" ".concat(g("Message:")," ").concat(g(s)))}),console.log(v(h(g("".concat(e,": ").concat(n.length))),{padding:i,margin:a,borderStyle:l,borderColor:s})),console.log(G("─".repeat(40))))}var R={success:function(e){return M("SUCCESS","green","✔",e)},error:function(e){return M("ERROR","red","✖",e)},warning:function(e){return M("WARNING","yellow","⚠",e)},info:function(e){return M("INFO","blue","ℹ",e)},printBoxedLog:L},K=function(e){return"error_list:".concat(e)};function D(e){return U.apply(this,arguments)}function U(){U=n(function(e){var t,r,s;return i(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),r=K(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,j.set(r,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/n(function(){var e;return i(this,function(n){switch(n.label){case 0:return[4,j.getLogLink(r)];case 1:e=n.sent();e&&R.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:s=o.sent();R.error("Failed to save errors: ".concat(s.message));return[3,4];case 4:return[2]}})});return U.apply(this,arguments)}function J(){return B.apply(this,arguments)}function B(){B=n(function(){var e,t,r;return i(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,j.keys()];case 1:e=s.sent(),t=Array.isArray(e)?e.filter(function(e){var n;return e===null||e===void 0?void 0:(n=e.startsWith)===null||n===void 0?void 0:n.call(e,"error_list:")}):[];return[4,Promise.all(t.map(/*#__PURE__*/function(){var e=n(function(e){var n;return i(this,function(t){switch(t.label){case 0:return[4,j.get(e)];case 1:return[2,((n=t.sent())===null||n===void 0?void 0:n.errors)||[]]}})});return function(n){return e.apply(this,arguments)}}()))];case 2:return[2,s.sent().flat()];case 3:r=s.sent();return[2,(R.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})});return B.apply(this,arguments)}function W(){return Y.apply(this,arguments)}function Y(){Y=n(function(){var e,n,t;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,j.keys()];case 1:e=r.sent(),n=Array.isArray(e)?e.filter(function(e){var n;return e===null||e===void 0?void 0:(n=e.startsWith)===null||n===void 0?void 0:n.call(e,"error_list:")}):[];return[4,Promise.all(n.map(function(e){return j.remove(e)}))];case 2:r.sent();return[3,4];case 3:t=r.sent();R.error("Failed to clear error lists: ".concat(t.message));return[3,4];case 4:return[2]}})});return Y.apply(this,arguments)}function $(e){var n=[],t=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c=s.exec(e)||[],a=o.exec(e)||[],u=i.exec(e)||[];c.length&&r?n.push({file:r,position:"".concat(c[1],":").concat(c[2]),type:c[3]==="error"?"error":"warning",message:c[4].trim(),rule:c[5].trim()}):a.length?n.push({file:a[1],position:"".concat(a[2],":").concat(a[3]),type:a[4]==="error"?"error":"warning",message:a[5].trim()}):u.length?n.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):t.push(e.trim())}}),n.length&&D(n),t.length&&C&&(R.warning("Unmatched lines:"),t.forEach(function(e){return console.log(" ".concat(e))}))}function q(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,o=e.column,i=e.ruleId,c=e.message;t.push({type:r===2?"error":"warning",file:n,position:"".concat(s,":").concat(o),rule:i,message:c})})}),t.length&&D(t)}catch(n){$(e)}}function z(e){return Q.apply(this,arguments)}function Q(){Q=n(function(e){var n,t,r,s,o,c,a,u,l;var f=arguments;return i(this,function(i){switch(i.label){case 0:n=f.length>1&&f[1]!==void 0?f[1]:q;t=new AbortController;S.on("SIGINT",function(){R.warning("Process interrupted. Terminating..."),t.abort(),S.exit()});i.label=1;case 1:i.trys.push([1,3,,4]);return[4,N(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=i.sent(),s=r.stdout,o=r.stderr;[s,o].forEach(function(e){return e&&n(e)});return[3,4];case 3:c=i.sent();a=c.stdout,u=c.stderr,l=c.message;[a,u].forEach(function(e){return e&&n(e)}),!u&&!a&&R.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return Q.apply(this,arguments)}import*as V from"node:fs";var X=function(e){return V.existsSync(e)};import Z from"node-fetch";import ee from"node:fs";import en from"node:path";var et=24*60*60*1e3;function er(e){return e?en.join(y,"node_modules",e,"package.json"):en.join(y,"package.json")}function es(e){return eo.apply(this,arguments)}function eo(){eo=n(function(e){var n,t,r,s,o,c,a,u,l,f;var p=arguments;return i(this,function(i){switch(i.label){case 0:n=p.length>1&&p[1]!==void 0?p[1]:!1;t="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,j.get(t)];case 1:s=i.sent();return[4,j.get(r)];case 2:o=i.sent(),c=s&&Date.now()-s.timestamp<et;if(!n&&c)return[2,(R.info("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];a={};(o===null||o===void 0?void 0:o.etag)&&(a["If-None-Match"]=o.etag),(o===null||o===void 0?void 0:o.lastModified)&&(a["If-Modified-Since"]=o.lastModified);i.label=3;case 3:i.trys.push([3,8,,9]);R.info("Fetching latest version for ".concat(e,"..."));return[4,Z("https://registry.npmjs.org/".concat(e,"/latest"),{headers:a})];case 4:u=i.sent();if(u.status===304&&s)return[2,(R.info("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!u.ok)throw new Error("Failed to fetch latest version: ".concat(u.statusText));return[4,u.json()];case 5:l=i.sent().version;return[4,j.set(t,{version:l,timestamp:Date.now()})];case 6:i.sent();return[4,j.set(r,{etag:u.headers.get("ETag")||void 0,lastModified:u.headers.get("Last-Modified")||void 0})];case 7:return[2,(i.sent(),R.success("Cached latest version for ".concat(e,": ").concat(l)),l)];case 8:f=i.sent();if(R.error("Error fetching latest version for ".concat(e,": ").concat(f.message)),s)return[2,(R.warning("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw f;case 9:return[2]}})});return eo.apply(this,arguments)}function ei(e){return ec.apply(this,arguments)}function ec(){ec=n(function(e){var n,t,r,s,o;var c=arguments;return i(this,function(i){switch(i.label){case 0:n=c.length>1&&c[1]!==void 0?c[1]:!0;i.label=1;case 1:i.trys.push([1,3,,4]);t=er(e);if(!ee.existsSync(t))return[2,(R.info("".concat(e," is not installed.")),!0)];r=JSON.parse(ee.readFileSync(t,"utf-8")).version;return[4,es(e,n)];case 2:s=i.sent();return[2,(R.info("Installed version of ".concat(e,": ").concat(r)),R.info("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:o=i.sent();return[2,(R.warning("Failed to check version for ".concat(e,": ").concat(o.message)),!0)];case 4:return[2]}})});return ec.apply(this,arguments)}function ea(e){return eu.apply(this,arguments)}function eu(){eu=n(function(e){var n,s,c,a;return i(this,function(i){switch(i.label){case 0:i.trys.push([0,4,,5]);return[4,es(e,!0)];case 1:n=i.sent(),s=er();if(!ee.existsSync(s)){R.error("package.json not found. Cannot update ".concat(e));return[2]}c=JSON.parse(ee.readFileSync(s,"utf-8"));c.dependencies=o(r({},c.dependencies),t({},e,n)),ee.writeFileSync(s,JSON.stringify(c,null,2)),R.info("Updated ".concat(e," to version ").concat(n));return[4,z("npm i -f")];case 2:i.sent();return[4,z("npm run lint:fix")];case 3:i.sent(),R.success("".concat(e," updated successfully."));return[3,5];case 4:a=i.sent();throw R.error("Failed to update ".concat(e,": ").concat(a.message)),a;case 5:return[2]}})});return eu.apply(this,arguments)}function el(e,n){try{var t=en.join(e,"package.json");return ee.existsSync(t)?JSON.parse(ee.readFileSync(t,"utf-8")).name===n:!1}catch(e){return R.error("Error reading package.json: ".concat(e.message)),!1}}var ef={TS_CONFIG_PATH:a.resolve(y,"tsconfig.json"),HUSKY_PATH:a.resolve(y,".husky"),GIT_HOOK_PATH:a.resolve(y,".git/hooks"),GIT_COMMIT_MSG:a.resolve(y,".git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:a.resolve(y,".simple-git-hooks.json"),PACKAGE_JSON_PATH:a.resolve(y,"package.json"),PACKAGE_LOCK_PATH:a.resolve(y,"package-lock.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:a.resolve(m,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:a.resolve(m,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:a.resolve(m,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:a.resolve(m,"./configs/vitest/react/e2e.js"),HOOKS_CONFIG:{"pre-commit":"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"}};function ep(e,n){return eg.apply(this,arguments)}function eg(){eg=n(function(e,n){return i(this,function(t){switch(t.label){case 0:R.info("".concat(e,"..."));return[4,z(n)];case 1:t.sent(),R.success("".concat(e," completed."));return[2]}})});return eg.apply(this,arguments)}function eh(){return ed.apply(this,arguments)}function ed(){ed=n(function(){var e;return i(this,function(n){switch(n.label){case 0:if(!X(ef.TS_CONFIG_PATH))return[3,2];return[4,ep("Running TypeScript check","npx tsc -p ".concat(ef.TS_CONFIG_PATH," --noEmit"))];case 1:e=n.sent();return[3,3];case 2:e=R.warning("TypeScript config not found. Skipping TypeScript check.");n.label=3;case 3:e;return[2]}})});return ed.apply(this,arguments)}function em(){return ey.apply(this,arguments)}function ey(){ey=n(function(){var e;var n=arguments;return i(this,function(t){switch(t.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;return[4,ep("Running ESLint ".concat(e?"(with fix)":"(without fix)"),"npx eslint ".concat(y).concat(e?" --fix":""))];case 1:t.sent();return[2]}})});return ey.apply(this,arguments)}function ev(){return eb.apply(this,arguments)}function eb(){eb=n(function(){var e;return i(this,function(n){switch(n.label){case 0:if(!el(y,ef.PACKAGE_NAME))return[3,5];R.info("@cyberskill/shared detected. Building before lint-staged...");n.label=1;case 1:n.trys.push([1,4,,5]);return[4,ep("Building @cyberskill/shared","npm run build")];case 2:n.sent();return[4,z("git add dist")];case 3:n.sent(),R.success("Built and staged @cyberskill/shared");return[3,5];case 4:e=n.sent();throw R.error("Failed to build and stage @cyberskill/shared: ".concat(e.message)),e;case 5:return[4,ep("Running lint-staged","npx lint-staged --config ".concat(ef.LINT_STAGED_CONFIG_PATH))];case 6:n.sent();return[2]}})});return eb.apply(this,arguments)}function ew(){return eS.apply(this,arguments)}function eS(){eS=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Inspecting ESLint rules","npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eS.apply(this,arguments)}function e_(){return eO.apply(this,arguments)}function eO(){eO=n(function(){var e,n,t;return i(this,function(r){switch(r.label){case 0:return[4,W()];case 1:r.sent();return[4,Promise.all([eh(),em()])];case 2:r.sent();return[4,J()];case 3:e=r.sent(),n=e.filter(function(e){return e.type==="error"}),t=e.filter(function(e){return e.type==="warning"});!n.length&&!t.length?R.printBoxedLog("✔ NO ISSUES FOUND","",{color:"green"}):(R.printBoxedLog("⚠ Warnings",t,{color:"yellow"}),R.printBoxedLog("✖ Errors",n,{color:"red"})),R.success("Lint check completed.");return[2]}})});return eO.apply(this,arguments)}function eT(){return ek.apply(this,arguments)}function ek(){ek=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Running commit lint","npx commitlint --edit ".concat(ef.GIT_COMMIT_MSG," --config ").concat(ef.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return ek.apply(this,arguments)}function eA(){return eE.apply(this,arguments)}function eE(){eE=n(function(){var e,n,t,r,s,o;return i(this,function(i){switch(i.label){case 0:if(R.info("Starting project setup..."),!X(ef.PACKAGE_JSON_PATH)){R.error("package.json not found. Aborting setup.");return[2]}i.label=1;case 1:i.trys.push([1,9,,10]);n=JSON.parse(c.readFileSync(ef.PACKAGE_JSON_PATH,"utf-8"));r=el(y,ef.PACKAGE_NAME);if(r)return[3,4];s=(e=n.dependencies)===null||e===void 0?void 0:e[ef.PACKAGE_NAME];if(!s)return[3,3];return[4,ei(ef.PACKAGE_NAME)];case 2:s=!i.sent();i.label=3;case 3:r=s;i.label=4;case 4:if(!r)return[3,5];t=R.success("Cyberskill package is already up to date.");return[3,7];case 5:R.info("\uD83D\uDCE6 Updating Cyberskill package...");return[4,ea(ef.PACKAGE_NAME)];case 6:t=(i.sent(),R.success("Cyberskill package updated successfully."));i.label=7;case 7:t;return[4,eP()];case 8:i.sent(),R.success("Project setup completed.");return[3,10];case 9:o=i.sent();throw R.error("Failed to setup project: ".concat(o.message)),o;case 10:return[2]}})});return eE.apply(this,arguments)}function eP(){return eI.apply(this,arguments)}function eI(){eI=n(function(){var e,n;return i(this,function(t){switch(t.label){case 0:R.info("Setting up Git hooks...");e=X(ef.HUSKY_PATH);if(!e)return[3,3];return[4,z("npx rimraf ".concat(ef.HUSKY_PATH," ").concat(ef.GIT_HOOK_PATH))];case 1:t.sent();return[4,z("git config core.hooksPath ".concat(ef.GIT_HOOK_PATH))];case 2:e=t.sent();t.label=3;case 3:e,c.writeFileSync(ef.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(ef.HOOKS_CONFIG,null,4));n=a.resolve(".gitignore");X(n)?c.readFileSync(n,"utf8").split("\n").includes(".simple-git-hooks.json")?R.info(".simple-git-hooks.json is already ignored in .gitignore"):(c.appendFileSync(n,"\n# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),R.info("Added .simple-git-hooks.json to .gitignore")):(c.writeFileSync(n,"# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),R.info("Created .gitignore and added .simple-git-hooks.json"));return[4,z("npx simple-git-hooks")];case 4:t.sent(),R.success("Git hooks configured successfully.");return[2]}})});return eI.apply(this,arguments)}function ej(){return eC.apply(this,arguments)}function eC(){eC=n(function(){var e,n,t,r,s,o,c,a,u,l,f;return i(this,function(i){switch(i.label){case 0:e=[{command:"npm install",message:"Standard installation"},{command:"npm install --legacy-peer-deps",message:"Attempting installation with --legacy-peer-deps"},{command:"npm install --force",message:"Attempting forced installation"}];n=true,t=false,r=undefined;i.label=1;case 1:i.trys.push([1,8,9,10]);s=e[Symbol.iterator]();i.label=2;case 2:if(!!(n=(o=s.next()).done))return[3,7];c=o.value,a=c.command,u=c.message;i.label=3;case 3:i.trys.push([3,5,,6]);R.info("".concat(u,"..."));return[4,z(a)];case 4:i.sent(),R.success("Dependencies installed using: ".concat(a));return[2];case 5:l=i.sent();R.warning("Failed with: ".concat(a)),R.error("Error: ".concat(l.message));return[3,6];case 6:n=true;return[3,2];case 7:return[3,10];case 8:f=i.sent();t=true;r=f;return[3,10];case 9:try{if(!n&&s.return!=null){s.return()}}finally{if(t){throw r}}return[7];case 10:throw new Error("Failed to install dependencies after multiple attempts.")}})});return eC.apply(this,arguments)}function eN(){return eG.apply(this,arguments)}function eG(){eG=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Resetting project","npx rimraf ".concat(y,"/node_modules ").concat(ef.PACKAGE_LOCK_PATH))];case 1:e.sent();return[4,ej()];case 2:e.sent();return[4,eP()];case 3:e.sent();return[2]}})});return eG.apply(this,arguments)}function ex(){return eF.apply(this,arguments)}function eF(){eF=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Running unit tests","npx vitest --config ".concat(ef.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eF.apply(this,arguments)}function eH(){return eM.apply(this,arguments)}function eM(){eM=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Running E2E tests","npx vitest --config ".concat(ef.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eM.apply(this,arguments)}f(l(u.argv)).command("lint","Run linting checks",e_).command("lint:fix","Fix linting issues",function(){return em(!0)}).command("lint:inspect","Inspect linting rules",ew).command("lint-staged","Run lint-staged",ev).command("commitlint","Run commitlint",eT).command("setup","Run project setup",eA).command("reset","Reset project dependencies",eN).command("test:unit","Run unit tests",ex).command("test:e2e","Run e2e tests",eH).help().parse();
2
+ function e(e,n,t,r,s,o,i){try{var c=e[o](i);var a=c.value}catch(e){t(e);return}if(c.done){n(a)}else{Promise.resolve(a).then(r,s)}}function n(n){return function(){var t=this,r=arguments;return new Promise(function(s,o){var i=n.apply(t,r);function c(n){e(i,s,o,c,a,"next",n)}function a(n){e(i,s,o,c,a,"throw",n)}c(undefined)})}}function t(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}return e}function r(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};var s=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){s=s.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}s.forEach(function(n){t(e,n,r[n])})}return e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(n){r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})}t.push.apply(t,r)}return t}function o(e,n){n=n!=null?n:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(n))}else{s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(e,n){var t,r,s,o,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return o={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(n){return a([e,n])}}function a(o){if(t)throw new TypeError("Generator is already executing.");while(i)try{if(t=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:i.label++;return{value:o[1],done:false};case 5:i.label++;r=o[1];o=[0];continue;case 7:o=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){i=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){i.label=o[1];break}if(o[0]===6&&i.label<s[1]){i.label=s[1];s=o;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(o);break}if(s[2])i.ops.pop();i.trys.pop();continue}o=n.call(e,i)}catch(e){o=[6,e];r=0}finally{t=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}import*as c from"node:fs";import*as a from"node:path";import u from"node:process";import{hideBin as l}from"yargs/helpers";import f from"yargs/yargs";import{dirname as p}from"node:path";import d from"node:process";import{fileURLToPath as h}from"node:url";var g=h(import.meta.url),m=p(g),y=d.env.INIT_CWD||d.cwd();import v from"boxen";import b from"chalk";import{exec as w}from"node:child_process";import S from"node:process";import*as _ from"node:util";import O from"node-persist";import T from"node:os";import k from"node:path";import A from"node:process";var E=A.env.CYBERSKILL_STORAGE_DIR||k.join(T.homedir(),".cyberskill-storage");function P(){return I.apply(this,arguments)}function I(){I=n(function(){var e;return i(this,function(n){switch(n.label){case 0:e=O.defaultInstance;if(e)return[3,2];return[4,O.init({dir:E,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=n.sent();n.label=2;case 2:e;return[2]}})});return I.apply(this,arguments)}var j={get:function e(e){return n(function(){var n,t;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,P()];case 1:r.sent();return[4,O.getItem(e)];case 2:return[2,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,t){return n(function(){var n;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,P()];case 1:r.sent();return[4,O.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return n(function(){var n;return i(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,P()];case 1:t.sent();return[4,O.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},keys:function e(){return n(function(){var e,n;return i(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,P()];case 1:t.sent();return[4,O.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(console.warn("⚠️ [Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",n),[])];case 4:return[2]}})})()},getLogLink:function e(e){return n(function(){return i(this,function(n){try{return[2,"".concat(E," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var C=S.env.DEBUG==="true",N=_.promisify(w),G=b.gray,x=b.blue,F=function(){return G("[".concat(new Date().toLocaleTimeString(),"]"))};function H(e){var n=b[e];return typeof n=="function"?n:b.green}function M(e,n,t,r){var s=H(n);console.log("".concat(F()," ").concat(s("".concat(t," ").concat(e))," ").concat(r))}function L(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=t.color,s=r===void 0?"green":r,o=t.padding,i=o===void 0?1:o,c=t.margin,a=c===void 0?1:c,u=t.borderStyle,l=u===void 0?"round":u,f=t.titleColor,p=f===void 0?"bold":f;var d=H(s),h=H(p);if(typeof n=="string"){console.log(v(h(d("".concat(e,"\n").concat(n))),{padding:i,margin:a,borderStyle:l,borderColor:s}));return}Array.isArray(n)&&n.length&&(n.forEach(function(e){var n=e.file,t=e.position,r=e.rule,s=e.message;console.log("".concat(F()," ").concat(d("File:")," ").concat(x("".concat(n).concat(t?":".concat(t):"")))),r&&console.log(" ".concat(d("Rule:")," ").concat(d(r))),console.log(" ".concat(d("Message:")," ").concat(d(s)))}),console.log(v(h(d("".concat(e,": ").concat(n.length))),{padding:i,margin:a,borderStyle:l,borderColor:s})),console.log(G("─".repeat(40))))}var R={success:function(e){return M("SUCCESS","green","✔",e)},error:function(e){return M("ERROR","red","✖",e)},warning:function(e){return M("WARNING","yellow","⚠",e)},info:function(e){return M("INFO","blue","ℹ",e)},printBoxedLog:L},K=function(e){return"error_list:".concat(e)};function D(e){return U.apply(this,arguments)}function U(){U=n(function(e){var t,r,s;return i(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),r=K(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,j.set(r,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/n(function(){var e;return i(this,function(n){switch(n.label){case 0:return[4,j.getLogLink(r)];case 1:e=n.sent();e&&R.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:s=o.sent();R.error("Failed to save errors: ".concat(s.message));return[3,4];case 4:return[2]}})});return U.apply(this,arguments)}function J(){return B.apply(this,arguments)}function B(){B=n(function(){var e,t,r;return i(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,j.keys()];case 1:e=s.sent(),t=Array.isArray(e)?e.filter(function(e){var n;return e===null||e===void 0?void 0:(n=e.startsWith)===null||n===void 0?void 0:n.call(e,"error_list:")}):[];return[4,Promise.all(t.map(/*#__PURE__*/function(){var e=n(function(e){var n;return i(this,function(t){switch(t.label){case 0:return[4,j.get(e)];case 1:return[2,((n=t.sent())===null||n===void 0?void 0:n.errors)||[]]}})});return function(n){return e.apply(this,arguments)}}()))];case 2:return[2,s.sent().flat()];case 3:r=s.sent();return[2,(R.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})});return B.apply(this,arguments)}function W(){return Y.apply(this,arguments)}function Y(){Y=n(function(){var e,n,t;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,j.keys()];case 1:e=r.sent(),n=Array.isArray(e)?e.filter(function(e){var n;return e===null||e===void 0?void 0:(n=e.startsWith)===null||n===void 0?void 0:n.call(e,"error_list:")}):[];return[4,Promise.all(n.map(function(e){return j.remove(e)}))];case 2:r.sent();return[3,4];case 3:t=r.sent();R.error("Failed to clear error lists: ".concat(t.message));return[3,4];case 4:return[2]}})});return Y.apply(this,arguments)}function $(e){var n=[],t=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c=s.exec(e)||[],a=o.exec(e)||[],u=i.exec(e)||[];c.length&&r?n.push({file:r,position:"".concat(c[1],":").concat(c[2]),type:c[3]==="error"?"error":"warning",message:c[4].trim(),rule:c[5].trim()}):a.length?n.push({file:a[1],position:"".concat(a[2],":").concat(a[3]),type:a[4]==="error"?"error":"warning",message:a[5].trim()}):u.length?n.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):t.push(e.trim())}}),n.length&&D(n),t.length&&C&&(R.warning("Unmatched lines:"),t.forEach(function(e){return console.log(" ".concat(e))}))}function q(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,o=e.column,i=e.ruleId,c=e.message;t.push({type:r===2?"error":"warning",file:n,position:"".concat(s,":").concat(o),rule:i,message:c})})}),t.length&&D(t)}catch(n){$(e)}}function z(e){return Q.apply(this,arguments)}function Q(){Q=n(function(e){var n,t,r,s,o,c,a,u,l;var f=arguments;return i(this,function(i){switch(i.label){case 0:n=f.length>1&&f[1]!==void 0?f[1]:q;t=new AbortController;S.on("SIGINT",function(){R.warning("Process interrupted. Terminating..."),t.abort(),S.exit()});i.label=1;case 1:i.trys.push([1,3,,4]);return[4,N(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=i.sent(),s=r.stdout,o=r.stderr;[s,o].forEach(function(e){return e&&n(e)});return[3,4];case 3:c=i.sent();a=c.stdout,u=c.stderr,l=c.message;[a,u].forEach(function(e){return e&&n(e)}),!u&&!a&&R.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return Q.apply(this,arguments)}import*as V from"node:fs";var X=function(e){return V.existsSync(e)};import Z from"node-fetch";import ee from"node:fs";import en from"node:path";var et=24*60*60*1e3;function er(e){return e?en.join(y,"node_modules",e,"package.json"):en.join(y,"package.json")}function es(e){return eo.apply(this,arguments)}function eo(){eo=n(function(e){var n,t,r,s,o,c,a,u,l,f;var p=arguments;return i(this,function(i){switch(i.label){case 0:n=p.length>1&&p[1]!==void 0?p[1]:!1;t="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,j.get(t)];case 1:s=i.sent();return[4,j.get(r)];case 2:o=i.sent(),c=s&&Date.now()-s.timestamp<et;if(!n&&c)return[2,(R.info("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];a={};(o===null||o===void 0?void 0:o.etag)&&(a["If-None-Match"]=o.etag),(o===null||o===void 0?void 0:o.lastModified)&&(a["If-Modified-Since"]=o.lastModified);i.label=3;case 3:i.trys.push([3,8,,9]);R.info("Fetching latest version for ".concat(e,"..."));return[4,Z("https://registry.npmjs.org/".concat(e,"/latest"),{headers:a})];case 4:u=i.sent();if(u.status===304&&s)return[2,(R.info("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!u.ok)throw new Error("Failed to fetch latest version: ".concat(u.statusText));return[4,u.json()];case 5:l=i.sent().version;return[4,j.set(t,{version:l,timestamp:Date.now()})];case 6:i.sent();return[4,j.set(r,{etag:u.headers.get("ETag")||void 0,lastModified:u.headers.get("Last-Modified")||void 0})];case 7:return[2,(i.sent(),R.success("Cached latest version for ".concat(e,": ").concat(l)),l)];case 8:f=i.sent();if(R.error("Error fetching latest version for ".concat(e,": ").concat(f.message)),s)return[2,(R.warning("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw f;case 9:return[2]}})});return eo.apply(this,arguments)}function ei(e){return ec.apply(this,arguments)}function ec(){ec=n(function(e){var n,t,r,s,o;var c=arguments;return i(this,function(i){switch(i.label){case 0:n=c.length>1&&c[1]!==void 0?c[1]:!0;i.label=1;case 1:i.trys.push([1,3,,4]);t=er(e);if(!ee.existsSync(t))return[2,(R.info("".concat(e," is not installed.")),!0)];r=JSON.parse(ee.readFileSync(t,"utf-8")).version;return[4,es(e,n)];case 2:s=i.sent();return[2,(R.info("Installed version of ".concat(e,": ").concat(r)),R.info("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:o=i.sent();return[2,(R.warning("Failed to check version for ".concat(e,": ").concat(o.message)),!0)];case 4:return[2]}})});return ec.apply(this,arguments)}function ea(e){return eu.apply(this,arguments)}function eu(){eu=n(function(e){var n,s,c,a;return i(this,function(i){switch(i.label){case 0:i.trys.push([0,4,,5]);return[4,es(e,!0)];case 1:n=i.sent(),s=er();if(!ee.existsSync(s)){R.error("package.json not found. Cannot update ".concat(e));return[2]}c=JSON.parse(ee.readFileSync(s,"utf-8"));c.dependencies=o(r({},c.dependencies),t({},e,n)),ee.writeFileSync(s,JSON.stringify(c,null,2)),R.info("Updated ".concat(e," to version ").concat(n));return[4,z("npm i -f")];case 2:i.sent();return[4,z("npm run lint:fix")];case 3:i.sent(),R.success("".concat(e," updated successfully."));return[3,5];case 4:a=i.sent();throw R.error("Failed to update ".concat(e,": ").concat(a.message)),a;case 5:return[2]}})});return eu.apply(this,arguments)}function el(e,n){try{var t=en.join(e,"package.json");return ee.existsSync(t)?JSON.parse(ee.readFileSync(t,"utf-8")).name===n:!1}catch(e){return R.error("Error reading package.json: ".concat(e.message)),!1}}var ef={TS_CONFIG_PATH:a.resolve(y,"tsconfig.json"),HUSKY_PATH:a.resolve(y,".husky"),GIT_HOOK_PATH:a.resolve(y,".git/hooks"),GIT_COMMIT_MSG:a.resolve(y,".git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:a.resolve(y,".simple-git-hooks.json"),PACKAGE_JSON_PATH:a.resolve(y,"package.json"),PACKAGE_LOCK_PATH:a.resolve(y,"package-lock.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:a.resolve(m,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:a.resolve(m,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:a.resolve(m,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:a.resolve(m,"./configs/vitest/react/e2e.js"),HOOKS_CONFIG:{"pre-commit":"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"}};function ep(e,n){return ed.apply(this,arguments)}function ed(){ed=n(function(e,n){return i(this,function(t){switch(t.label){case 0:R.info("".concat(e,"..."));return[4,z(n)];case 1:t.sent(),R.success("".concat(e," completed."));return[2]}})});return ed.apply(this,arguments)}function eh(){return eg.apply(this,arguments)}function eg(){eg=n(function(){var e;return i(this,function(n){switch(n.label){case 0:if(!X(ef.TS_CONFIG_PATH))return[3,2];return[4,ep("Running TypeScript check","npx tsc -p ".concat(ef.TS_CONFIG_PATH," --noEmit"))];case 1:e=n.sent();return[3,3];case 2:e=R.warning("TypeScript config not found. Skipping TypeScript check.");n.label=3;case 3:e;return[2]}})});return eg.apply(this,arguments)}function em(){return ey.apply(this,arguments)}function ey(){ey=n(function(){var e;var n=arguments;return i(this,function(t){switch(t.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;return[4,ep("Running ESLint ".concat(e?"(with fix)":"(without fix)"),"npx eslint ".concat(y).concat(e?" --fix":""))];case 1:t.sent();return[2]}})});return ey.apply(this,arguments)}function ev(){return eb.apply(this,arguments)}function eb(){eb=n(function(){var e;return i(this,function(n){switch(n.label){case 0:if(!el(y,ef.PACKAGE_NAME))return[3,5];R.info("@cyberskill/shared detected. Building before lint-staged...");n.label=1;case 1:n.trys.push([1,4,,5]);return[4,ep("Building @cyberskill/shared","npm run build")];case 2:n.sent();return[4,z("git add dist")];case 3:n.sent(),R.success("Built and staged @cyberskill/shared");return[3,5];case 4:e=n.sent();throw R.error("Failed to build and stage @cyberskill/shared: ".concat(e.message)),e;case 5:return[4,ep("Running lint-staged","npx lint-staged --config ".concat(ef.LINT_STAGED_CONFIG_PATH))];case 6:n.sent();return[2]}})});return eb.apply(this,arguments)}function ew(){return eS.apply(this,arguments)}function eS(){eS=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Inspecting ESLint rules","npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eS.apply(this,arguments)}function e_(){return eO.apply(this,arguments)}function eO(){eO=n(function(){var e,n,t;return i(this,function(r){switch(r.label){case 0:return[4,W()];case 1:r.sent();return[4,Promise.all([eh(),em()])];case 2:r.sent();return[4,J()];case 3:e=r.sent(),n=e.filter(function(e){return e.type==="error"}),t=e.filter(function(e){return e.type==="warning"});!n.length&&!t.length?R.printBoxedLog("✔ NO ISSUES FOUND","",{color:"green"}):(R.printBoxedLog("⚠ Warnings",t,{color:"yellow"}),R.printBoxedLog("✖ Errors",n,{color:"red"})),R.success("Lint check completed.");return[2]}})});return eO.apply(this,arguments)}function eT(){return ek.apply(this,arguments)}function ek(){ek=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Running commit lint","npx commitlint --edit ".concat(ef.GIT_COMMIT_MSG," --config ").concat(ef.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return ek.apply(this,arguments)}function eA(){return eE.apply(this,arguments)}function eE(){eE=n(function(){var e,n,t,r,s,o;return i(this,function(i){switch(i.label){case 0:if(R.info("Starting project setup..."),!X(ef.PACKAGE_JSON_PATH)){R.error("package.json not found. Aborting setup.");return[2]}i.label=1;case 1:i.trys.push([1,9,,10]);n=JSON.parse(c.readFileSync(ef.PACKAGE_JSON_PATH,"utf-8"));r=el(y,ef.PACKAGE_NAME);if(r)return[3,4];s=(e=n.dependencies)===null||e===void 0?void 0:e[ef.PACKAGE_NAME];if(!s)return[3,3];return[4,ei(ef.PACKAGE_NAME)];case 2:s=!i.sent();i.label=3;case 3:r=s;i.label=4;case 4:if(!r)return[3,5];t=R.success("Cyberskill package is already up to date.");return[3,7];case 5:R.info("\uD83D\uDCE6 Updating Cyberskill package...");return[4,ea(ef.PACKAGE_NAME)];case 6:t=(i.sent(),R.success("Cyberskill package updated successfully."));i.label=7;case 7:t;return[4,eP()];case 8:i.sent(),R.success("Project setup completed.");return[3,10];case 9:o=i.sent();throw R.error("Failed to setup project: ".concat(o.message)),o;case 10:return[2]}})});return eE.apply(this,arguments)}function eP(){return eI.apply(this,arguments)}function eI(){eI=n(function(){var e,n;return i(this,function(t){switch(t.label){case 0:R.info("Setting up Git hooks...");e=X(ef.HUSKY_PATH);if(!e)return[3,3];return[4,z("npx rimraf ".concat(ef.HUSKY_PATH," ").concat(ef.GIT_HOOK_PATH))];case 1:t.sent();return[4,z("git config core.hooksPath ".concat(ef.GIT_HOOK_PATH))];case 2:e=t.sent();t.label=3;case 3:e,c.writeFileSync(ef.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(ef.HOOKS_CONFIG,null,4));n=a.resolve(".gitignore");X(n)?c.readFileSync(n,"utf8").split("\n").includes(".simple-git-hooks.json")?R.info(".simple-git-hooks.json is already ignored in .gitignore"):(c.appendFileSync(n,"\n# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),R.info("Added .simple-git-hooks.json to .gitignore")):(c.writeFileSync(n,"# Ignore simple-git-hooks config\n.simple-git-hooks.json\n"),R.info("Created .gitignore and added .simple-git-hooks.json"));return[4,z("npx simple-git-hooks")];case 4:t.sent(),R.success("Git hooks configured successfully.");return[2]}})});return eI.apply(this,arguments)}function ej(){return eC.apply(this,arguments)}function eC(){eC=n(function(){var e,n,t,r,s,o,c,a,u,l,f;return i(this,function(i){switch(i.label){case 0:e=[{command:"npm install",message:"Standard installation"},{command:"npm install --legacy-peer-deps",message:"Attempting installation with --legacy-peer-deps"},{command:"npm install --force",message:"Attempting forced installation"}];n=true,t=false,r=undefined;i.label=1;case 1:i.trys.push([1,8,9,10]);s=e[Symbol.iterator]();i.label=2;case 2:if(!!(n=(o=s.next()).done))return[3,7];c=o.value,a=c.command,u=c.message;i.label=3;case 3:i.trys.push([3,5,,6]);R.info("".concat(u,"..."));return[4,z(a)];case 4:i.sent(),R.success("Dependencies installed using: ".concat(a));return[2];case 5:l=i.sent();R.warning("Failed with: ".concat(a)),R.error("Error: ".concat(l.message));return[3,6];case 6:n=true;return[3,2];case 7:return[3,10];case 8:f=i.sent();t=true;r=f;return[3,10];case 9:try{if(!n&&s.return!=null){s.return()}}finally{if(t){throw r}}return[7];case 10:throw new Error("Failed to install dependencies after multiple attempts.")}})});return eC.apply(this,arguments)}function eN(){return eG.apply(this,arguments)}function eG(){eG=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Resetting project","npx rimraf ".concat(y,"/node_modules ").concat(ef.PACKAGE_LOCK_PATH))];case 1:e.sent();return[4,ej()];case 2:e.sent();return[4,eP()];case 3:e.sent();return[2]}})});return eG.apply(this,arguments)}function ex(){return eF.apply(this,arguments)}function eF(){eF=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Inspecting project dependencies","npx node-modules-inspector")];case 1:e.sent();return[2]}})});return eF.apply(this,arguments)}function eH(){return eM.apply(this,arguments)}function eM(){eM=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Running unit tests","npx vitest --config ".concat(ef.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eM.apply(this,arguments)}function eL(){return eR.apply(this,arguments)}function eR(){eR=n(function(){return i(this,function(e){switch(e.label){case 0:return[4,ep("Running E2E tests","npx vitest --config ".concat(ef.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eR.apply(this,arguments)}f(l(u.argv)).command("lint","Run linting checks",e_).command("lint:fix","Fix linting issues",function(){return em(!0)}).command("lint:inspect","Inspect linting rules",ew).command("lint-staged","Run lint-staged",ev).command("commitlint","Run commitlint",eT).command("setup","Run project setup",eA).command("reset","Reset project dependencies",eN).command("inspect","Inspect project dependencies",ex).command("test:unit","Run unit tests",eH).command("test:e2e","Run e2e tests",eL).help().parse();
@@ -1,8 +1,5 @@
1
1
  import { CodegenConfig } from '@graphql-codegen/cli';
2
- import { I_GraphqlCodegenConfig } from '../../typescript/react.cjs';
3
- import '@apollo/client';
4
- import '@apollo/experimental-nextjs-app-support';
5
- import 'react';
2
+ import { I_GraphqlCodegenConfig } from '../../typescript/graphql-codegen.cjs';
6
3
 
7
4
  declare function createGraphqlCodegenConfig({ uri, from, to, withComponent, withHOC, withHooks, withMutationFn, withRefetchFn, }: I_GraphqlCodegenConfig): CodegenConfig;
8
5
 
@@ -1,8 +1,5 @@
1
1
  import { CodegenConfig } from '@graphql-codegen/cli';
2
- import { I_GraphqlCodegenConfig } from '../../typescript/react.js';
3
- import '@apollo/client';
4
- import '@apollo/experimental-nextjs-app-support';
5
- import 'react';
2
+ import { I_GraphqlCodegenConfig } from '../../typescript/graphql-codegen.js';
6
3
 
7
4
  declare function createGraphqlCodegenConfig({ uri, from, to, withComponent, withHOC, withHooks, withMutationFn, withRefetchFn, }: I_GraphqlCodegenConfig): CodegenConfig;
8
5
 
@@ -1,6 +1,3 @@
1
1
  export { createGraphqlCodegenConfig } from './graphql-codegen.cjs';
2
2
  import '@graphql-codegen/cli';
3
- import '../../typescript/react.cjs';
4
- import '@apollo/client';
5
- import '@apollo/experimental-nextjs-app-support';
6
- import 'react';
3
+ import '../../typescript/graphql-codegen.cjs';
@@ -1,6 +1,3 @@
1
1
  export { createGraphqlCodegenConfig } from './graphql-codegen.js';
2
2
  import '@graphql-codegen/cli';
3
- import '../../typescript/react.js';
4
- import '@apollo/client';
5
- import '@apollo/experimental-nextjs-app-support';
6
- import 'react';
3
+ import '../../typescript/graphql-codegen.js';
@@ -1 +1 @@
1
- "use strict";function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(r){if(Array.isArray(r))return r}function t(e){if(Array.isArray(e))return r(e)}function n(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function u(r,e){var t=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t==null)return;var n=[];var u=true;var a=false;var o,i;try{for(t=t.call(r);!(u=(o=t.next()).done);u=true){n.push(o.value);if(e&&n.length===e)break}}catch(r){a=true;i=r}finally{try{if(!u&&t["return"]!=null)t["return"]()}finally{if(a)throw i}}return n}function a(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(r,e){if(r==null)return{};var t=f(r,e);var n,u;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(u=0;u<a.length;u++){n=a[u];if(e.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,n))continue;t[n]=r[n]}}return t}function f(r,e){if(r==null)return{};var t={};var n=Object.keys(r);var u,a;for(a=0;a<n.length;a++){u=n[a];if(e.indexOf(u)>=0)continue;t[u]=r[u]}return t}function l(r,t){return e(r)||u(r,t)||y(r,t)||a()}function c(r){return t(r)||n(r)||y(r)||o()}function s(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function y(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}var d=void 0;var v=Object.create;var p=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var q=function(r,e){for(var t in e)p(r,t,{get:e[t],enumerable:!0})},A=function(r,e,t,n){var u=true,a=false,o=undefined;if(e&&(typeof e==="undefined"?"undefined":s(e))=="object"||typeof e=="function")try{var i=function(){var u=l.value;!h.call(r,u)&&u!==t&&p(r,u,{get:function(){return e[u]},enumerable:!(n=m(e,u))||n.enumerable})};for(var f=b(e)[Symbol.iterator](),l;!(u=(l=f.next()).done);u=true)i()}catch(r){a=true;o=r}finally{try{if(!u&&f.return!=null){f.return()}}finally{if(a){throw o}}}return r};var w=function(r,e,t){return t=r!=null?v(g(r)):{},A(e||!r||!r.__esModule?p(t,"default",{value:r,enumerable:!0}):t,r)},O=function(r){return A(p({},"__esModule",{value:!0}),r)};var j={};q(j,{default:function(){return rd}});module.exports=O(j);var S=function(){return(typeof document==="undefined"?"undefined":s(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},I=S();var _=w(require("@antfu/eslint-config"),1);var U=w(require("unorm"),1);var E=w(require("boxen"),1),P=w(require("chalk"),1),k=require("child_process"),x=w(require("process"),1),R=w(require("util"),1);var C=w(require("node-persist"),1),L=w(require("os"),1),T=w(require("path"),1),D=w(require("process"),1),M=D.default.env.CYBERSKILL_STORAGE_DIR||T.default.join(L.default.homedir(),".cyberskill-storage");var B=x.default.env.DEBUG==="true",G=R.promisify(k.exec),N=P.default,K=N.gray,W=N.blue;function Y(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++){e[t]=arguments[t]}var n=function(r,e){return Object.keys(e).forEach(function(t){var u=e[t],a=r[t];Array.isArray(u)?r[t]=c(new Set(c(Array.isArray(a)?a:[]).concat(c(u)))):(typeof u==="undefined"?"undefined":s(u))=="object"&&u!==null&&!Array.isArray(u)?r[t]=n((typeof a==="undefined"?"undefined":s(a))=="object"&&!Array.isArray(a)?a:{},u):r[t]=u}),r};return e.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,e){return n(r,e)},{})}var $=require("date-fns");var z=w(require("fs"),1);var F=require("graphql");var H=w(require("crypto-js"),1),J=w(require("mongoose-aggregate-paginate-v2"),1),Q=w(require("mongoose-paginate-v2"),1),V=w(require("slugify"),1),X=require("uuid");var Z=V.default.default||V.default;var rr=w(require("node-fetch"),1),re=w(require("fs"),1),rt=w(require("path"),1);var rn=require("path"),ru=w(require("process"),1),ra=require("url"),ro=(0,ra.fileURLToPath)(I),ri=(0,rn.dirname)(ro),rf=ru.default.env.INIT_CWD||ru.default.cwd();var rl=24*60*60*1e3;var rc=w(require("localforage"),1);var rs={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},ry=Object.entries(rs).reduce(function(r,e){var t=l(e,2),n=t[0],u=t[1];return r[n.toUpperCase()]=u.map(function(r){return r.toUpperCase()}),r},{});var rd={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++){t[n-1]=arguments[n]}var u=function(){return Y.apply(void 0,c(t))};if(r==="eslint"){var a=u(),o=a.ignores,f=i(a,["ignores"]),l=Array.isArray(o)?o.filter(function(r){return typeof r=="string"}):void 0,s=[f,l?{ignores:l}:null].filter(function(r){return!!r});return(0,_.default).apply(d,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(c(s)))}if(r==="commitlint"||r==="lint-staged")return u();throw new Error("Unknown type: ".concat(r))}};
1
+ "use strict";function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(e){if(Array.isArray(e))return r(e)}function t(r,e,t){if(e in r){Object.defineProperty(r,e,{value:t,enumerable:true,configurable:true,writable:true})}else{r[e]=t}return r}function n(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function o(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};var o=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(n).filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))}o.forEach(function(e){t(r,e,n[e])})}return r}function u(r,e){if(r==null)return{};var t=a(r,e);var n,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(o=0;o<i.length;o++){n=i[o];if(e.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,n))continue;t[n]=r[n]}}return t}function a(r,e){if(r==null)return{};var t={};var n=Object.keys(r);var o,i;for(i=0;i<n.length;i++){o=n[i];if(e.indexOf(o)>=0)continue;t[o]=r[o]}return t}function f(r){return e(r)||n(r)||l(r)||o()}function c(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function l(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}var y=void 0;var s=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var O=function(r,e){for(var t in e)p(r,t,{get:e[t],enumerable:!0})},g=function(r,e,t,n){var o=true,i=false,u=undefined;if(e&&(typeof e==="undefined"?"undefined":c(e))=="object"||typeof e=="function")try{var a=function(){var o=l.value;!m.call(r,o)&&o!==t&&p(r,o,{get:function(){return e[o]},enumerable:!(n=v(e,o))||n.enumerable})};for(var f=b(e)[Symbol.iterator](),l;!(o=(l=f.next()).done);o=true)a()}catch(r){i=true;u=r}finally{try{if(!o&&f.return!=null){f.return()}}finally{if(i){throw u}}}return r};var j=function(r,e,t){return t=r!=null?s(d(r)):{},g(e||!r||!r.__esModule?p(t,"default",{value:r,enumerable:!0}):t,r)},w=function(r){return g(p({},"__esModule",{value:!0}),r)};var A={};O(A,{default:function(){return P}});module.exports=w(A);var h=j(require("@antfu/eslint-config"),1);function S(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++){e[t]=arguments[t]}var n=function(r,e){var t=i({},r);return Object.keys(e).forEach(function(r){if(!Object.hasOwnProperty.call(e,r))return;var o=e[r],i=t[r];Array.isArray(o)?t[r]=f(new Set(f(Array.isArray(i)?i:[]).concat(f(o)))):(typeof o==="undefined"?"undefined":c(o))=="object"&&o!==null&&!Array.isArray(o)?t[r]=n((typeof i==="undefined"?"undefined":c(i))=="object"&&i!==null&&!Array.isArray(i)?i:{},o):t[r]=o}),t};return e.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,e){return n(r,e)},{})}var P={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++){t[n-1]=arguments[n]}var o=function(){return S.apply(void 0,f(t))};if(r==="eslint"){var i=o(),a=i.ignores,c=u(i,["ignores"]),l=Array.isArray(a)&&a.every(function(r){return typeof r=="string"})?{ignores:a}:void 0,s=[c].concat(f(l?[l]:[]));return(0,h.default).apply(y,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(f(s)))}if(r==="commitlint"||r==="lint-staged"||r==="vitest")return o();throw new Error("Unknown type: ".concat(r))}};
@@ -1 +1 @@
1
- function r(r,t){if(t==null||t>r.length)t=r.length;for(var e=0,n=new Array(t);e<t;e++)n[e]=r[e];return n}function t(r){if(Array.isArray(r))return r}function e(t){if(Array.isArray(t))return r(t)}function n(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function o(r,t){var e=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(e==null)return;var n=[];var o=true;var i=false;var a,f;try{for(e=e.call(r);!(o=(a=e.next()).done);o=true){n.push(a.value);if(t&&n.length===t)break}}catch(r){i=true;f=r}finally{try{if(!o&&e["return"]!=null)e["return"]()}finally{if(i)throw f}}return n}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(r,t){if(r==null)return{};var e=u(r,t);var n,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(o=0;o<i.length;o++){n=i[o];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,n))continue;e[n]=r[n]}}return e}function u(r,t){if(r==null)return{};var e={};var n=Object.keys(r);var o,i;for(i=0;i<n.length;i++){o=n[i];if(t.indexOf(o)>=0)continue;e[o]=r[o]}return e}function l(r,e){return t(r)||o(r,e)||s(r,e)||i()}function m(r){return e(r)||n(r)||s(r)||a()}function c(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function s(t,e){if(!t)return;if(typeof t==="string")return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}import p from"@antfu/eslint-config";import y from"unorm";import d from"boxen";import v from"chalk";import{exec as b}from"node:child_process";import g from"node:process";import*as h from"node:util";import A from"node-persist";import w from"node:os";import S from"node:path";import j from"node:process";var O=j.env.CYBERSKILL_STORAGE_DIR||S.join(w.homedir(),".cyberskill-storage");var I=g.env.DEBUG==="true",E=h.promisify(b),k=v.gray,x=v.blue;function U(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}var n=function(r,t){return Object.keys(t).forEach(function(e){var o=t[e],i=r[e];Array.isArray(o)?r[e]=m(new Set(m(Array.isArray(i)?i:[]).concat(m(o)))):(typeof o==="undefined"?"undefined":c(o))=="object"&&o!==null&&!Array.isArray(o)?r[e]=n((typeof i==="undefined"?"undefined":c(i))=="object"&&!Array.isArray(i)?i:{},o):r[e]=o}),r};return t.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,t){return n(r,t)},{})}import{format as C}from"date-fns";import{GraphQLError as T}from"graphql";import L from"crypto-js";import R from"mongoose-aggregate-paginate-v2";import _ from"mongoose-paginate-v2";import D from"slugify";import{v4 as G}from"uuid";var P=D.default||D;import q from"node-fetch";import{dirname as B}from"node:path";import M from"node:process";import{fileURLToPath as K}from"node:url";var N=K(import.meta.url),Q=B(N),W=M.env.INIT_CWD||M.cwd();var Y=24*60*60*1e3;import $ from"localforage";var z={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},F=Object.entries(z).reduce(function(r,t){var e=l(t,2),n=e[0],o=e[1];return r[n.toUpperCase()]=o.map(function(r){return r.toUpperCase()}),r},{});var H={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var t=arguments.length,e=new Array(t>1?t-1:0),n=1;n<t;n++){e[n-1]=arguments[n]}var o=function(){return U.apply(void 0,m(e))};if(r==="eslint"){var i=o(),a=i.ignores,u=f(i,["ignores"]),l=Array.isArray(a)?a.filter(function(r){return typeof r=="string"}):void 0,c=[u,l?{ignores:l}:null].filter(function(r){return!!r});return p.apply(void 0,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(m(c)))}if(r==="commitlint"||r==="lint-staged")return o();throw new Error("Unknown type: ".concat(r))}};export{H as default};
1
+ function r(r,t){if(t==null||t>r.length)t=r.length;for(var e=0,n=new Array(t);e<t;e++)n[e]=r[e];return n}function t(t){if(Array.isArray(t))return r(t)}function e(r,t,e){if(t in r){Object.defineProperty(r,t,{value:e,enumerable:true,configurable:true,writable:true})}else{r[t]=e}return r}function n(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function o(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(r){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var o=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(n).filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))}o.forEach(function(t){e(r,t,n[t])})}return r}function a(r,t){if(r==null)return{};var e=u(r,t);var n,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(o=0;o<i.length;o++){n=i[o];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,n))continue;e[n]=r[n]}}return e}function u(r,t){if(r==null)return{};var e={};var n=Object.keys(r);var o,i;for(i=0;i<n.length;i++){o=n[i];if(t.indexOf(o)>=0)continue;e[o]=r[o]}return e}function f(r){return t(r)||n(r)||l(r)||o()}function c(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function l(t,e){if(!t)return;if(typeof t==="string")return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}import y from"@antfu/eslint-config";function s(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}var n=function(r,t){var e=i({},r);return Object.keys(t).forEach(function(r){if(!Object.hasOwnProperty.call(t,r))return;var o=t[r],i=e[r];Array.isArray(o)?e[r]=f(new Set(f(Array.isArray(i)?i:[]).concat(f(o)))):(typeof o==="undefined"?"undefined":c(o))=="object"&&o!==null&&!Array.isArray(o)?e[r]=n((typeof i==="undefined"?"undefined":c(i))=="object"&&i!==null&&!Array.isArray(i)?i:{},o):e[r]=o}),e};return t.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,t){return n(r,t)},{})}var p={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var t=arguments.length,e=new Array(t>1?t-1:0),n=1;n<t;n++){e[n-1]=arguments[n]}var o=function(){return s.apply(void 0,f(e))};if(r==="eslint"){var i=o(),u=i.ignores,c=a(i,["ignores"]),l=Array.isArray(u)&&u.every(function(r){return typeof r=="string"})?{ignores:u}:void 0,p=[c].concat(f(l?[l]:[]));return y.apply(void 0,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(f(p)))}if(r==="commitlint"||r==="lint-staged"||r==="vitest")return o();throw new Error("Unknown type: ".concat(r))}};export{p as default};
@@ -1 +1 @@
1
- "use strict";function e(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var r=Object.create;var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty;var a=function(e,r){for(var n in r)t(e,n,{get:r[n],enumerable:!0})},f=function(r,u,a,f){var l=true,c=false,s=undefined;if(u&&(typeof u==="undefined"?"undefined":e(u))=="object"||typeof u=="function")try{var b=function(){var e=d.value;!i.call(r,e)&&e!==a&&t(r,e,{get:function(){return u[e]},enumerable:!(f=n(u,e))||f.enumerable})};for(var v=o(u)[Symbol.iterator](),d;!(l=(d=v.next()).done);l=true)b()}catch(e){c=true;s=e}finally{try{if(!l&&v.return!=null){v.return()}}finally{if(c){throw s}}}return r};var l=function(e,n,o){return o=e!=null?r(u(e)):{},f(n||!e||!e.__esModule?t(o,"default",{value:e,enumerable:!0}):o,e)},c=function(e){return f(t({},"__esModule",{value:!0}),e)};var s={};a(s,{default:function(){return d}});module.exports=c(s);var b=l(require("@vitejs/plugin-react-swc"),1),v=require("vitest/config"),d=function(e){return(0,v.defineConfig)({plugins:[(0,b.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}},resolve:{alias:e}})};
1
+ "use strict";function e(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function r(r){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var o=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}o.forEach(function(t){e(r,t,n[t])})}return r}function t(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var n=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty;var a=function(e,r){for(var t in r)o(e,t,{get:r[t],enumerable:!0})},l=function(e,r,n,f){var a=true,l=false,b=undefined;if(r&&(typeof r==="undefined"?"undefined":t(r))=="object"||typeof r=="function")try{var s=function(){var t=p.value;!c.call(e,t)&&t!==n&&o(e,t,{get:function(){return r[t]},enumerable:!(f=u(r,t))||f.enumerable})};for(var y=i(r)[Symbol.iterator](),p;!(a=(p=y.next()).done);a=true)s()}catch(e){l=true;b=e}finally{try{if(!a&&y.return!=null){y.return()}}finally{if(l){throw b}}}return e};var b=function(e,r,t){return t=e!=null?n(f(e)):{},l(r||!e||!e.__esModule?o(t,"default",{value:e,enumerable:!0}):t,e)},s=function(e){return l(o({},"__esModule",{value:!0}),e)};var y={};a(y,{default:function(){return d}});module.exports=s(y);var p=b(require("@vitejs/plugin-react-swc"),1),v=require("vitest/config"),d=function(e){return(0,v.defineConfig)(r({plugins:[(0,p.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))};
@@ -1,6 +1,5 @@
1
- import * as vite from 'vite';
2
- import { AliasOptions } from 'vite';
1
+ import { UserConfig } from 'vite';
3
2
 
4
- declare const _default: (alias: AliasOptions) => vite.UserConfig;
3
+ declare const _default: (options: UserConfig) => UserConfig;
5
4
 
6
5
  export { _default as default };
@@ -1,6 +1,5 @@
1
- import * as vite from 'vite';
2
- import { AliasOptions } from 'vite';
1
+ import { UserConfig } from 'vite';
3
2
 
4
- declare const _default: (alias: AliasOptions) => vite.UserConfig;
3
+ declare const _default: (options: UserConfig) => UserConfig;
5
4
 
6
5
  export { _default as default };
@@ -1 +1 @@
1
- import e from"@vitejs/plugin-react-swc";import{defineConfig as r}from"vitest/config";var i=function(i){return r({plugins:[e()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}},resolve:{alias:i}})};export{i as default};
1
+ function e(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function r(r){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var o=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}o.forEach(function(t){e(r,t,n[t])})}return r}import t from"@vitejs/plugin-react-swc";import{defineConfig as n}from"vitest/config";var o=function(e){return n(r({plugins:[t()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))};export{o as default};
@@ -1 +1 @@
1
- "use strict";function e(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var r=Object.create;var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var o=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty;var a=function(e,r){for(var n in r)t(e,n,{get:r[n],enumerable:!0})},f=function(r,o,a,f){var c=true,l=false,s=undefined;if(o&&(typeof o==="undefined"?"undefined":e(o))=="object"||typeof o=="function")try{var d=function(){var e=p.value;!i.call(r,e)&&e!==a&&t(r,e,{get:function(){return o[e]},enumerable:!(f=n(o,e))||f.enumerable})};for(var v=u(o)[Symbol.iterator](),p;!(c=(p=v.next()).done);c=true)d()}catch(e){l=true;s=e}finally{try{if(!c&&v.return!=null){v.return()}}finally{if(l){throw s}}}return r};var c=function(e,n,u){return u=e!=null?r(o(e)):{},f(n||!e||!e.__esModule?t(u,"default",{value:e,enumerable:!0}):u,e)},l=function(e){return f(t({},"__esModule",{value:!0}),e)};var s={};a(s,{default:function(){return _}});module.exports=l(s);var d=function(){return(typeof document==="undefined"?"undefined":e(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},v=d();var p=c(require("@vitejs/plugin-react-swc"),1),m=c(require("path"),1),y=require("vitest/config");var b=require("path"),j=c(require("process"),1),g=require("url"),O=(0,g.fileURLToPath)(v),h=(0,b.dirname)(O),w=j.default.env.INIT_CWD||j.default.cwd();var _=function(e){return(0,y.defineConfig)({plugins:[(0,p.default)()],test:{include:["**/*.test.unit.?(c|m)[jt]s?(x)"],globals:!0,environment:"jsdom",setupFiles:m.default.resolve(h,"./unit.setup.js")},resolve:{alias:e}})};
1
+ "use strict";function e(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function r(r){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var u=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){u=u.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}u.forEach(function(t){e(r,t,n[t])})}return r}function t(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var n=Object.create;var u=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty;var f=function(e,r){for(var t in r)u(e,t,{get:r[t],enumerable:!0})},l=function(e,r,n,c){var f=true,l=false,s=undefined;if(r&&(typeof r==="undefined"?"undefined":t(r))=="object"||typeof r=="function")try{var d=function(){var t=v.value;!a.call(e,t)&&t!==n&&u(e,t,{get:function(){return r[t]},enumerable:!(c=o(r,t))||c.enumerable})};for(var p=i(r)[Symbol.iterator](),v;!(f=(v=p.next()).done);f=true)d()}catch(e){l=true;s=e}finally{try{if(!f&&p.return!=null){p.return()}}finally{if(l){throw s}}}return e};var s=function(e,r,t){return t=e!=null?n(c(e)):{},l(r||!e||!e.__esModule?u(t,"default",{value:e,enumerable:!0}):t,e)},d=function(e){return l(u({},"__esModule",{value:!0}),e)};var p={};f(p,{default:function(){return _}});module.exports=d(p);var v=function(){return(typeof document==="undefined"?"undefined":t(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},b=v();var y=s(require("@vitejs/plugin-react-swc"),1),m=s(require("path"),1),O=require("vitest/config");var j=require("path"),g=s(require("process"),1),w=require("url"),h=(0,w.fileURLToPath)(b),P=(0,j.dirname)(h),S=g.default.env.INIT_CWD||g.default.cwd();var _=function(e){return(0,O.defineConfig)(r({plugins:[(0,y.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:m.default.resolve(P,"./unit.setup.js")}},e))};
@@ -1,6 +1,5 @@
1
- import * as vite from 'vite';
2
- import { AliasOptions } from 'vite';
1
+ import { UserConfig } from 'vite';
3
2
 
4
- declare const _default: (alias: AliasOptions) => vite.UserConfig;
3
+ declare const _default: (options: UserConfig) => UserConfig;
5
4
 
6
5
  export { _default as default };
@@ -1,6 +1,5 @@
1
- import * as vite from 'vite';
2
- import { AliasOptions } from 'vite';
1
+ import { UserConfig } from 'vite';
3
2
 
4
- declare const _default: (alias: AliasOptions) => vite.UserConfig;
3
+ declare const _default: (options: UserConfig) => UserConfig;
5
4
 
6
5
  export { _default as default };
@@ -1 +1 @@
1
- import e from"@vitejs/plugin-react-swc";import t from"node:path";import{defineConfig as o}from"vitest/config";import{dirname as r}from"node:path";import i from"node:process";import{fileURLToPath as s}from"node:url";var n=s(import.meta.url),m=r(n),a=i.env.INIT_CWD||i.cwd();var p=function(r){return o({plugins:[e()],test:{include:["**/*.test.unit.?(c|m)[jt]s?(x)"],globals:!0,environment:"jsdom",setupFiles:t.resolve(m,"./unit.setup.js")},resolve:{alias:r}})};export{p as default};
1
+ function e(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function t(t){for(var r=1;r<arguments.length;r++){var o=arguments[r]!=null?arguments[r]:{};var n=Object.keys(o);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))}n.forEach(function(r){e(t,r,o[r])})}return t}import r from"@vitejs/plugin-react-swc";import o from"node:path";import{defineConfig as n}from"vitest/config";import{dirname as i}from"node:path";import u from"node:process";import{fileURLToPath as s}from"node:url";var a=s(import.meta.url),f=i(a),l=u.env.INIT_CWD||u.cwd();var c=function(e){return n(t({plugins:[r()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:o.resolve(f,"./unit.setup.js")}},e))};export{c as default};
@@ -1,5 +1,3 @@
1
1
  export { LoadingContext } from './loading.cjs';
2
2
  import 'react';
3
3
  import '../../typescript/react.cjs';
4
- import '@apollo/client';
5
- import '@apollo/experimental-nextjs-app-support';
@@ -1,5 +1,3 @@
1
1
  export { LoadingContext } from './loading.js';
2
2
  import 'react';
3
3
  import '../../typescript/react.js';
4
- import '@apollo/client';
5
- import '@apollo/experimental-nextjs-app-support';