@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.
- package/dist/config/commitlint/index.js +8 -9
- package/dist/config/commitlint/index.js.map +1 -1
- package/dist/config/config.type.js +8 -5
- package/dist/config/config.type.js.map +1 -1
- package/dist/config/config.util.js +33 -42
- package/dist/config/config.util.js.map +1 -1
- package/dist/config/env/env.constant.js +6 -5
- package/dist/config/env/env.constant.js.map +1 -1
- package/dist/config/env/env.util.js +26 -27
- package/dist/config/env/env.util.js.map +1 -1
- package/dist/config/env/index.js +2 -7
- package/dist/config/eslint/index.js +23 -19
- package/dist/config/eslint/index.js.map +1 -1
- package/dist/config/graphql-codegen/graphql-codegen.util.js +30 -38
- package/dist/config/graphql-codegen/graphql-codegen.util.js.map +1 -1
- package/dist/config/graphql-codegen/index.js +2 -5
- package/dist/config/index.js +3 -7
- package/dist/config/lint-staged/index.js +8 -7
- package/dist/config/lint-staged/index.js.map +1 -1
- package/dist/config/storybook/index.js +2 -6
- package/dist/config/storybook/storybook.main.js +19 -18
- package/dist/config/storybook/storybook.main.js.map +1 -1
- package/dist/config/storybook/storybook.preview.js +31 -37
- package/dist/config/storybook/storybook.preview.js.map +1 -1
- package/dist/config/vitest/index.js +3 -7
- package/dist/config/vitest/vitest.e2e.js +14 -17
- package/dist/config/vitest/vitest.e2e.js.map +1 -1
- package/dist/config/vitest/vitest.unit.js +31 -32
- package/dist/config/vitest/vitest.unit.js.map +1 -1
- package/dist/constant/common.js +6 -5
- package/dist/constant/common.js.map +1 -1
- package/dist/constant/index.js +3 -7
- package/dist/constant/response-status.d.ts +186 -186
- package/dist/constant/response-status.js +254 -253
- package/dist/constant/response-status.js.map +1 -1
- package/dist/node/apollo-server/apollo-server.util.js +27 -29
- package/dist/node/apollo-server/apollo-server.util.js.map +1 -1
- package/dist/node/apollo-server/index.js +2 -7
- package/dist/node/cli/index.js +112 -113
- package/dist/node/cli/index.js.map +1 -1
- package/dist/node/command/command.type.js +8 -5
- package/dist/node/command/command.type.js.map +1 -1
- package/dist/node/command/command.util.js +136 -149
- package/dist/node/command/command.util.js.map +1 -1
- package/dist/node/command/index.js +3 -12
- package/dist/node/express/express.type.d.ts +11 -0
- package/dist/node/express/express.type.js +2 -0
- package/dist/node/express/express.util.js +74 -65
- package/dist/node/express/express.util.js.map +1 -1
- package/dist/node/express/index.js +3 -14
- package/dist/node/fs/fs.util.js +27 -51
- package/dist/node/fs/fs.util.js.map +1 -1
- package/dist/node/fs/index.js +2 -19
- package/dist/node/log/index.js +2 -8
- package/dist/node/log/log.type.js +8 -5
- package/dist/node/log/log.type.js.map +1 -1
- package/dist/node/log/log.util.js +51 -68
- package/dist/node/log/log.util.js.map +1 -1
- package/dist/node/mongo/index.js +8 -26
- package/dist/node/mongo/mongo.constant.js +6 -6
- package/dist/node/mongo/mongo.constant.js.map +1 -1
- package/dist/node/mongo/mongo.controller.mongoose.d.ts +6 -1
- package/dist/node/mongo/mongo.controller.mongoose.js +333 -467
- package/dist/node/mongo/mongo.controller.mongoose.js.map +1 -1
- package/dist/node/mongo/mongo.controller.native.js +153 -212
- package/dist/node/mongo/mongo.controller.native.js.map +1 -1
- package/dist/node/mongo/mongo.dynamic-populate.js +164 -192
- package/dist/node/mongo/mongo.dynamic-populate.js.map +1 -1
- package/dist/node/mongo/mongo.populate.js +229 -262
- package/dist/node/mongo/mongo.populate.js.map +1 -1
- package/dist/node/mongo/mongo.type.js +8 -17
- package/dist/node/mongo/mongo.type.js.map +1 -1
- package/dist/node/mongo/mongo.util.js +134 -293
- package/dist/node/mongo/mongo.util.js.map +1 -1
- package/dist/node/package/index.js +3 -11
- package/dist/node/package/package.type.js +8 -5
- package/dist/node/package/package.type.js.map +1 -1
- package/dist/node/package/package.util.js +216 -225
- package/dist/node/package/package.util.js.map +1 -1
- package/dist/node/path/index.js +3 -58
- package/dist/node/path/path.constant.js +211 -298
- package/dist/node/path/path.constant.js.map +1 -1
- package/dist/node/path/path.util.js +13 -16
- package/dist/node/path/path.util.js.map +1 -1
- package/dist/node/storage/index.js +3 -10
- package/dist/node/storage/storage.constant.js +6 -8
- package/dist/node/storage/storage.constant.js.map +1 -1
- package/dist/node/storage/storage.util.js +127 -178
- package/dist/node/storage/storage.util.js.map +1 -1
- package/dist/node/upload/index.js +4 -16
- package/dist/node/upload/upload.constant.js +58 -32
- package/dist/node/upload/upload.constant.js.map +1 -1
- package/dist/node/upload/upload.type.js +8 -5
- package/dist/node/upload/upload.type.js.map +1 -1
- package/dist/node/upload/upload.util.js +125 -137
- package/dist/node/upload/upload.util.js.map +1 -1
- package/dist/node/ws/index.js +2 -6
- package/dist/node/ws/ws.type.d.ts +7 -8
- package/dist/node/ws/ws.util.js +46 -44
- package/dist/node/ws/ws.util.js.map +1 -1
- 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
- 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
- package/dist/react/apollo-client/apollo-client.component.js +16 -18
- package/dist/react/apollo-client/apollo-client.component.js.map +1 -1
- package/dist/react/apollo-client/apollo-client.constant.js +6 -5
- package/dist/react/apollo-client/apollo-client.constant.js.map +1 -1
- package/dist/react/apollo-client/apollo-client.context.js +10 -13
- package/dist/react/apollo-client/apollo-client.context.js.map +1 -1
- package/dist/react/apollo-client/apollo-client.module.scss.js +8 -7
- package/dist/react/apollo-client/apollo-client.module.scss.js.map +1 -1
- package/dist/react/apollo-client/apollo-client.util.js +57 -75
- package/dist/react/apollo-client/apollo-client.util.js.map +1 -1
- package/dist/react/apollo-client/index.js +7 -30
- package/dist/react/apollo-client/links/index.js +2 -5
- package/dist/react/apollo-client/links/upload.js +63 -107
- package/dist/react/apollo-client/links/upload.js.map +1 -1
- package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.js +14 -16
- package/dist/react/apollo-client-nextjs/apollo-client-nextjs.component.js.map +1 -1
- package/dist/react/apollo-client-nextjs/apollo-client-nextjs.rsc.js +8 -7
- package/dist/react/apollo-client-nextjs/apollo-client-nextjs.rsc.js.map +1 -1
- package/dist/react/apollo-client-nextjs/apollo-client-nextjs.util.js +14 -14
- package/dist/react/apollo-client-nextjs/apollo-client-nextjs.util.js.map +1 -1
- package/dist/react/apollo-client-nextjs/index.js +3 -7
- package/dist/react/apollo-error/apollo-error.component.js +57 -69
- package/dist/react/apollo-error/apollo-error.component.js.map +1 -1
- package/dist/react/apollo-error/apollo-error.context.js +7 -6
- package/dist/react/apollo-error/apollo-error.context.js.map +1 -1
- package/dist/react/apollo-error/apollo-error.hook.js +10 -10
- package/dist/react/apollo-error/apollo-error.hook.js.map +1 -1
- package/dist/react/apollo-error/apollo-error.module.scss.js +15 -11
- package/dist/react/apollo-error/apollo-error.module.scss.js.map +1 -1
- package/dist/react/apollo-error/apollo-error.provider.js +31 -25
- package/dist/react/apollo-error/apollo-error.provider.js.map +1 -1
- package/dist/react/apollo-error/apollo-error.util.js +14 -16
- package/dist/react/apollo-error/apollo-error.util.js.map +1 -1
- package/dist/react/apollo-error/index.js +5 -15
- package/dist/react/i18next/i18next.hook.js +7 -6
- package/dist/react/i18next/i18next.hook.js.map +1 -1
- package/dist/react/i18next/i18next.util.js +9 -8
- package/dist/react/i18next/i18next.util.js.map +1 -1
- package/dist/react/i18next/index.js +3 -7
- package/dist/react/loading/index.js +3 -9
- package/dist/react/loading/loading.component.js +47 -48
- package/dist/react/loading/loading.component.js.map +1 -1
- package/dist/react/loading/loading.context.js +7 -6
- package/dist/react/loading/loading.context.js.map +1 -1
- package/dist/react/loading/loading.hook.js +11 -11
- package/dist/react/loading/loading.hook.js.map +1 -1
- package/dist/react/loading/loading.module.scss.js +18 -15
- package/dist/react/loading/loading.module.scss.js.map +1 -1
- package/dist/react/loading/loading.provider.js +26 -18
- package/dist/react/loading/loading.provider.js.map +1 -1
- package/dist/react/log/index.js +2 -6
- package/dist/react/log/log.util.d.ts +8 -0
- package/dist/react/log/log.util.js +33 -29
- package/dist/react/log/log.util.js.map +1 -1
- package/dist/react/next-intl/index.js +6 -14
- package/dist/react/next-intl/next-intl.constant.js +16 -15
- package/dist/react/next-intl/next-intl.constant.js.map +1 -1
- package/dist/react/next-intl/next-intl.context.js +7 -6
- package/dist/react/next-intl/next-intl.context.js.map +1 -1
- package/dist/react/next-intl/next-intl.hoc.js +20 -23
- package/dist/react/next-intl/next-intl.hoc.js.map +1 -1
- package/dist/react/next-intl/next-intl.hook.js +13 -14
- package/dist/react/next-intl/next-intl.hook.js.map +1 -1
- package/dist/react/next-intl/next-intl.provider.js +28 -23
- package/dist/react/next-intl/next-intl.provider.js.map +1 -1
- package/dist/react/storage/index.js +3 -7
- package/dist/react/storage/storage.hook.js +61 -58
- package/dist/react/storage/storage.hook.js.map +1 -1
- package/dist/react/storage/storage.util.js +36 -68
- package/dist/react/storage/storage.util.js.map +1 -1
- package/dist/react/toast/index.js +2 -6
- package/dist/react/userback/index.js +2 -5
- package/dist/react/userback/userback.component.js +27 -27
- package/dist/react/userback/userback.component.js.map +1 -1
- package/dist/style.css +2 -1
- package/dist/typescript/common.type.js +8 -5
- package/dist/typescript/common.type.js.map +1 -1
- package/dist/typescript/index.js +2 -5
- package/dist/util/common/common.util.js +119 -48
- package/dist/util/common/common.util.js.map +1 -1
- package/dist/util/common/index.js +2 -9
- package/dist/util/index.js +6 -27
- package/dist/util/object/index.d.ts +3 -0
- package/dist/util/object/index.js +2 -10
- package/dist/util/object/object.util.js +94 -128
- package/dist/util/object/object.util.js.map +1 -1
- package/dist/util/serializer/index.js +2 -5
- package/dist/util/serializer/serializer.util.js +73 -78
- package/dist/util/serializer/serializer.util.js.map +1 -1
- package/dist/util/string/index.d.ts +3 -0
- package/dist/util/string/index.js +2 -10
- package/dist/util/string/string.util.js +59 -71
- package/dist/util/string/string.util.js.map +1 -1
- package/dist/util/validate/index.d.ts +3 -0
- package/dist/util/validate/index.js +2 -5
- package/dist/util/validate/validate.util.js +13 -39
- package/dist/util/validate/validate.util.js.map +1 -1
- package/package.json +29 -27
- package/dist/config/env/index.js.map +0 -1
- package/dist/config/graphql-codegen/index.js.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/storybook/index.js.map +0 -1
- package/dist/config/vitest/index.js.map +0 -1
- package/dist/constant/index.js.map +0 -1
- package/dist/node/apollo-server/index.js.map +0 -1
- package/dist/node/command/index.js.map +0 -1
- package/dist/node/express/index.js.map +0 -1
- package/dist/node/fs/index.js.map +0 -1
- package/dist/node/log/index.js.map +0 -1
- package/dist/node/mongo/index.js.map +0 -1
- package/dist/node/package/index.js.map +0 -1
- package/dist/node/path/index.js.map +0 -1
- package/dist/node/storage/index.js.map +0 -1
- package/dist/node/upload/index.js.map +0 -1
- package/dist/node/ws/index.js.map +0 -1
- 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
- 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
- package/dist/react/apollo-client/index.js.map +0 -1
- package/dist/react/apollo-client/links/index.js.map +0 -1
- package/dist/react/apollo-client-nextjs/index.js.map +0 -1
- package/dist/react/apollo-error/index.js.map +0 -1
- package/dist/react/i18next/index.js.map +0 -1
- package/dist/react/loading/index.js.map +0 -1
- package/dist/react/log/index.js.map +0 -1
- package/dist/react/next-intl/index.js.map +0 -1
- package/dist/react/storage/index.js.map +0 -1
- package/dist/react/toast/index.js.map +0 -1
- package/dist/react/userback/index.js.map +0 -1
- package/dist/typescript/index.js.map +0 -1
- package/dist/util/common/index.js.map +0 -1
- package/dist/util/index.js.map +0 -1
- package/dist/util/object/index.js.map +0 -1
- package/dist/util/serializer/index.js.map +0 -1
- package/dist/util/string/index.js.map +0 -1
- package/dist/util/validate/index.js.map +0 -1
|
@@ -1,303 +1,216 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
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 {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
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
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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":";;;;;;;AAaA,IAAa,IAFD,GAAQ,CAEiB,KACxB,IAA0B,sBAC1B,IAAe,gBACf,IAAkB,QAClB,IAAmB,UACnB,IAAe,gBACf,IAAoB,qBACpB,IAAgB,iBAChB,IAAa,cACb,IAAuB,0BACvB,IAAiB,kBACjB,IAAW,eACX,IAAqB,uBACrB,IAAc,qBACd,IAAuB,4BACvB,IACW,GAAQ,aAAa,EAAA,eAAgC,CAAC,CAExC,SAAA,uBAC5B,EAAK,GAAmB,EAAgB,GACxC,EAAK,GAAmB,GAAc,GAAyB,EAAgB,EAI5E,IAAiB,cACjB,IAAsB,yBACtB,IAAsB,UACtB,IAAa,UACb,IAAsB,UACtB,IAAa,UACb,IAA2B,mBAC3B,IAA+C,mCAC/C,IAAkB,cAClB,IAA2B,eAC3B,IAAkB,eAClB,IAAmB,cACnB,IAAU,OACV,IAAU,OACV,IAAU,OACV,IAAW,QACX,IAAgB,aAChB,IAAgC,oBAChC,IAAsB,oBACtB,IAA8B,4BAC9B,IAAqB,2BACrB,IAAoC,0BACpC,IAA2B,0BAC3B,IAA6B,iBAC7B,IAAoB,kDACpB,IAAyB,aACzB,IAAgB,aAChB,IAAsB,kBACtB,IAAY,UAEZ,IAAO;CAChB;CACA;CACA,kBAAkB,EAAmB,EAAiB;CACtD,WAAW,EAAmB,EAAc;CAC5C,YAAY,EAAmB,EAAW;CAC1C,UAAU,EAAmB,EAAS;CACtC,gBAAgB,EAAmB,EAAmB;CACtD,aAAa,EAAmB,EAAY;CAC5C,uBAAuB,EAAmB,EAAqB;CAC/D,cAAc,EAAmB,EAAa;CAC9C,mBAAmB,EAAmB,EAAkB;CACxD,gBAAgB,EAAmB,EAAe;CAClD,cAAc,EAAmB,EAAa;CAC9C,sBAAsB,EAAmB,EAAqB;CAC9D,oBAAoB,EAAmB,GAAG,EAAqB,8BAA8B;CAC7F,mBAAmB,EAAmB,GAAG,EAAqB,6BAA6B;CAC3F,oBAAoB,EAAmB,GAAG,EAAqB,+BAA+B;CAC9F,mBAAmB,EAAmB,GAAG,EAAqB,8BAA8B;CAC5F,uBAAuB,EAAmB,GAAG,EAAqB,qCAAqC;CACvG,0BAA0B,EAAmB,GAAG,EAAqB,wCAAwC;CAC7G,WAAW,EAAmB,EAAU;CAC3C;AAWD,SAAgB,GAAqB,EAAE,uBAA+C;AAClF,QAAO;EACH,cAAc;EACd,cAAc;EACd,GAAI,IAAmB,EAAE,YAAY,EAAW,WAAkB,EAAE,GAAG,EAAE,YAAY,EAAW,0PAA0P,EAAS,QAAQ,EAAE;EAChX;;AAsBL,SAAS,EAAa,EAAE,SAAM,aAAU,cAAyG;CAC7I,IAAM,IAAiB,GAAU,QAAQ,GAAuB,OACvD,EAAI,MAAK,MAAe,EAAY,SAAS,EAAI,KAAK,IACvD,EAAI,KAAK,EAAI,EAEV,IACR,EAAE,CAAC;AAEN,QAAO,YAAY;AACf,UAAQ,GAAR;GACI,KAAK,EAAc,IAOf,QANI,GAAgB,UAChB,MAAM,GAAc,GAAgB,EAChC,SAAS,IACZ,CAAC,EAGC,EAAc,EAAW,GAAG,EAAc,GAAG,IAAU,CAAC;GAEnE,KAAK,EAAc,OACf,QAAO,EAAc,EAAW,EAAQ,CAAC;GAE7C,QACI,OAAU,MAAM,2BAA2B;;;;AAM3D,IAAM,KAAkB,YAEX,KAAU;CACnB,gBAAgB,EAAa;EACzB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CAEJ;EACD,SAAS;EACZ,CAAC;CACF,eAAe,EAAa;EACxB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MACI;GACJ,MAAM,EAAc;GACvB,CAEJ;EACD,SAAS;EACZ,CAAC;CACF,oBAAoB,EAAa;EAC7B,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CAEJ;EACD,SAAS;EACZ,CAAC;CACF,aAAa,EAAa;EACtB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CAEJ;EACD,SAAS,GAAG,EAAW,GAAG,EAAK,kBAAkB;EACpD,CAAC;CACF,WAAW,EAAa;EACpB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CAEJ;EACD,SAAS,GAAG,EAAW,GAAG,EAAK,kBAAkB;EACpD,CAAC;CACF,iBAAiB,EAAa;EAC1B,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CAEJ;EACD,SAAS,UAAiB,EAAK,UAAU;EAC5C,CAAC;CACF,UAAU,EAAa;EACnB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,GAAG,EAAW,YAAY,EAAK;EAC3C,CAAC;CACF,SAAS,EAAa;EAClB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,GAAG,EAAW,YAAY,EAAK;EAC3C,CAAC;CACF,qBAAqB,MAAwB;AACzC,MAAI,CAAC,GAAgB,KAAK,EAAY,CAClC,OAAU,MAAM,sFAAsF;AAG1G,SAAO,EAAa;GAChB,MAAM,EAAc;GACpB,UAAU,CACN;IACI,MAAA;IACA,MAAM,EAAc;IACvB,EACD;IACI,MAAM;IACN,MAAM,EAAc;IACvB,CACJ;GACD,SAAS,OAAc,EAAkB,UAAU,EAAY,MAAM,EAAK;GAC7E,CAAC,EAAE;;CAER,gBAAgB,EAAa;EACzB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAA;GACA,MAAM,EAAc;GACvB,EACD;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,OAAc,EAAkB,SAAS,EAAK;EAC1D,CAAC;CACF,kBAAkB,EAAa;EAC3B,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAA;GACA,MAAM,EAAc;GACvB,EACD;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,OAAc,EAAkB,WAAW,EAAK;EAC5D,CAAC;CACF,YAAY,EAAa;EACrB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,EACD;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,GAAG,EAAgB,UAAU,EAAK,eAAe,YAAY,EAAK;EAC9E,CAAC;CACF,YAAY,EAAa;EACrB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,GAAG,EAAgB,YAAY,EAAK;EAChD,CAAC;CACF,kBAAkB,EAAa;EAC3B,MAAM,EAAc;EACpB,SAAS,6BAAoC,EAAK;EACrD,CAAC;CACF,OAAO,EAAa;EAChB,MAAM,EAAc;EACpB,SAAS,GAAG,EAAS;EACxB,CAAC;CACF,qBAAqB,EAAa;EAC9B,MAAM,EAAc;EACpB,SAAS,GAAG,EAAS;EACxB,CAAC;CACF,mBAAmB,EAAa;EAC5B,MAAM,EAAc;EACpB,SAAS,GAAG,EAAS;EACxB,CAAC;CACF,kBAAkB,EAAa;EAC3B,MAAM,EAAc;EACpB,SAAS,GAAG,EAAS;EACxB,CAAC;CACF,gBAAgB,EAAa;EACzB,MAAM,EAAc;EACpB,SAAS,GAAG,EAAS;EACxB,CAAC;CACF,gBAAgB,EAAa;EACzB,MAAM,EAAc;EACpB,SAAS,GAAG,EAAS;EACxB,CAAC;CACF,cAAc,EAAa;EACvB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,GAAG,EAAc;EAC7B,CAAC;CACF,gBAAgB,EAAa;EACzB,MAAM,EAAc;EACpB,UAAU,CACN;GACI,MAAM;GACN,MAAM,EAAc;GACvB,CACJ;EACD,SAAS,GAAG,EAAc;EAC7B,CAAC;CACL"}
|