@cyberskill/shared 3.2.0 → 3.3.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 (237) hide show
  1. package/dist/config/commitlint/index.js +8 -9
  2. package/dist/config/commitlint/index.js.map +1 -1
  3. package/dist/config/config.type.js +8 -5
  4. package/dist/config/config.type.js.map +1 -1
  5. package/dist/config/config.util.js +33 -42
  6. package/dist/config/config.util.js.map +1 -1
  7. package/dist/config/env/env.constant.js +6 -5
  8. package/dist/config/env/env.constant.js.map +1 -1
  9. package/dist/config/env/env.util.js +26 -27
  10. package/dist/config/env/env.util.js.map +1 -1
  11. package/dist/config/env/index.js +2 -7
  12. package/dist/config/eslint/index.js +23 -19
  13. package/dist/config/eslint/index.js.map +1 -1
  14. package/dist/config/graphql-codegen/graphql-codegen.util.js +30 -38
  15. package/dist/config/graphql-codegen/graphql-codegen.util.js.map +1 -1
  16. package/dist/config/graphql-codegen/index.js +2 -5
  17. package/dist/config/index.js +3 -7
  18. package/dist/config/lint-staged/index.js +8 -7
  19. package/dist/config/lint-staged/index.js.map +1 -1
  20. package/dist/config/storybook/index.js +2 -6
  21. package/dist/config/storybook/storybook.main.js +19 -18
  22. package/dist/config/storybook/storybook.main.js.map +1 -1
  23. package/dist/config/storybook/storybook.preview.js +31 -37
  24. package/dist/config/storybook/storybook.preview.js.map +1 -1
  25. package/dist/config/vitest/index.js +3 -7
  26. package/dist/config/vitest/vitest.e2e.js +14 -17
  27. package/dist/config/vitest/vitest.e2e.js.map +1 -1
  28. package/dist/config/vitest/vitest.unit.js +31 -32
  29. package/dist/config/vitest/vitest.unit.js.map +1 -1
  30. package/dist/constant/common.js +6 -5
  31. package/dist/constant/common.js.map +1 -1
  32. package/dist/constant/index.js +3 -7
  33. package/dist/constant/response-status.d.ts +186 -186
  34. package/dist/constant/response-status.js +254 -253
  35. package/dist/constant/response-status.js.map +1 -1
  36. package/dist/node/apollo-server/apollo-server.util.js +27 -29
  37. package/dist/node/apollo-server/apollo-server.util.js.map +1 -1
  38. package/dist/node/apollo-server/index.js +2 -7
  39. package/dist/node/cli/index.js +112 -113
  40. package/dist/node/cli/index.js.map +1 -1
  41. package/dist/node/command/command.type.js +8 -5
  42. package/dist/node/command/command.type.js.map +1 -1
  43. package/dist/node/command/command.util.js +136 -149
  44. package/dist/node/command/command.util.js.map +1 -1
  45. package/dist/node/command/index.js +3 -12
  46. package/dist/node/express/express.type.d.ts +11 -0
  47. package/dist/node/express/express.type.js +2 -0
  48. package/dist/node/express/express.util.js +74 -65
  49. package/dist/node/express/express.util.js.map +1 -1
  50. package/dist/node/express/index.js +3 -14
  51. package/dist/node/fs/fs.util.js +27 -51
  52. package/dist/node/fs/fs.util.js.map +1 -1
  53. package/dist/node/fs/index.js +2 -19
  54. package/dist/node/log/index.js +2 -8
  55. package/dist/node/log/log.type.js +8 -5
  56. package/dist/node/log/log.type.js.map +1 -1
  57. package/dist/node/log/log.util.js +51 -68
  58. package/dist/node/log/log.util.js.map +1 -1
  59. package/dist/node/mongo/index.js +8 -26
  60. package/dist/node/mongo/mongo.constant.js +6 -6
  61. package/dist/node/mongo/mongo.constant.js.map +1 -1
  62. package/dist/node/mongo/mongo.controller.mongoose.d.ts +6 -1
  63. package/dist/node/mongo/mongo.controller.mongoose.js +333 -467
  64. package/dist/node/mongo/mongo.controller.mongoose.js.map +1 -1
  65. package/dist/node/mongo/mongo.controller.native.js +153 -212
  66. package/dist/node/mongo/mongo.controller.native.js.map +1 -1
  67. package/dist/node/mongo/mongo.dynamic-populate.js +164 -192
  68. package/dist/node/mongo/mongo.dynamic-populate.js.map +1 -1
  69. package/dist/node/mongo/mongo.populate.js +229 -262
  70. package/dist/node/mongo/mongo.populate.js.map +1 -1
  71. package/dist/node/mongo/mongo.type.js +8 -17
  72. package/dist/node/mongo/mongo.type.js.map +1 -1
  73. package/dist/node/mongo/mongo.util.js +134 -293
  74. package/dist/node/mongo/mongo.util.js.map +1 -1
  75. package/dist/node/package/index.js +3 -11
  76. package/dist/node/package/package.type.js +8 -5
  77. package/dist/node/package/package.type.js.map +1 -1
  78. package/dist/node/package/package.util.js +216 -225
  79. package/dist/node/package/package.util.js.map +1 -1
  80. package/dist/node/path/index.js +3 -58
  81. package/dist/node/path/path.constant.js +211 -298
  82. package/dist/node/path/path.constant.js.map +1 -1
  83. package/dist/node/path/path.util.js +13 -16
  84. package/dist/node/path/path.util.js.map +1 -1
  85. package/dist/node/storage/index.js +3 -10
  86. package/dist/node/storage/storage.constant.js +6 -8
  87. package/dist/node/storage/storage.constant.js.map +1 -1
  88. package/dist/node/storage/storage.util.js +127 -178
  89. package/dist/node/storage/storage.util.js.map +1 -1
  90. package/dist/node/upload/index.js +4 -16
  91. package/dist/node/upload/upload.constant.js +58 -32
  92. package/dist/node/upload/upload.constant.js.map +1 -1
  93. package/dist/node/upload/upload.type.js +8 -5
  94. package/dist/node/upload/upload.type.js.map +1 -1
  95. package/dist/node/upload/upload.util.js +125 -137
  96. package/dist/node/upload/upload.util.js.map +1 -1
  97. package/dist/node/ws/index.js +2 -6
  98. package/dist/node/ws/ws.type.d.ts +7 -8
  99. package/dist/node/ws/ws.util.js +46 -44
  100. package/dist/node/ws/ws.util.js.map +1 -1
  101. package/dist/node_modules/.pnpm/vitest@4.1.0_@types_node@25.5.0_jsdom@29.0.0_@noble_hashes@1.8.0__vite@8.0.0_@types_nod_53aa4254f295b3c40bb8f17b6ab226b5/node_modules/vitest/dist/config.js +8 -0
  102. package/dist/node_modules/.pnpm/vitest@4.1.0_@types_node@25.5.0_jsdom@29.0.0_@noble_hashes@1.8.0__vite@8.0.0_@types_nod_53aa4254f295b3c40bb8f17b6ab226b5/node_modules/vitest/dist/config.js.map +1 -0
  103. package/dist/react/apollo-client/apollo-client.component.js +16 -18
  104. package/dist/react/apollo-client/apollo-client.component.js.map +1 -1
  105. package/dist/react/apollo-client/apollo-client.constant.js +6 -5
  106. package/dist/react/apollo-client/apollo-client.constant.js.map +1 -1
  107. package/dist/react/apollo-client/apollo-client.context.js +10 -13
  108. package/dist/react/apollo-client/apollo-client.context.js.map +1 -1
  109. package/dist/react/apollo-client/apollo-client.module.scss.js +8 -7
  110. package/dist/react/apollo-client/apollo-client.module.scss.js.map +1 -1
  111. package/dist/react/apollo-client/apollo-client.util.js +57 -75
  112. package/dist/react/apollo-client/apollo-client.util.js.map +1 -1
  113. package/dist/react/apollo-client/index.js +7 -30
  114. package/dist/react/apollo-client/links/index.js +2 -5
  115. package/dist/react/apollo-client/links/upload.js +63 -107
  116. package/dist/react/apollo-client/links/upload.js.map +1 -1
  117. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.js +14 -16
  118. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.js.map +1 -1
  119. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.rsc.js +8 -7
  120. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.rsc.js.map +1 -1
  121. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.util.js +14 -14
  122. package/dist/react/apollo-client-nextjs/apollo-client-nextjs.util.js.map +1 -1
  123. package/dist/react/apollo-client-nextjs/index.js +3 -7
  124. package/dist/react/apollo-error/apollo-error.component.js +57 -69
  125. package/dist/react/apollo-error/apollo-error.component.js.map +1 -1
  126. package/dist/react/apollo-error/apollo-error.context.js +7 -6
  127. package/dist/react/apollo-error/apollo-error.context.js.map +1 -1
  128. package/dist/react/apollo-error/apollo-error.hook.js +10 -10
  129. package/dist/react/apollo-error/apollo-error.hook.js.map +1 -1
  130. package/dist/react/apollo-error/apollo-error.module.scss.js +15 -11
  131. package/dist/react/apollo-error/apollo-error.module.scss.js.map +1 -1
  132. package/dist/react/apollo-error/apollo-error.provider.js +31 -25
  133. package/dist/react/apollo-error/apollo-error.provider.js.map +1 -1
  134. package/dist/react/apollo-error/apollo-error.util.js +14 -16
  135. package/dist/react/apollo-error/apollo-error.util.js.map +1 -1
  136. package/dist/react/apollo-error/index.js +5 -15
  137. package/dist/react/i18next/i18next.hook.js +7 -6
  138. package/dist/react/i18next/i18next.hook.js.map +1 -1
  139. package/dist/react/i18next/i18next.util.js +9 -8
  140. package/dist/react/i18next/i18next.util.js.map +1 -1
  141. package/dist/react/i18next/index.js +3 -7
  142. package/dist/react/loading/index.js +3 -9
  143. package/dist/react/loading/loading.component.js +47 -48
  144. package/dist/react/loading/loading.component.js.map +1 -1
  145. package/dist/react/loading/loading.context.js +7 -6
  146. package/dist/react/loading/loading.context.js.map +1 -1
  147. package/dist/react/loading/loading.hook.js +11 -11
  148. package/dist/react/loading/loading.hook.js.map +1 -1
  149. package/dist/react/loading/loading.module.scss.js +18 -15
  150. package/dist/react/loading/loading.module.scss.js.map +1 -1
  151. package/dist/react/loading/loading.provider.js +26 -18
  152. package/dist/react/loading/loading.provider.js.map +1 -1
  153. package/dist/react/log/index.js +2 -6
  154. package/dist/react/log/log.util.d.ts +8 -0
  155. package/dist/react/log/log.util.js +33 -29
  156. package/dist/react/log/log.util.js.map +1 -1
  157. package/dist/react/next-intl/index.js +6 -14
  158. package/dist/react/next-intl/next-intl.constant.js +16 -15
  159. package/dist/react/next-intl/next-intl.constant.js.map +1 -1
  160. package/dist/react/next-intl/next-intl.context.js +7 -6
  161. package/dist/react/next-intl/next-intl.context.js.map +1 -1
  162. package/dist/react/next-intl/next-intl.hoc.js +20 -23
  163. package/dist/react/next-intl/next-intl.hoc.js.map +1 -1
  164. package/dist/react/next-intl/next-intl.hook.js +13 -14
  165. package/dist/react/next-intl/next-intl.hook.js.map +1 -1
  166. package/dist/react/next-intl/next-intl.provider.js +28 -23
  167. package/dist/react/next-intl/next-intl.provider.js.map +1 -1
  168. package/dist/react/storage/index.js +3 -7
  169. package/dist/react/storage/storage.hook.js +61 -58
  170. package/dist/react/storage/storage.hook.js.map +1 -1
  171. package/dist/react/storage/storage.util.js +36 -68
  172. package/dist/react/storage/storage.util.js.map +1 -1
  173. package/dist/react/toast/index.js +2 -6
  174. package/dist/react/userback/index.js +2 -5
  175. package/dist/react/userback/userback.component.js +27 -27
  176. package/dist/react/userback/userback.component.js.map +1 -1
  177. package/dist/style.css +2 -1
  178. package/dist/typescript/common.type.js +8 -5
  179. package/dist/typescript/common.type.js.map +1 -1
  180. package/dist/typescript/index.js +2 -5
  181. package/dist/util/common/common.util.js +119 -48
  182. package/dist/util/common/common.util.js.map +1 -1
  183. package/dist/util/common/index.js +2 -9
  184. package/dist/util/index.js +6 -27
  185. package/dist/util/object/index.d.ts +3 -0
  186. package/dist/util/object/index.js +2 -10
  187. package/dist/util/object/object.util.js +94 -128
  188. package/dist/util/object/object.util.js.map +1 -1
  189. package/dist/util/serializer/index.js +2 -5
  190. package/dist/util/serializer/serializer.util.js +73 -78
  191. package/dist/util/serializer/serializer.util.js.map +1 -1
  192. package/dist/util/string/index.d.ts +3 -0
  193. package/dist/util/string/index.js +2 -10
  194. package/dist/util/string/string.util.js +59 -71
  195. package/dist/util/string/string.util.js.map +1 -1
  196. package/dist/util/validate/index.d.ts +3 -0
  197. package/dist/util/validate/index.js +2 -5
  198. package/dist/util/validate/validate.util.js +13 -39
  199. package/dist/util/validate/validate.util.js.map +1 -1
  200. package/package.json +29 -27
  201. package/dist/config/env/index.js.map +0 -1
  202. package/dist/config/graphql-codegen/index.js.map +0 -1
  203. package/dist/config/index.js.map +0 -1
  204. package/dist/config/storybook/index.js.map +0 -1
  205. package/dist/config/vitest/index.js.map +0 -1
  206. package/dist/constant/index.js.map +0 -1
  207. package/dist/node/apollo-server/index.js.map +0 -1
  208. package/dist/node/command/index.js.map +0 -1
  209. package/dist/node/express/index.js.map +0 -1
  210. package/dist/node/fs/index.js.map +0 -1
  211. package/dist/node/log/index.js.map +0 -1
  212. package/dist/node/mongo/index.js.map +0 -1
  213. package/dist/node/package/index.js.map +0 -1
  214. package/dist/node/path/index.js.map +0 -1
  215. package/dist/node/storage/index.js.map +0 -1
  216. package/dist/node/upload/index.js.map +0 -1
  217. package/dist/node/ws/index.js.map +0 -1
  218. package/dist/node_modules/.pnpm/vitest@4.0.18_@types_node@25.3.5_jiti@2.6.1_jsdom@28.1.0_@noble_hashes@1.8.0__sass@1.97.3_tsx@4.21.0_yaml@2.8.2/node_modules/vitest/dist/config.js +0 -7
  219. package/dist/node_modules/.pnpm/vitest@4.0.18_@types_node@25.3.5_jiti@2.6.1_jsdom@28.1.0_@noble_hashes@1.8.0__sass@1.97.3_tsx@4.21.0_yaml@2.8.2/node_modules/vitest/dist/config.js.map +0 -1
  220. package/dist/react/apollo-client/index.js.map +0 -1
  221. package/dist/react/apollo-client/links/index.js.map +0 -1
  222. package/dist/react/apollo-client-nextjs/index.js.map +0 -1
  223. package/dist/react/apollo-error/index.js.map +0 -1
  224. package/dist/react/i18next/index.js.map +0 -1
  225. package/dist/react/loading/index.js.map +0 -1
  226. package/dist/react/log/index.js.map +0 -1
  227. package/dist/react/next-intl/index.js.map +0 -1
  228. package/dist/react/storage/index.js.map +0 -1
  229. package/dist/react/toast/index.js.map +0 -1
  230. package/dist/react/userback/index.js.map +0 -1
  231. package/dist/typescript/index.js.map +0 -1
  232. package/dist/util/common/index.js.map +0 -1
  233. package/dist/util/index.js.map +0 -1
  234. package/dist/util/object/index.js.map +0 -1
  235. package/dist/util/serializer/index.js.map +0 -1
  236. package/dist/util/string/index.js.map +0 -1
  237. package/dist/util/validate/index.js.map +0 -1
@@ -1,303 +1,216 @@
1
- import K from "fs-extra";
2
- import { resolveWorkingPath as o, join as G } from "./path.util.js";
3
- import { E_CommandType as e } from "../command/command.type.js";
4
- import { formatCommand as D, rawCommand as I } from "../command/command.util.js";
5
- import { setupPackages as Y } from "../package/package.util.js";
1
+ import { getEnv as e } from "../../config/env/env.util.js";
2
+ import { E_CommandType as t } from "../command/command.type.js";
6
3
  import { E_PackageType as n } from "../package/package.type.js";
7
- import { getEnv as h } from "../../config/env/env.util.js";
8
- const b = h(), N = b.CWD, g = "@cyberskill/shared", P = "node_modules", L = "dist", F = "public", u = "package.json", V = "package-lock.json", v = "tsconfig.json", U = ".gitignore", j = ".simple-git-hooks.json", w = "pnpm-lock.yaml", B = ".git/hooks/", H = ".git/COMMIT_EDITMSG", x = ".git/info/exclude", J = ".migrate-mongo.config.js", E = K.readJsonSync(o(u)).name === g ? G(N, L) : G(N, P, g, L), re = "cyberskill", Te = "src/node/cli/index.ts", l = "eslint", d = "eslint", A = "vitest", M = "vitest", W = "@commitlint/cli", X = "@commitlint/config-conventional", $ = "commitlint", q = "lint-staged", f = "lint-staged", z = "typescript", Q = "tsc", a = "tsx", k = "git", _ = "pnpm", Z = "pnpm exec", ee = "simple-git-hooks", te = "simple-git-hooks", oe = "@eslint/config-inspector", ne = "eslint-config-inspector", se = "node-modules-inspector", ce = "node-modules-inspector", m = "migrate-mongo", C = "./node_modules/migrate-mongo/bin/migrate-mongo", y = "storybook", S = "storybook", Oe = "@vudovn/ag-kit", Ee = ".agent", s = {
9
- CYBERSKILL_DIRECTORY: E,
10
- WORKING_DIRECTORY: N,
11
- PUBLIC_DIRECTORY: o(F),
12
- TS_CONFIG: o(v),
13
- GIT_IGNORE: o(U),
14
- GIT_HOOK: o(B),
15
- GIT_COMMIT_MSG: o(H),
16
- GIT_EXCLUDE: o(x),
17
- SIMPLE_GIT_HOOKS_JSON: o(j),
18
- PACKAGE_JSON: o(u),
19
- PACKAGE_LOCK_JSON: o(V),
20
- PNPM_LOCK_YAML: o(w),
21
- NODE_MODULES: o(P),
22
- MIGRATE_MONGO_CONFIG: o(J),
23
- LINT_STAGED_CONFIG: o(`${E}/config/lint-staged/index.js`),
24
- COMMITLINT_CONFIG: o(`${E}/config/commitlint/index.js`),
25
- VITEST_UNIT_CONFIG: o(`${E}/config/vitest/vitest.unit.js`),
26
- VITEST_E2E_CONFIG: o(`${E}/config/vitest/vitest.e2e.js`),
27
- STORYBOOK_MAIN_CONFIG: o(`${E}/config/storybook/storybook.main.js`),
28
- STORYBOOK_PREVIEW_CONFIG: o(`${E}/config/storybook/storybook.preview.js`),
29
- DOT_AGENT: o(Ee)
4
+ import { setupPackages as ee } from "../package/package.util.js";
5
+ import { formatCommand as r, rawCommand as i } from "../command/command.util.js";
6
+ import { join as a, resolveWorkingPath as o } from "./path.util.js";
7
+ import te from "fs-extra";
8
+ var s = e().CWD, c = "@cyberskill/shared", l = "node_modules", u = "dist", d = "public", f = "package.json", p = "package-lock.json", m = "tsconfig.json", h = ".gitignore", g = ".simple-git-hooks.json", _ = "pnpm-lock.yaml", v = ".git/hooks/", y = ".git/COMMIT_EDITMSG", b = ".git/info/exclude", x = ".migrate-mongo.config.js", S = te.readJsonSync(o("package.json")).name === "@cyberskill/shared" ? a(s, u) : a(s, l, c, u), C = "cyberskill", w = "src/node/cli/index.ts", T = "eslint", E = "eslint", D = "vitest", O = "vitest", k = "@commitlint/cli", A = "@commitlint/config-conventional", j = "commitlint", M = "lint-staged", N = "lint-staged", P = "typescript", F = "tsc", I = "tsx", L = "git", R = "pnpm", z = "pnpm exec", B = "simple-git-hooks", V = "simple-git-hooks", H = "@eslint/config-inspector", U = "eslint-config-inspector", W = "node-modules-inspector", G = "node-modules-inspector", K = "migrate-mongo", q = "./node_modules/migrate-mongo/bin/migrate-mongo", J = "storybook", Y = "storybook", X = "@vudovn/ag-kit", Z = ".agent", Q = {
9
+ CYBERSKILL_DIRECTORY: S,
10
+ WORKING_DIRECTORY: s,
11
+ PUBLIC_DIRECTORY: o(d),
12
+ TS_CONFIG: o(m),
13
+ GIT_IGNORE: o(h),
14
+ GIT_HOOK: o(v),
15
+ GIT_COMMIT_MSG: o(y),
16
+ GIT_EXCLUDE: o(b),
17
+ SIMPLE_GIT_HOOKS_JSON: o(g),
18
+ PACKAGE_JSON: o(f),
19
+ PACKAGE_LOCK_JSON: o(p),
20
+ PNPM_LOCK_YAML: o(_),
21
+ NODE_MODULES: o(l),
22
+ MIGRATE_MONGO_CONFIG: o(x),
23
+ LINT_STAGED_CONFIG: o(`${S}/config/lint-staged/index.js`),
24
+ COMMITLINT_CONFIG: o(`${S}/config/commitlint/index.js`),
25
+ VITEST_UNIT_CONFIG: o(`${S}/config/vitest/vitest.unit.js`),
26
+ VITEST_E2E_CONFIG: o(`${S}/config/vitest/vitest.e2e.js`),
27
+ STORYBOOK_MAIN_CONFIG: o(`${S}/config/storybook/storybook.main.js`),
28
+ STORYBOOK_PREVIEW_CONFIG: o(`${S}/config/storybook/storybook.preview.js`),
29
+ DOT_AGENT: o(Z)
30
30
  };
31
- function Ge({ isCurrentProject: c }) {
32
- return {
33
- "pre-commit": f,
34
- "commit-msg": $,
35
- ...c ? { "pre-push": I(`${k} pull`) } : { "pre-push": I(`TAG_ONLY=true; while read local_ref local_oid remote_ref remote_oid; do case "$local_ref" in refs/tags/*) ;; *) TAG_ONLY=false; break ;; esac; done; if [ "$TAG_ONLY" = true ]; then echo '[pre-push] Tag-only push, skipping build.'; exit 0; fi; ${_} build`) }
36
- };
31
+ function ne({ isCurrentProject: e }) {
32
+ return {
33
+ "pre-commit": N,
34
+ "commit-msg": j,
35
+ ...e ? { "pre-push": i("git pull") } : { "pre-push": i(`TAG_ONLY=true; while read local_ref local_oid remote_ref remote_oid; do case \"$local_ref\" in refs/tags/*) ;; *) TAG_ONLY=false; break ;; esac; done; if [ \"$TAG_ONLY\" = true ]; then echo '[pre-push] Tag-only push, skipping build.'; exit 0; fi; ${R} build`) }
36
+ };
37
37
  }
38
- function t({ type: c, packages: p, command: r }) {
39
- const T = p?.reduce((i, O) => (i.some((R) => R.name === O.name) || i.push(O), i), []);
40
- return async () => {
41
- switch (c) {
42
- case e.CLI:
43
- return T?.length && await Y(T, {
44
- install: !0
45
- }), D(I(`${Z} ${r}`));
46
- case e.STRING:
47
- return D(I(r));
48
- default:
49
- throw new Error("Unsupported command type");
50
- }
51
- };
38
+ function $({ type: e, packages: n, command: a }) {
39
+ let o = n?.reduce((e, t) => (e.some((e) => e.name === t.name) || e.push(t), e), []);
40
+ return async () => {
41
+ switch (e) {
42
+ case t.CLI: return o?.length && await ee(o, { install: !0 }), r(i(`${z} ${a}`));
43
+ case t.STRING: return r(i(a));
44
+ default: throw Error("Unsupported command type");
45
+ }
46
+ };
52
47
  }
53
- const _e = /^[\w-]+$/, De = {
54
- simpleGitHooks: t({
55
- type: e.CLI,
56
- packages: [
57
- {
58
- name: ee,
59
- type: n.DEV_DEPENDENCY
60
- }
61
- ],
62
- command: te
63
- }),
64
- eslintInspect: t({
65
- type: e.CLI,
66
- packages: [
67
- {
68
- name: oe,
69
- type: n.DEV_DEPENDENCY
70
- }
71
- ],
72
- command: ne
73
- }),
74
- nodeModulesInspect: t({
75
- type: e.CLI,
76
- packages: [
77
- {
78
- name: se,
79
- type: n.DEV_DEPENDENCY
80
- }
81
- ],
82
- command: ce
83
- }),
84
- eslintCheck: t({
85
- type: e.CLI,
86
- packages: [
87
- {
88
- name: l,
89
- type: n.DEV_DEPENDENCY
90
- }
91
- ],
92
- command: `${d} ${s.WORKING_DIRECTORY} --no-cache`
93
- }),
94
- eslintFix: t({
95
- type: e.CLI,
96
- packages: [
97
- {
98
- name: l,
99
- type: n.DEV_DEPENDENCY
100
- }
101
- ],
102
- command: `${d} ${s.WORKING_DIRECTORY} --fix --no-cache`
103
- }),
104
- typescriptCheck: t({
105
- type: e.CLI,
106
- packages: [
107
- {
108
- name: z,
109
- type: n.DEV_DEPENDENCY
110
- }
111
- ],
112
- command: `${Q} -p ${s.TS_CONFIG} --noEmit`
113
- }),
114
- testUnit: t({
115
- type: e.CLI,
116
- packages: [
117
- {
118
- name: A,
119
- type: n.DEV_DEPENDENCY
120
- }
121
- ],
122
- command: `${M} --config ${s.VITEST_UNIT_CONFIG}`
123
- }),
124
- testE2e: t({
125
- type: e.CLI,
126
- packages: [
127
- {
128
- name: A,
129
- type: n.DEV_DEPENDENCY
130
- }
131
- ],
132
- command: `${M} --config ${s.VITEST_E2E_CONFIG}`
133
- }),
134
- mongoMigrateCreate: (c) => {
135
- if (!_e.test(c))
136
- throw new Error("Migration name must only contain alphanumeric characters, underscores, and hyphens.");
137
- return t({
138
- type: e.CLI,
139
- packages: [
140
- {
141
- name: a,
142
- type: n.DEPENDENCY
143
- },
144
- {
145
- name: m,
146
- type: n.DEPENDENCY
147
- }
148
- ],
149
- command: `${a} ${C} create ${c} -f ${s.MIGRATE_MONGO_CONFIG}`
150
- })();
151
- },
152
- mongoMigrateUp: t({
153
- type: e.CLI,
154
- packages: [
155
- {
156
- name: a,
157
- type: n.DEPENDENCY
158
- },
159
- {
160
- name: m,
161
- type: n.DEPENDENCY
162
- }
163
- ],
164
- command: `${a} ${C} up -f ${s.MIGRATE_MONGO_CONFIG}`
165
- }),
166
- mongoMigrateDown: t({
167
- type: e.CLI,
168
- packages: [
169
- {
170
- name: a,
171
- type: n.DEPENDENCY
172
- },
173
- {
174
- name: m,
175
- type: n.DEPENDENCY
176
- }
177
- ],
178
- command: `${a} ${C} down -f ${s.MIGRATE_MONGO_CONFIG}`
179
- }),
180
- commitLint: t({
181
- type: e.CLI,
182
- packages: [
183
- {
184
- name: W,
185
- type: n.DEV_DEPENDENCY
186
- },
187
- {
188
- name: X,
189
- type: n.DEV_DEPENDENCY
190
- }
191
- ],
192
- command: `${$} --edit ${s.GIT_COMMIT_MSG} --config ${s.COMMITLINT_CONFIG}`
193
- }),
194
- lintStaged: t({
195
- type: e.CLI,
196
- packages: [
197
- {
198
- name: q,
199
- type: n.DEV_DEPENDENCY
200
- }
201
- ],
202
- command: `${f} --config ${s.LINT_STAGED_CONFIG}`
203
- }),
204
- configureGitHook: t({
205
- type: e.STRING,
206
- command: `${k} config core.hooksPath ${s.GIT_HOOK}`
207
- }),
208
- build: t({
209
- type: e.STRING,
210
- command: `${_} run --if-present build`
211
- }),
212
- pnpmInstallStandard: t({
213
- type: e.STRING,
214
- command: `${_} install --ignore-scripts`
215
- }),
216
- pnpmInstallLegacy: t({
217
- type: e.STRING,
218
- command: `${_} install --ignore-scripts --legacy-peer-deps`
219
- }),
220
- pnpmInstallForce: t({
221
- type: e.STRING,
222
- command: `${_} install --ignore-scripts --force`
223
- }),
224
- pnpmPruneStore: t({
225
- type: e.STRING,
226
- command: `${_} store prune`
227
- }),
228
- pnpmCleanCache: t({
229
- type: e.STRING,
230
- command: `${_} cache delete`
231
- }),
232
- storybookDev: t({
233
- type: e.CLI,
234
- packages: [
235
- {
236
- name: y,
237
- type: n.DEV_DEPENDENCY
238
- }
239
- ],
240
- command: `${S} dev`
241
- }),
242
- storybookBuild: t({
243
- type: e.CLI,
244
- packages: [
245
- {
246
- name: y,
247
- type: n.DEV_DEPENDENCY
248
- }
249
- ],
250
- command: `${S} build`
251
- })
48
+ var re = /^[\w-]+$/, ie = {
49
+ simpleGitHooks: $({
50
+ type: t.CLI,
51
+ packages: [{
52
+ name: B,
53
+ type: n.DEV_DEPENDENCY
54
+ }],
55
+ command: V
56
+ }),
57
+ eslintInspect: $({
58
+ type: t.CLI,
59
+ packages: [{
60
+ name: H,
61
+ type: n.DEV_DEPENDENCY
62
+ }],
63
+ command: U
64
+ }),
65
+ nodeModulesInspect: $({
66
+ type: t.CLI,
67
+ packages: [{
68
+ name: W,
69
+ type: n.DEV_DEPENDENCY
70
+ }],
71
+ command: G
72
+ }),
73
+ eslintCheck: $({
74
+ type: t.CLI,
75
+ packages: [{
76
+ name: T,
77
+ type: n.DEV_DEPENDENCY
78
+ }],
79
+ command: `${E} ${Q.WORKING_DIRECTORY} --no-cache`
80
+ }),
81
+ eslintFix: $({
82
+ type: t.CLI,
83
+ packages: [{
84
+ name: T,
85
+ type: n.DEV_DEPENDENCY
86
+ }],
87
+ command: `${E} ${Q.WORKING_DIRECTORY} --fix --no-cache`
88
+ }),
89
+ typescriptCheck: $({
90
+ type: t.CLI,
91
+ packages: [{
92
+ name: P,
93
+ type: n.DEV_DEPENDENCY
94
+ }],
95
+ command: `tsc -p ${Q.TS_CONFIG} --noEmit`
96
+ }),
97
+ testUnit: $({
98
+ type: t.CLI,
99
+ packages: [{
100
+ name: D,
101
+ type: n.DEV_DEPENDENCY
102
+ }],
103
+ command: `${O} --config ${Q.VITEST_UNIT_CONFIG}`
104
+ }),
105
+ testE2e: $({
106
+ type: t.CLI,
107
+ packages: [{
108
+ name: D,
109
+ type: n.DEV_DEPENDENCY
110
+ }],
111
+ command: `${O} --config ${Q.VITEST_E2E_CONFIG}`
112
+ }),
113
+ mongoMigrateCreate: (e) => {
114
+ if (!re.test(e)) throw Error("Migration name must only contain alphanumeric characters, underscores, and hyphens.");
115
+ return $({
116
+ type: t.CLI,
117
+ packages: [{
118
+ name: "tsx",
119
+ type: n.DEPENDENCY
120
+ }, {
121
+ name: K,
122
+ type: n.DEPENDENCY
123
+ }],
124
+ command: `tsx ${q} create ${e} -f ${Q.MIGRATE_MONGO_CONFIG}`
125
+ })();
126
+ },
127
+ mongoMigrateUp: $({
128
+ type: t.CLI,
129
+ packages: [{
130
+ name: "tsx",
131
+ type: n.DEPENDENCY
132
+ }, {
133
+ name: K,
134
+ type: n.DEPENDENCY
135
+ }],
136
+ command: `tsx ${q} up -f ${Q.MIGRATE_MONGO_CONFIG}`
137
+ }),
138
+ mongoMigrateDown: $({
139
+ type: t.CLI,
140
+ packages: [{
141
+ name: "tsx",
142
+ type: n.DEPENDENCY
143
+ }, {
144
+ name: K,
145
+ type: n.DEPENDENCY
146
+ }],
147
+ command: `tsx ${q} down -f ${Q.MIGRATE_MONGO_CONFIG}`
148
+ }),
149
+ commitLint: $({
150
+ type: t.CLI,
151
+ packages: [{
152
+ name: k,
153
+ type: n.DEV_DEPENDENCY
154
+ }, {
155
+ name: A,
156
+ type: n.DEV_DEPENDENCY
157
+ }],
158
+ command: `${j} --edit ${Q.GIT_COMMIT_MSG} --config ${Q.COMMITLINT_CONFIG}`
159
+ }),
160
+ lintStaged: $({
161
+ type: t.CLI,
162
+ packages: [{
163
+ name: M,
164
+ type: n.DEV_DEPENDENCY
165
+ }],
166
+ command: `${N} --config ${Q.LINT_STAGED_CONFIG}`
167
+ }),
168
+ configureGitHook: $({
169
+ type: t.STRING,
170
+ command: `git config core.hooksPath ${Q.GIT_HOOK}`
171
+ }),
172
+ build: $({
173
+ type: t.STRING,
174
+ command: `${R} run --if-present build`
175
+ }),
176
+ pnpmInstallStandard: $({
177
+ type: t.STRING,
178
+ command: `${R} install --ignore-scripts`
179
+ }),
180
+ pnpmInstallLegacy: $({
181
+ type: t.STRING,
182
+ command: `${R} install --ignore-scripts --legacy-peer-deps`
183
+ }),
184
+ pnpmInstallForce: $({
185
+ type: t.STRING,
186
+ command: `${R} install --ignore-scripts --force`
187
+ }),
188
+ pnpmPruneStore: $({
189
+ type: t.STRING,
190
+ command: `${R} store prune`
191
+ }),
192
+ pnpmCleanCache: $({
193
+ type: t.STRING,
194
+ command: `${R} cache delete`
195
+ }),
196
+ storybookDev: $({
197
+ type: t.CLI,
198
+ packages: [{
199
+ name: J,
200
+ type: n.DEV_DEPENDENCY
201
+ }],
202
+ command: `${Y} dev`
203
+ }),
204
+ storybookBuild: $({
205
+ type: t.CLI,
206
+ packages: [{
207
+ name: J,
208
+ type: n.DEV_DEPENDENCY
209
+ }],
210
+ command: `${Y} build`
211
+ })
252
212
  };
253
- export {
254
- Oe as AG_KIT_PACKAGE_NAME,
255
- L as BUILD_DIRECTORY,
256
- $ as COMMIT_LINT_CLI,
257
- X as COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,
258
- W as COMMIT_LINT_PACKAGE_NAME,
259
- re as CYBERSKILL_CLI,
260
- Te as CYBERSKILL_CLI_PATH,
261
- E as CYBERSKILL_DIRECTORY,
262
- g as CYBERSKILL_PACKAGE_NAME,
263
- Ee as DOT_AGENT,
264
- d as ESLINT_CLI,
265
- ne as ESLINT_INSPECT_CLI,
266
- oe as ESLINT_INSPECT_PACKAGE_NAME,
267
- l as ESLINT_PACKAGE_NAME,
268
- k as GIT_CLI,
269
- H as GIT_COMMIT_EDITMSG,
270
- x as GIT_EXCLUDE,
271
- B as GIT_HOOK,
272
- U as GIT_IGNORE,
273
- f as LINT_STAGED_CLI,
274
- q as LINT_STAGED_PACKAGE_NAME,
275
- C as MIGRATE_MONGO_CLI,
276
- J as MIGRATE_MONGO_CONFIG,
277
- m as MIGRATE_MONGO_PACKAGE_NAME,
278
- P as NODE_MODULES,
279
- ce as NODE_MODULES_INSPECT_CLI,
280
- se as NODE_MODULES_INSPECT_PACKAGE_NAME,
281
- u as PACKAGE_JSON,
282
- V as PACKAGE_LOCK_JSON,
283
- s as PATH,
284
- _ as PNPM_CLI,
285
- Z as PNPM_EXEC_CLI,
286
- w as PNPM_LOCK_YAML,
287
- F as PUBLIC_DIRECTORY,
288
- ee as SIMPLE_GIT_HOOKS_PACKAGE_NAME,
289
- te as SIMPLE_GIT_HOOK_CLI,
290
- j as SIMPLE_GIT_HOOK_JSON,
291
- S as STORYBOOK_CLI,
292
- y as STORYBOOK_PACKAGE_NAME,
293
- v as TSCONFIG_JSON,
294
- Q as TSC_CLI,
295
- z as TSC_PACKAGE_NAME,
296
- a as TSX_CLI,
297
- M as VITEST_CLI,
298
- A as VITEST_PACKAGE_NAME,
299
- N as WORKING_DIRECTORY,
300
- De as command,
301
- Ge as createGitHooksConfig
302
- };
303
- //# sourceMappingURL=path.constant.js.map
213
+ //#endregion
214
+ export { X as AG_KIT_PACKAGE_NAME, u as BUILD_DIRECTORY, j as COMMIT_LINT_CLI, A as COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME, k as COMMIT_LINT_PACKAGE_NAME, C as CYBERSKILL_CLI, w as CYBERSKILL_CLI_PATH, S as CYBERSKILL_DIRECTORY, c as CYBERSKILL_PACKAGE_NAME, Z as DOT_AGENT, E as ESLINT_CLI, U as ESLINT_INSPECT_CLI, H as ESLINT_INSPECT_PACKAGE_NAME, T as ESLINT_PACKAGE_NAME, L as GIT_CLI, y as GIT_COMMIT_EDITMSG, b as GIT_EXCLUDE, v as GIT_HOOK, h as GIT_IGNORE, N as LINT_STAGED_CLI, M as LINT_STAGED_PACKAGE_NAME, q as MIGRATE_MONGO_CLI, x as MIGRATE_MONGO_CONFIG, K as MIGRATE_MONGO_PACKAGE_NAME, l as NODE_MODULES, G as NODE_MODULES_INSPECT_CLI, W as NODE_MODULES_INSPECT_PACKAGE_NAME, f as PACKAGE_JSON, p as PACKAGE_LOCK_JSON, Q as PATH, R as PNPM_CLI, z as PNPM_EXEC_CLI, _ as PNPM_LOCK_YAML, d as PUBLIC_DIRECTORY, B as SIMPLE_GIT_HOOKS_PACKAGE_NAME, V as SIMPLE_GIT_HOOK_CLI, g as SIMPLE_GIT_HOOK_JSON, Y as STORYBOOK_CLI, J as STORYBOOK_PACKAGE_NAME, m as TSCONFIG_JSON, F as TSC_CLI, P as TSC_PACKAGE_NAME, I as TSX_CLI, O as VITEST_CLI, D as VITEST_PACKAGE_NAME, s as WORKING_DIRECTORY, ie as command, ne as createGitHooksConfig };
215
+
216
+ //# sourceMappingURL=path.constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path.constant.js","sources":["../../../src/node/path/path.constant.ts"],"sourcesContent":["import fsExtra from 'fs-extra';\n\nimport { getEnv } from '#config/env/index.js';\n\nimport type { I_CommandContext } from '../command/index.js';\nimport type { I_PackageInput, I_PackageJson } from '../package/index.js';\n\nimport { E_CommandType, formatCommand, rawCommand } from '../command/index.js';\nimport { E_PackageType, setupPackages } from '../package/index.js';\nimport { join, resolveWorkingPath } from './path.util.js';\n\nconst env = getEnv();\n\nexport const WORKING_DIRECTORY = env.CWD;\nexport const CYBERSKILL_PACKAGE_NAME = '@cyberskill/shared';\nexport const NODE_MODULES = 'node_modules';\nexport const BUILD_DIRECTORY = 'dist';\nexport const PUBLIC_DIRECTORY = 'public';\nexport const PACKAGE_JSON = 'package.json';\nexport const PACKAGE_LOCK_JSON = 'package-lock.json';\nexport const TSCONFIG_JSON = 'tsconfig.json';\nexport const GIT_IGNORE = '.gitignore';\nexport const SIMPLE_GIT_HOOK_JSON = '.simple-git-hooks.json';\nexport const PNPM_LOCK_YAML = 'pnpm-lock.yaml';\nexport const GIT_HOOK = '.git/hooks/';\nexport const GIT_COMMIT_EDITMSG = '.git/COMMIT_EDITMSG';\nexport const GIT_EXCLUDE = '.git/info/exclude';\nexport const MIGRATE_MONGO_CONFIG = '.migrate-mongo.config.js';\nexport const CYBERSKILL_DIRECTORY = (() => {\n const packageJson = fsExtra.readJsonSync(resolveWorkingPath(PACKAGE_JSON)) as I_PackageJson;\n\n const baseDirectory = packageJson.name === CYBERSKILL_PACKAGE_NAME\n ? join(WORKING_DIRECTORY, BUILD_DIRECTORY)\n : join(WORKING_DIRECTORY, NODE_MODULES, CYBERSKILL_PACKAGE_NAME, BUILD_DIRECTORY);\n\n return baseDirectory;\n})();\nexport const CYBERSKILL_CLI = 'cyberskill';\nexport const CYBERSKILL_CLI_PATH = 'src/node/cli/index.ts';\nexport const ESLINT_PACKAGE_NAME = 'eslint';\nexport const ESLINT_CLI = 'eslint';\nexport const VITEST_PACKAGE_NAME = 'vitest';\nexport const VITEST_CLI = 'vitest';\nexport const COMMIT_LINT_PACKAGE_NAME = '@commitlint/cli';\nexport const COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME = '@commitlint/config-conventional';\nexport const COMMIT_LINT_CLI = 'commitlint';\nexport const LINT_STAGED_PACKAGE_NAME = 'lint-staged';\nexport const LINT_STAGED_CLI = 'lint-staged';\nexport const TSC_PACKAGE_NAME = 'typescript';\nexport const TSC_CLI = 'tsc';\nexport const TSX_CLI = 'tsx';\nexport const GIT_CLI = 'git';\nexport const PNPM_CLI = 'pnpm';\nexport const PNPM_EXEC_CLI = 'pnpm exec';\nexport const SIMPLE_GIT_HOOKS_PACKAGE_NAME = 'simple-git-hooks';\nexport const SIMPLE_GIT_HOOK_CLI = 'simple-git-hooks';\nexport const ESLINT_INSPECT_PACKAGE_NAME = '@eslint/config-inspector';\nexport const ESLINT_INSPECT_CLI = 'eslint-config-inspector';\nexport const NODE_MODULES_INSPECT_PACKAGE_NAME = 'node-modules-inspector';\nexport const NODE_MODULES_INSPECT_CLI = 'node-modules-inspector';\nexport const MIGRATE_MONGO_PACKAGE_NAME = 'migrate-mongo';\nexport const MIGRATE_MONGO_CLI = './node_modules/migrate-mongo/bin/migrate-mongo';\nexport const STORYBOOK_PACKAGE_NAME = 'storybook';\nexport const STORYBOOK_CLI = 'storybook';\nexport const AG_KIT_PACKAGE_NAME = '@vudovn/ag-kit';\nexport const DOT_AGENT = '.agent';\n\nexport const PATH = {\n CYBERSKILL_DIRECTORY,\n WORKING_DIRECTORY,\n PUBLIC_DIRECTORY: resolveWorkingPath(PUBLIC_DIRECTORY),\n TS_CONFIG: resolveWorkingPath(TSCONFIG_JSON),\n GIT_IGNORE: resolveWorkingPath(GIT_IGNORE),\n GIT_HOOK: resolveWorkingPath(GIT_HOOK),\n GIT_COMMIT_MSG: resolveWorkingPath(GIT_COMMIT_EDITMSG),\n GIT_EXCLUDE: resolveWorkingPath(GIT_EXCLUDE),\n SIMPLE_GIT_HOOKS_JSON: resolveWorkingPath(SIMPLE_GIT_HOOK_JSON),\n PACKAGE_JSON: resolveWorkingPath(PACKAGE_JSON),\n PACKAGE_LOCK_JSON: resolveWorkingPath(PACKAGE_LOCK_JSON),\n PNPM_LOCK_YAML: resolveWorkingPath(PNPM_LOCK_YAML),\n NODE_MODULES: resolveWorkingPath(NODE_MODULES),\n MIGRATE_MONGO_CONFIG: resolveWorkingPath(MIGRATE_MONGO_CONFIG),\n LINT_STAGED_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/lint-staged/index.js`),\n COMMITLINT_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/commitlint/index.js`),\n VITEST_UNIT_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/vitest/vitest.unit.js`),\n VITEST_E2E_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/vitest/vitest.e2e.js`),\n STORYBOOK_MAIN_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/storybook/storybook.main.js`),\n STORYBOOK_PREVIEW_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/storybook/storybook.preview.js`),\n DOT_AGENT: resolveWorkingPath(DOT_AGENT),\n};\n\n/**\n * Creates Git hooks configuration based on whether this is the current project.\n * This function generates a configuration object for Git hooks that includes\n * pre-commit and commit-msg hooks, with an optional pre-push hook for the current project.\n *\n * @param context - Context object containing project information.\n * @param context.isCurrentProject - Whether this is the current project being worked on.\n * @returns A Git hooks configuration object with appropriate commands for each hook.\n */\nexport function createGitHooksConfig({ isCurrentProject }: Partial<I_CommandContext>) {\n return {\n 'pre-commit': LINT_STAGED_CLI,\n 'commit-msg': COMMIT_LINT_CLI,\n ...(isCurrentProject ? { 'pre-push': rawCommand(`${GIT_CLI} pull`) } : { 'pre-push': rawCommand(`TAG_ONLY=true; while read local_ref local_oid remote_ref remote_oid; do case \\\"$local_ref\\\" in refs/tags/*) ;; *) TAG_ONLY=false; break ;; esac; done; if [ \\\"$TAG_ONLY\\\" = true ]; then echo '[pre-push] Tag-only push, skipping build.'; exit 0; fi; ${PNPM_CLI} build`) }),\n };\n}\n\n/**\n * Builds a command function based on the specified type and configuration.\n * This function creates a command executor that handles different command types\n * including CLI commands and string commands. It manages package dependencies\n * and formats commands appropriately for execution.\n *\n * The function supports:\n * - CLI commands that require package installation\n * - String commands that are executed directly\n * - Automatic package dependency management\n * - Command formatting and validation\n *\n * @param config - Configuration object containing type, packages, and command properties.\n * @param config.type - The type of command to build (CLI or STRING).\n * @param config.packages - Optional array of packages required for CLI commands.\n * @param config.command - The command string to execute.\n * @returns A function that returns a promise resolving to the formatted command string.\n * @throws {Error} When an unsupported command type is provided.\n */\nfunction buildCommand({ type, packages, command }: { type: E_CommandType; packages?: I_PackageInput[]; command: string }): () => Promise<string> {\n const uniquePackages = packages?.reduce((acc: I_PackageInput[], pkg) => {\n if (!acc.some(existingPkg => existingPkg.name === pkg.name)) {\n acc.push(pkg);\n }\n return acc;\n }, []);\n\n return async () => {\n switch (type) {\n case E_CommandType.CLI: {\n if (uniquePackages?.length) {\n await setupPackages(uniquePackages, {\n install: true,\n });\n }\n\n return formatCommand(rawCommand(`${PNPM_EXEC_CLI} ${command}`)) as string;\n }\n case E_CommandType.STRING: {\n return formatCommand(rawCommand(command)) as string;\n }\n default: {\n throw new Error('Unsupported command type');\n }\n }\n };\n}\n\nconst RE_MIGRATE_NAME = /^[\\w-]+$/;\n\nexport const command = {\n simpleGitHooks: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: SIMPLE_GIT_HOOKS_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: SIMPLE_GIT_HOOK_CLI,\n }),\n eslintInspect: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name:\n ESLINT_INSPECT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: ESLINT_INSPECT_CLI,\n }),\n nodeModulesInspect: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: NODE_MODULES_INSPECT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: NODE_MODULES_INSPECT_CLI,\n }),\n eslintCheck: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: ESLINT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: `${ESLINT_CLI} ${PATH.WORKING_DIRECTORY} --no-cache`,\n }),\n eslintFix: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: ESLINT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: `${ESLINT_CLI} ${PATH.WORKING_DIRECTORY} --fix --no-cache`,\n }),\n typescriptCheck: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSC_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: `${TSC_CLI} -p ${PATH.TS_CONFIG} --noEmit`,\n }),\n testUnit: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: VITEST_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${VITEST_CLI} --config ${PATH.VITEST_UNIT_CONFIG}`,\n }),\n testE2e: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: VITEST_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${VITEST_CLI} --config ${PATH.VITEST_E2E_CONFIG}`,\n }),\n mongoMigrateCreate: (migrateName: string) => {\n if (!RE_MIGRATE_NAME.test(migrateName)) {\n throw new Error('Migration name must only contain alphanumeric characters, underscores, and hyphens.');\n }\n\n return buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSX_CLI,\n type: E_PackageType.DEPENDENCY,\n },\n {\n name: MIGRATE_MONGO_PACKAGE_NAME,\n type: E_PackageType.DEPENDENCY,\n },\n ],\n command: `${TSX_CLI} ${MIGRATE_MONGO_CLI} create ${migrateName} -f ${PATH.MIGRATE_MONGO_CONFIG}`,\n })();\n },\n mongoMigrateUp: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSX_CLI,\n type: E_PackageType.DEPENDENCY,\n },\n {\n name: MIGRATE_MONGO_PACKAGE_NAME,\n type: E_PackageType.DEPENDENCY,\n },\n ],\n command: `${TSX_CLI} ${MIGRATE_MONGO_CLI} up -f ${PATH.MIGRATE_MONGO_CONFIG}`,\n }),\n mongoMigrateDown: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSX_CLI,\n type: E_PackageType.DEPENDENCY,\n },\n {\n name: MIGRATE_MONGO_PACKAGE_NAME,\n type: E_PackageType.DEPENDENCY,\n },\n ],\n command: `${TSX_CLI} ${MIGRATE_MONGO_CLI} down -f ${PATH.MIGRATE_MONGO_CONFIG}`,\n }),\n commitLint: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: COMMIT_LINT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n {\n name: COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${COMMIT_LINT_CLI} --edit ${PATH.GIT_COMMIT_MSG} --config ${PATH.COMMITLINT_CONFIG}`,\n }),\n lintStaged: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: LINT_STAGED_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${LINT_STAGED_CLI} --config ${PATH.LINT_STAGED_CONFIG}`,\n }),\n configureGitHook: buildCommand({\n type: E_CommandType.STRING,\n command: `${GIT_CLI} config core.hooksPath ${PATH.GIT_HOOK}`,\n }),\n build: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} run --if-present build`,\n }),\n pnpmInstallStandard: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} install --ignore-scripts`,\n }),\n pnpmInstallLegacy: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} install --ignore-scripts --legacy-peer-deps`,\n }),\n pnpmInstallForce: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} install --ignore-scripts --force`,\n }),\n pnpmPruneStore: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} store prune`,\n }),\n pnpmCleanCache: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} cache delete`,\n }),\n storybookDev: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: STORYBOOK_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${STORYBOOK_CLI} dev`,\n }),\n storybookBuild: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: STORYBOOK_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${STORYBOOK_CLI} build`,\n }),\n};\n"],"names":["env","getEnv","WORKING_DIRECTORY","CYBERSKILL_PACKAGE_NAME","NODE_MODULES","BUILD_DIRECTORY","PUBLIC_DIRECTORY","PACKAGE_JSON","PACKAGE_LOCK_JSON","TSCONFIG_JSON","GIT_IGNORE","SIMPLE_GIT_HOOK_JSON","PNPM_LOCK_YAML","GIT_HOOK","GIT_COMMIT_EDITMSG","GIT_EXCLUDE","MIGRATE_MONGO_CONFIG","CYBERSKILL_DIRECTORY","fsExtra","resolveWorkingPath","join","CYBERSKILL_CLI","CYBERSKILL_CLI_PATH","ESLINT_PACKAGE_NAME","ESLINT_CLI","VITEST_PACKAGE_NAME","VITEST_CLI","COMMIT_LINT_PACKAGE_NAME","COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME","COMMIT_LINT_CLI","LINT_STAGED_PACKAGE_NAME","LINT_STAGED_CLI","TSC_PACKAGE_NAME","TSC_CLI","TSX_CLI","GIT_CLI","PNPM_CLI","PNPM_EXEC_CLI","SIMPLE_GIT_HOOKS_PACKAGE_NAME","SIMPLE_GIT_HOOK_CLI","ESLINT_INSPECT_PACKAGE_NAME","ESLINT_INSPECT_CLI","NODE_MODULES_INSPECT_PACKAGE_NAME","NODE_MODULES_INSPECT_CLI","MIGRATE_MONGO_PACKAGE_NAME","MIGRATE_MONGO_CLI","STORYBOOK_PACKAGE_NAME","STORYBOOK_CLI","AG_KIT_PACKAGE_NAME","DOT_AGENT","PATH","createGitHooksConfig","isCurrentProject","rawCommand","buildCommand","type","packages","command","uniquePackages","acc","pkg","existingPkg","E_CommandType","setupPackages","formatCommand","RE_MIGRATE_NAME","E_PackageType","migrateName"],"mappings":"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"}
1
+ {"version":3,"file":"path.constant.js","names":[],"sources":["../../../src/node/path/path.constant.ts"],"sourcesContent":["import fsExtra from 'fs-extra';\n\nimport { getEnv } from '#config/env/index.js';\n\nimport type { I_CommandContext } from '../command/index.js';\nimport type { I_PackageInput, I_PackageJson } from '../package/index.js';\n\nimport { E_CommandType, formatCommand, rawCommand } from '../command/index.js';\nimport { E_PackageType, setupPackages } from '../package/index.js';\nimport { join, resolveWorkingPath } from './path.util.js';\n\nconst env = getEnv();\n\nexport const WORKING_DIRECTORY = env.CWD;\nexport const CYBERSKILL_PACKAGE_NAME = '@cyberskill/shared';\nexport const NODE_MODULES = 'node_modules';\nexport const BUILD_DIRECTORY = 'dist';\nexport const PUBLIC_DIRECTORY = 'public';\nexport const PACKAGE_JSON = 'package.json';\nexport const PACKAGE_LOCK_JSON = 'package-lock.json';\nexport const TSCONFIG_JSON = 'tsconfig.json';\nexport const GIT_IGNORE = '.gitignore';\nexport const SIMPLE_GIT_HOOK_JSON = '.simple-git-hooks.json';\nexport const PNPM_LOCK_YAML = 'pnpm-lock.yaml';\nexport const GIT_HOOK = '.git/hooks/';\nexport const GIT_COMMIT_EDITMSG = '.git/COMMIT_EDITMSG';\nexport const GIT_EXCLUDE = '.git/info/exclude';\nexport const MIGRATE_MONGO_CONFIG = '.migrate-mongo.config.js';\nexport const CYBERSKILL_DIRECTORY = (() => {\n const packageJson = fsExtra.readJsonSync(resolveWorkingPath(PACKAGE_JSON)) as I_PackageJson;\n\n const baseDirectory = packageJson.name === CYBERSKILL_PACKAGE_NAME\n ? join(WORKING_DIRECTORY, BUILD_DIRECTORY)\n : join(WORKING_DIRECTORY, NODE_MODULES, CYBERSKILL_PACKAGE_NAME, BUILD_DIRECTORY);\n\n return baseDirectory;\n})();\nexport const CYBERSKILL_CLI = 'cyberskill';\nexport const CYBERSKILL_CLI_PATH = 'src/node/cli/index.ts';\nexport const ESLINT_PACKAGE_NAME = 'eslint';\nexport const ESLINT_CLI = 'eslint';\nexport const VITEST_PACKAGE_NAME = 'vitest';\nexport const VITEST_CLI = 'vitest';\nexport const COMMIT_LINT_PACKAGE_NAME = '@commitlint/cli';\nexport const COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME = '@commitlint/config-conventional';\nexport const COMMIT_LINT_CLI = 'commitlint';\nexport const LINT_STAGED_PACKAGE_NAME = 'lint-staged';\nexport const LINT_STAGED_CLI = 'lint-staged';\nexport const TSC_PACKAGE_NAME = 'typescript';\nexport const TSC_CLI = 'tsc';\nexport const TSX_CLI = 'tsx';\nexport const GIT_CLI = 'git';\nexport const PNPM_CLI = 'pnpm';\nexport const PNPM_EXEC_CLI = 'pnpm exec';\nexport const SIMPLE_GIT_HOOKS_PACKAGE_NAME = 'simple-git-hooks';\nexport const SIMPLE_GIT_HOOK_CLI = 'simple-git-hooks';\nexport const ESLINT_INSPECT_PACKAGE_NAME = '@eslint/config-inspector';\nexport const ESLINT_INSPECT_CLI = 'eslint-config-inspector';\nexport const NODE_MODULES_INSPECT_PACKAGE_NAME = 'node-modules-inspector';\nexport const NODE_MODULES_INSPECT_CLI = 'node-modules-inspector';\nexport const MIGRATE_MONGO_PACKAGE_NAME = 'migrate-mongo';\nexport const MIGRATE_MONGO_CLI = './node_modules/migrate-mongo/bin/migrate-mongo';\nexport const STORYBOOK_PACKAGE_NAME = 'storybook';\nexport const STORYBOOK_CLI = 'storybook';\nexport const AG_KIT_PACKAGE_NAME = '@vudovn/ag-kit';\nexport const DOT_AGENT = '.agent';\n\nexport const PATH = {\n CYBERSKILL_DIRECTORY,\n WORKING_DIRECTORY,\n PUBLIC_DIRECTORY: resolveWorkingPath(PUBLIC_DIRECTORY),\n TS_CONFIG: resolveWorkingPath(TSCONFIG_JSON),\n GIT_IGNORE: resolveWorkingPath(GIT_IGNORE),\n GIT_HOOK: resolveWorkingPath(GIT_HOOK),\n GIT_COMMIT_MSG: resolveWorkingPath(GIT_COMMIT_EDITMSG),\n GIT_EXCLUDE: resolveWorkingPath(GIT_EXCLUDE),\n SIMPLE_GIT_HOOKS_JSON: resolveWorkingPath(SIMPLE_GIT_HOOK_JSON),\n PACKAGE_JSON: resolveWorkingPath(PACKAGE_JSON),\n PACKAGE_LOCK_JSON: resolveWorkingPath(PACKAGE_LOCK_JSON),\n PNPM_LOCK_YAML: resolveWorkingPath(PNPM_LOCK_YAML),\n NODE_MODULES: resolveWorkingPath(NODE_MODULES),\n MIGRATE_MONGO_CONFIG: resolveWorkingPath(MIGRATE_MONGO_CONFIG),\n LINT_STAGED_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/lint-staged/index.js`),\n COMMITLINT_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/commitlint/index.js`),\n VITEST_UNIT_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/vitest/vitest.unit.js`),\n VITEST_E2E_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/vitest/vitest.e2e.js`),\n STORYBOOK_MAIN_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/storybook/storybook.main.js`),\n STORYBOOK_PREVIEW_CONFIG: resolveWorkingPath(`${CYBERSKILL_DIRECTORY}/config/storybook/storybook.preview.js`),\n DOT_AGENT: resolveWorkingPath(DOT_AGENT),\n};\n\n/**\n * Creates Git hooks configuration based on whether this is the current project.\n * This function generates a configuration object for Git hooks that includes\n * pre-commit and commit-msg hooks, with an optional pre-push hook for the current project.\n *\n * @param context - Context object containing project information.\n * @param context.isCurrentProject - Whether this is the current project being worked on.\n * @returns A Git hooks configuration object with appropriate commands for each hook.\n */\nexport function createGitHooksConfig({ isCurrentProject }: Partial<I_CommandContext>) {\n return {\n 'pre-commit': LINT_STAGED_CLI,\n 'commit-msg': COMMIT_LINT_CLI,\n ...(isCurrentProject ? { 'pre-push': rawCommand(`${GIT_CLI} pull`) } : { 'pre-push': rawCommand(`TAG_ONLY=true; while read local_ref local_oid remote_ref remote_oid; do case \\\"$local_ref\\\" in refs/tags/*) ;; *) TAG_ONLY=false; break ;; esac; done; if [ \\\"$TAG_ONLY\\\" = true ]; then echo '[pre-push] Tag-only push, skipping build.'; exit 0; fi; ${PNPM_CLI} build`) }),\n };\n}\n\n/**\n * Builds a command function based on the specified type and configuration.\n * This function creates a command executor that handles different command types\n * including CLI commands and string commands. It manages package dependencies\n * and formats commands appropriately for execution.\n *\n * The function supports:\n * - CLI commands that require package installation\n * - String commands that are executed directly\n * - Automatic package dependency management\n * - Command formatting and validation\n *\n * @param config - Configuration object containing type, packages, and command properties.\n * @param config.type - The type of command to build (CLI or STRING).\n * @param config.packages - Optional array of packages required for CLI commands.\n * @param config.command - The command string to execute.\n * @returns A function that returns a promise resolving to the formatted command string.\n * @throws {Error} When an unsupported command type is provided.\n */\nfunction buildCommand({ type, packages, command }: { type: E_CommandType; packages?: I_PackageInput[]; command: string }): () => Promise<string> {\n const uniquePackages = packages?.reduce((acc: I_PackageInput[], pkg) => {\n if (!acc.some(existingPkg => existingPkg.name === pkg.name)) {\n acc.push(pkg);\n }\n return acc;\n }, []);\n\n return async () => {\n switch (type) {\n case E_CommandType.CLI: {\n if (uniquePackages?.length) {\n await setupPackages(uniquePackages, {\n install: true,\n });\n }\n\n return formatCommand(rawCommand(`${PNPM_EXEC_CLI} ${command}`)) as string;\n }\n case E_CommandType.STRING: {\n return formatCommand(rawCommand(command)) as string;\n }\n default: {\n throw new Error('Unsupported command type');\n }\n }\n };\n}\n\nconst RE_MIGRATE_NAME = /^[\\w-]+$/;\n\nexport const command = {\n simpleGitHooks: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: SIMPLE_GIT_HOOKS_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: SIMPLE_GIT_HOOK_CLI,\n }),\n eslintInspect: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name:\n ESLINT_INSPECT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: ESLINT_INSPECT_CLI,\n }),\n nodeModulesInspect: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: NODE_MODULES_INSPECT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: NODE_MODULES_INSPECT_CLI,\n }),\n eslintCheck: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: ESLINT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: `${ESLINT_CLI} ${PATH.WORKING_DIRECTORY} --no-cache`,\n }),\n eslintFix: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: ESLINT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: `${ESLINT_CLI} ${PATH.WORKING_DIRECTORY} --fix --no-cache`,\n }),\n typescriptCheck: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSC_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n\n ],\n command: `${TSC_CLI} -p ${PATH.TS_CONFIG} --noEmit`,\n }),\n testUnit: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: VITEST_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${VITEST_CLI} --config ${PATH.VITEST_UNIT_CONFIG}`,\n }),\n testE2e: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: VITEST_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${VITEST_CLI} --config ${PATH.VITEST_E2E_CONFIG}`,\n }),\n mongoMigrateCreate: (migrateName: string) => {\n if (!RE_MIGRATE_NAME.test(migrateName)) {\n throw new Error('Migration name must only contain alphanumeric characters, underscores, and hyphens.');\n }\n\n return buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSX_CLI,\n type: E_PackageType.DEPENDENCY,\n },\n {\n name: MIGRATE_MONGO_PACKAGE_NAME,\n type: E_PackageType.DEPENDENCY,\n },\n ],\n command: `${TSX_CLI} ${MIGRATE_MONGO_CLI} create ${migrateName} -f ${PATH.MIGRATE_MONGO_CONFIG}`,\n })();\n },\n mongoMigrateUp: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSX_CLI,\n type: E_PackageType.DEPENDENCY,\n },\n {\n name: MIGRATE_MONGO_PACKAGE_NAME,\n type: E_PackageType.DEPENDENCY,\n },\n ],\n command: `${TSX_CLI} ${MIGRATE_MONGO_CLI} up -f ${PATH.MIGRATE_MONGO_CONFIG}`,\n }),\n mongoMigrateDown: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: TSX_CLI,\n type: E_PackageType.DEPENDENCY,\n },\n {\n name: MIGRATE_MONGO_PACKAGE_NAME,\n type: E_PackageType.DEPENDENCY,\n },\n ],\n command: `${TSX_CLI} ${MIGRATE_MONGO_CLI} down -f ${PATH.MIGRATE_MONGO_CONFIG}`,\n }),\n commitLint: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: COMMIT_LINT_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n {\n name: COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${COMMIT_LINT_CLI} --edit ${PATH.GIT_COMMIT_MSG} --config ${PATH.COMMITLINT_CONFIG}`,\n }),\n lintStaged: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: LINT_STAGED_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${LINT_STAGED_CLI} --config ${PATH.LINT_STAGED_CONFIG}`,\n }),\n configureGitHook: buildCommand({\n type: E_CommandType.STRING,\n command: `${GIT_CLI} config core.hooksPath ${PATH.GIT_HOOK}`,\n }),\n build: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} run --if-present build`,\n }),\n pnpmInstallStandard: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} install --ignore-scripts`,\n }),\n pnpmInstallLegacy: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} install --ignore-scripts --legacy-peer-deps`,\n }),\n pnpmInstallForce: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} install --ignore-scripts --force`,\n }),\n pnpmPruneStore: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} store prune`,\n }),\n pnpmCleanCache: buildCommand({\n type: E_CommandType.STRING,\n command: `${PNPM_CLI} cache delete`,\n }),\n storybookDev: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: STORYBOOK_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${STORYBOOK_CLI} dev`,\n }),\n storybookBuild: buildCommand({\n type: E_CommandType.CLI,\n packages: [\n {\n name: STORYBOOK_PACKAGE_NAME,\n type: E_PackageType.DEV_DEPENDENCY,\n },\n ],\n command: `${STORYBOOK_CLI} build`,\n }),\n};\n"],"mappings":"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"}