ccjk 9.5.6 → 9.7.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/chunks/agent.mjs +1 -1
- package/dist/chunks/api-providers.mjs +1 -1
- package/dist/chunks/api.mjs +3 -3
- package/dist/chunks/auto-bootstrap.mjs +1 -1
- package/dist/chunks/auto-updater.mjs +1 -1
- package/dist/chunks/boost.mjs +160 -0
- package/dist/chunks/ccjk-agents.mjs +1 -1
- package/dist/chunks/ccjk-all.mjs +1 -1
- package/dist/chunks/ccjk-config.mjs +1 -1
- package/dist/chunks/ccjk-hooks.mjs +1 -1
- package/dist/chunks/ccjk-mcp.mjs +2 -2
- package/dist/chunks/ccjk-setup.mjs +1 -1
- package/dist/chunks/ccjk-skills.mjs +1 -1
- package/dist/chunks/ccr.mjs +25 -30
- package/dist/chunks/ccu.mjs +1 -1
- package/dist/chunks/check-updates.mjs +3 -4
- package/dist/chunks/claude-code-config-manager.mjs +7 -7
- package/dist/chunks/claude-code-incremental-manager.mjs +2 -2
- package/dist/chunks/claude-config.mjs +4 -4
- package/dist/chunks/claude-wrapper.mjs +2 -2
- package/dist/chunks/codex-config-switch.mjs +4 -5
- package/dist/chunks/codex-provider-manager.mjs +2 -3
- package/dist/chunks/codex-uninstaller.mjs +2 -2
- package/dist/chunks/codex.mjs +207 -6
- package/dist/chunks/commands.mjs +391 -88
- package/dist/chunks/commands2.mjs +88 -391
- package/dist/chunks/completion.mjs +1 -1
- package/dist/chunks/config-consolidator.mjs +2 -2
- package/dist/chunks/config-switch.mjs +3 -4
- package/dist/chunks/config.mjs +78 -7
- package/dist/chunks/config2.mjs +400 -410
- package/dist/chunks/config3.mjs +410 -400
- package/dist/chunks/constants.mjs +1 -1
- package/dist/chunks/doctor.mjs +4 -4
- package/dist/chunks/features.mjs +24 -17
- package/dist/chunks/index.mjs +178 -7
- package/dist/chunks/index2.mjs +1162 -169
- package/dist/chunks/index3.mjs +910 -1076
- package/dist/chunks/index4.mjs +137 -947
- package/dist/chunks/index5.mjs +635 -167
- package/dist/chunks/init.mjs +141 -99
- package/dist/chunks/installer.mjs +147 -649
- package/dist/chunks/installer2.mjs +649 -147
- package/dist/chunks/interview.mjs +2 -2
- package/dist/chunks/marketplace.mjs +1 -1
- package/dist/chunks/mcp.mjs +1058 -17
- package/dist/chunks/menu.mjs +147 -56
- package/dist/chunks/monitor.mjs +2 -2
- package/dist/chunks/notification.mjs +1 -1
- package/dist/chunks/onboarding.mjs +2 -2
- package/dist/chunks/package.mjs +2 -210
- package/dist/chunks/permission-manager.mjs +2 -2
- package/dist/chunks/permissions.mjs +1 -1
- package/dist/chunks/platform.mjs +1 -1
- package/dist/chunks/plugin.mjs +1 -1
- package/dist/chunks/prompts.mjs +1 -1
- package/dist/chunks/providers.mjs +1 -1
- package/dist/chunks/quick-setup.mjs +16 -20
- package/dist/chunks/silent-updater.mjs +1 -1
- package/dist/chunks/simple-config.mjs +2 -2
- package/dist/chunks/skill.mjs +1 -1
- package/dist/chunks/skills-sync.mjs +1 -1
- package/dist/chunks/skills.mjs +1 -1
- package/dist/chunks/startup.mjs +1 -1
- package/dist/chunks/stats.mjs +1 -1
- package/dist/chunks/status.mjs +159 -0
- package/dist/chunks/team.mjs +1 -1
- package/dist/chunks/thinking.mjs +2 -2
- package/dist/chunks/uninstall.mjs +6 -6
- package/dist/chunks/update.mjs +6 -9
- package/dist/chunks/upgrade-manager.mjs +2 -2
- package/dist/chunks/version-checker.mjs +3 -3
- package/dist/chunks/vim.mjs +1 -1
- package/dist/chunks/workflows.mjs +616 -215
- package/dist/cli.mjs +70 -121
- package/dist/index.d.mts +17 -1482
- package/dist/index.d.ts +17 -1482
- package/dist/index.mjs +950 -4740
- package/dist/shared/{ccjk.zCqdxT2Y.mjs → ccjk.Br91zBIG.mjs} +2 -2
- package/dist/shared/ccjk.CSkyCZIM.mjs +638 -0
- package/dist/shared/{ccjk.BKoi8-Hy.mjs → ccjk.DE91nClQ.mjs} +1 -1
- package/dist/shared/{ccjk.f40us0yY.mjs → ccjk.DvIrK0wz.mjs} +2 -2
- package/dist/shared/ccjk.LsPZ2PYo.mjs +1048 -0
- package/dist/shared/{ccjk.DRweXU5F.mjs → ccjk.q1koQxEE.mjs} +2 -2
- package/package.json +1 -1
- package/templates/claude-code/common/settings.json +15 -111
- package/dist/chunks/api-adapter.mjs +0 -180
- package/dist/chunks/cli.mjs +0 -2227
- package/dist/chunks/context-menu.mjs +0 -913
- package/dist/chunks/hooks-sync.mjs +0 -1627
- package/dist/chunks/index6.mjs +0 -663
- package/dist/chunks/mcp-market.mjs +0 -1077
- package/dist/chunks/mcp-server.mjs +0 -776
- package/dist/chunks/project-detector.mjs +0 -131
- package/dist/chunks/provider-registry.mjs +0 -92
- package/dist/chunks/setup-wizard.mjs +0 -362
- package/dist/chunks/tools.mjs +0 -143
- package/dist/chunks/workflows2.mjs +0 -633
- package/dist/shared/ccjk.BM_HZogn.mjs +0 -347
- package/dist/shared/ccjk.BaEp4UHQ.mjs +0 -75
- package/dist/shared/ccjk.CS0ybJCf.mjs +0 -490
- package/dist/shared/ccjk.CZgIwikC.mjs +0 -209
- package/dist/shared/ccjk.tO8zeFh1.mjs +0 -397
package/dist/chunks/menu.mjs
CHANGED
|
@@ -4,69 +4,23 @@ import ansis from 'ansis';
|
|
|
4
4
|
import inquirer from 'inquirer';
|
|
5
5
|
import { join } from 'pathe';
|
|
6
6
|
import { CODE_TOOL_BANNERS, CLAUDE_DIR, isCodeToolType, DEFAULT_CODE_TOOL_TYPE } from './constants.mjs';
|
|
7
|
-
import { i18n } from './
|
|
8
|
-
import {
|
|
7
|
+
import { ensureI18nInitialized, i18n } from './index.mjs';
|
|
8
|
+
import { d as displayBannerWithInfo } from '../shared/ccjk.Br91zBIG.mjs';
|
|
9
9
|
import { updateZcfConfig, readZcfConfig } from './ccjk-config.mjs';
|
|
10
|
-
import { r as resolveCodeType } from '../shared/ccjk.
|
|
11
|
-
import {
|
|
10
|
+
import { r as resolveCodeType } from '../shared/ccjk.q1koQxEE.mjs';
|
|
11
|
+
import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.DvIrK0wz.mjs';
|
|
12
12
|
import { changeScriptLanguageFeature, configureMcpFeature, configureEnvPermissionFeature, configureAiMemoryFeature, configureDefaultModelFeature, configureApiFeature } from './features.mjs';
|
|
13
13
|
import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
|
|
14
|
-
import {
|
|
14
|
+
import { homedir } from 'node:os';
|
|
15
|
+
import { runCcrStop, runCcrStart, runCcrRestart, runCcrStatus, runCcrUi } from './commands2.mjs';
|
|
16
|
+
import { readCcrConfig, configureCcrFeature } from './config3.mjs';
|
|
17
|
+
import { a as isCcrInstalled, b as installCcr, i as init } from './init.mjs';
|
|
15
18
|
import { ccjkAgents } from './ccjk-agents.mjs';
|
|
16
19
|
import { ccjkSkills } from './ccjk-skills.mjs';
|
|
17
20
|
import { checkUpdates } from './check-updates.mjs';
|
|
18
21
|
import { doctor } from './doctor.mjs';
|
|
19
|
-
import { init } from './init.mjs';
|
|
20
22
|
import { uninstall } from './uninstall.mjs';
|
|
21
23
|
import { update } from './update.mjs';
|
|
22
|
-
import 'node:os';
|
|
23
|
-
import 'node:url';
|
|
24
|
-
import 'i18next';
|
|
25
|
-
import 'i18next-fs-backend';
|
|
26
|
-
import './package.mjs';
|
|
27
|
-
import 'smol-toml';
|
|
28
|
-
import './fs-operations.mjs';
|
|
29
|
-
import 'node:crypto';
|
|
30
|
-
import 'node:fs/promises';
|
|
31
|
-
import './json-config.mjs';
|
|
32
|
-
import 'dayjs';
|
|
33
|
-
import 'node:child_process';
|
|
34
|
-
import './platform.mjs';
|
|
35
|
-
import 'tinyexec';
|
|
36
|
-
import '../shared/ccjk.CZgIwikC.mjs';
|
|
37
|
-
import './config2.mjs';
|
|
38
|
-
import 'node:util';
|
|
39
|
-
import './claude-config.mjs';
|
|
40
|
-
import './config.mjs';
|
|
41
|
-
import 'inquirer-toggle';
|
|
42
|
-
import '../shared/ccjk.BaEp4UHQ.mjs';
|
|
43
|
-
import './auto-updater.mjs';
|
|
44
|
-
import 'ora';
|
|
45
|
-
import './version-checker.mjs';
|
|
46
|
-
import 'node:path';
|
|
47
|
-
import 'semver';
|
|
48
|
-
import '../shared/ccjk.CS0ybJCf.mjs';
|
|
49
|
-
import '../shared/ccjk.BFQ7yr5S.mjs';
|
|
50
|
-
import './simple-config.mjs';
|
|
51
|
-
import './commands.mjs';
|
|
52
|
-
import 'consola';
|
|
53
|
-
import '../shared/ccjk.BNwRnWYx.mjs';
|
|
54
|
-
import 'tinyglobby';
|
|
55
|
-
import 'ofetch';
|
|
56
|
-
import '../shared/ccjk.Bvoex4TZ.mjs';
|
|
57
|
-
import '../shared/ccjk.AqnXPAzw.mjs';
|
|
58
|
-
import '../shared/ccjk.Bdhyg3X-.mjs';
|
|
59
|
-
import './codex.mjs';
|
|
60
|
-
import './prompts.mjs';
|
|
61
|
-
import './api-providers.mjs';
|
|
62
|
-
import '../shared/ccjk.h7_W-wTs.mjs';
|
|
63
|
-
import '../shared/ccjk.J8YiPsOw.mjs';
|
|
64
|
-
import './workflows.mjs';
|
|
65
|
-
import '../shared/ccjk.BM_HZogn.mjs';
|
|
66
|
-
import './installer.mjs';
|
|
67
|
-
import '../shared/ccjk.BKoi8-Hy.mjs';
|
|
68
|
-
import '../shared/ccjk.DntgA8fQ.mjs';
|
|
69
|
-
import 'trash';
|
|
70
24
|
|
|
71
25
|
const FULLWIDTH_TO_HALFWIDTH = {
|
|
72
26
|
// Full-width numbers (Japanese/Chinese IME)
|
|
@@ -178,6 +132,131 @@ function normalizeMenuInput(input) {
|
|
|
178
132
|
return normalizeFullWidth(input.trim()).toLowerCase();
|
|
179
133
|
}
|
|
180
134
|
|
|
135
|
+
function isCcrConfigured() {
|
|
136
|
+
const CCR_CONFIG_FILE = join(homedir(), ".claude-code-router", "config.json");
|
|
137
|
+
if (!existsSync(CCR_CONFIG_FILE)) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
const config = readCcrConfig();
|
|
141
|
+
return config !== null;
|
|
142
|
+
}
|
|
143
|
+
async function showCcrMenu() {
|
|
144
|
+
try {
|
|
145
|
+
ensureI18nInitialized();
|
|
146
|
+
console.log(`
|
|
147
|
+
${ansis.green("\u2550".repeat(50))}`);
|
|
148
|
+
console.log(ansis.bold.cyan(` ${i18n.t("ccr:ccrMenuTitle")}`));
|
|
149
|
+
console.log(`${ansis.green("\u2550".repeat(50))}
|
|
150
|
+
`);
|
|
151
|
+
console.log(` ${ansis.green("1.")} ${i18n.t("ccr:ccrMenuOptions.initCcr")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.initCcr")}`)}`);
|
|
152
|
+
console.log(` ${ansis.green("2.")} ${i18n.t("ccr:ccrMenuOptions.startUi")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.startUi")}`)}`);
|
|
153
|
+
console.log(` ${ansis.green("3.")} ${i18n.t("ccr:ccrMenuOptions.checkStatus")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.checkStatus")}`)}`);
|
|
154
|
+
console.log(` ${ansis.green("4.")} ${i18n.t("ccr:ccrMenuOptions.restart")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.restart")}`)}`);
|
|
155
|
+
console.log(` ${ansis.green("5.")} ${i18n.t("ccr:ccrMenuOptions.start")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.start")}`)}`);
|
|
156
|
+
console.log(` ${ansis.green("6.")} ${i18n.t("ccr:ccrMenuOptions.stop")} ${ansis.gray(`- ${i18n.t("ccr:ccrMenuDescriptions.stop")}`)}`);
|
|
157
|
+
console.log(` ${ansis.yellow("0.")} ${i18n.t("ccr:ccrMenuOptions.back")}`);
|
|
158
|
+
console.log("");
|
|
159
|
+
const { choice } = await inquirer.prompt({
|
|
160
|
+
type: "input",
|
|
161
|
+
name: "choice",
|
|
162
|
+
message: i18n.t("common:enterChoice"),
|
|
163
|
+
validate: (value) => {
|
|
164
|
+
const valid = ["1", "2", "3", "4", "5", "6", "0"];
|
|
165
|
+
return valid.includes(value) || i18n.t("common:invalidChoice");
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
switch (choice) {
|
|
169
|
+
case "1": {
|
|
170
|
+
const ccrStatus = await isCcrInstalled();
|
|
171
|
+
if (!ccrStatus.hasCorrectPackage) {
|
|
172
|
+
await installCcr();
|
|
173
|
+
} else {
|
|
174
|
+
console.log(ansis.green(`\u2714 ${i18n.t("ccr:ccrAlreadyInstalled")}`));
|
|
175
|
+
}
|
|
176
|
+
await configureCcrFeature();
|
|
177
|
+
console.log(ansis.green(`
|
|
178
|
+
\u2714 ${i18n.t("ccr:ccrSetupComplete")}`));
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
case "2":
|
|
182
|
+
if (!isCcrConfigured()) {
|
|
183
|
+
console.log(ansis.yellow(`
|
|
184
|
+
\u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
|
|
185
|
+
console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
|
|
186
|
+
`));
|
|
187
|
+
} else {
|
|
188
|
+
const config = readCcrConfig();
|
|
189
|
+
await runCcrUi(config?.APIKEY);
|
|
190
|
+
}
|
|
191
|
+
break;
|
|
192
|
+
case "3":
|
|
193
|
+
if (!isCcrConfigured()) {
|
|
194
|
+
console.log(ansis.yellow(`
|
|
195
|
+
\u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
|
|
196
|
+
console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
|
|
197
|
+
`));
|
|
198
|
+
} else {
|
|
199
|
+
await runCcrStatus();
|
|
200
|
+
}
|
|
201
|
+
break;
|
|
202
|
+
case "4":
|
|
203
|
+
if (!isCcrConfigured()) {
|
|
204
|
+
console.log(ansis.yellow(`
|
|
205
|
+
\u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
|
|
206
|
+
console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
|
|
207
|
+
`));
|
|
208
|
+
} else {
|
|
209
|
+
await runCcrRestart();
|
|
210
|
+
}
|
|
211
|
+
break;
|
|
212
|
+
case "5":
|
|
213
|
+
if (!isCcrConfigured()) {
|
|
214
|
+
console.log(ansis.yellow(`
|
|
215
|
+
\u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
|
|
216
|
+
console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
|
|
217
|
+
`));
|
|
218
|
+
} else {
|
|
219
|
+
await runCcrStart();
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
case "6":
|
|
223
|
+
if (!isCcrConfigured()) {
|
|
224
|
+
console.log(ansis.yellow(`
|
|
225
|
+
\u26A0\uFE0F ${i18n.t("ccr:ccrNotConfigured")}`));
|
|
226
|
+
console.log(ansis.green(` ${i18n.t("ccr:pleaseInitFirst")}
|
|
227
|
+
`));
|
|
228
|
+
} else {
|
|
229
|
+
await runCcrStop();
|
|
230
|
+
}
|
|
231
|
+
break;
|
|
232
|
+
case "0":
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
if (choice !== "0") {
|
|
236
|
+
console.log(`
|
|
237
|
+
${ansis.dim("\u2500".repeat(50))}
|
|
238
|
+
`);
|
|
239
|
+
const continueInCcr = await promptBoolean({
|
|
240
|
+
message: i18n.t("common:returnToMenu"),
|
|
241
|
+
defaultValue: true
|
|
242
|
+
});
|
|
243
|
+
if (continueInCcr) {
|
|
244
|
+
return await showCcrMenu();
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return false;
|
|
248
|
+
} catch (error) {
|
|
249
|
+
if (!handleExitPromptError(error)) {
|
|
250
|
+
handleGeneralError(error);
|
|
251
|
+
}
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
async function runCcrMenuFeature() {
|
|
257
|
+
await showCcrMenu();
|
|
258
|
+
}
|
|
259
|
+
|
|
181
260
|
const CODE_TOOL_LABELS = {
|
|
182
261
|
"claude-code": "Claude Code",
|
|
183
262
|
"codex": "Codex",
|
|
@@ -280,6 +359,7 @@ async function showSimplifiedMenu() {
|
|
|
280
359
|
console.log(` ${ansis.green("-.")} ${isZh ? "\u5378\u8F7D\u548C\u5220\u9664\u914D\u7F6E" : "Uninstall & Remove Config"} ${ansis.dim(isZh ? "- \u4ECE\u7CFB\u7EDF\u4E2D\u5220\u9664 Claude Code \u914D\u7F6E\u548C\u5DE5\u5177" : "- Remove Claude Code config and tools from system")}`);
|
|
281
360
|
console.log(` ${ansis.green("+.")} ${isZh ? "\u68C0\u67E5\u66F4\u65B0" : "Check Updates"} ${ansis.dim(isZh ? "- \u68C0\u67E5\u5E76\u66F4\u65B0 Claude Code\u3001CCR \u7684\u7248\u672C" : "- Check and update Claude Code, CCR versions")}`);
|
|
282
361
|
console.log(` ${ansis.green("D.")} ${isZh ? "\u4E00\u952E\u4F53\u68C0" : "Diagnostics"} ${ansis.dim(isZh ? "- \u8BCA\u65AD\u95EE\u9898\u5E76\u81EA\u52A8\u4FEE\u590D" : "- Diagnose issues and auto-fix")}`);
|
|
362
|
+
console.log(` ${ansis.green("B.")} ${isZh ? "\u{1F9E0} Brain Dashboard" : "\u{1F9E0} Brain Dashboard"} ${ansis.dim(isZh ? "- \u67E5\u770B\u914D\u7F6E\u5065\u5EB7\u5206\u6570\u548C\u4F18\u5316\u5EFA\u8BAE" : "- Setup health score & recommendations")}`);
|
|
283
363
|
console.log(` ${ansis.green("H.")} ${isZh ? "\u5E2E\u52A9\u6587\u6863" : "Help"} ${ansis.dim(isZh ? "- \u67E5\u770B\u4F7F\u7528\u6307\u5357" : "- View user guide")}`);
|
|
284
364
|
console.log(` ${ansis.green("Q.")} ${isZh ? "\u9000\u51FA" : "Exit"}`);
|
|
285
365
|
console.log("");
|
|
@@ -289,7 +369,7 @@ async function showSimplifiedMenu() {
|
|
|
289
369
|
message: isZh ? "\u8BF7\u8F93\u5165\u9009\u9879:" : "Enter option:",
|
|
290
370
|
validate: (value) => {
|
|
291
371
|
const normalized2 = normalizeMenuInput(value);
|
|
292
|
-
const valid = ["0", "1", "2", "3", "4", "5", "6", "7", "k", "m", "a", "r", "s", "-", "+", "d", "h", "q"];
|
|
372
|
+
const valid = ["0", "1", "2", "3", "4", "5", "6", "7", "k", "m", "a", "r", "b", "s", "-", "+", "d", "h", "q"];
|
|
293
373
|
return valid.includes(normalized2) || (isZh ? "\u8BF7\u8F93\u5165\u6709\u6548\u9009\u9879" : "Please enter a valid option");
|
|
294
374
|
}
|
|
295
375
|
});
|
|
@@ -346,6 +426,12 @@ async function showSimplifiedMenu() {
|
|
|
346
426
|
printSeparator();
|
|
347
427
|
return void 0;
|
|
348
428
|
}
|
|
429
|
+
case "b": {
|
|
430
|
+
const { status } = await import('./status.mjs');
|
|
431
|
+
await status();
|
|
432
|
+
printSeparator();
|
|
433
|
+
return void 0;
|
|
434
|
+
}
|
|
349
435
|
// ------------ CCJK ------------
|
|
350
436
|
case "0": {
|
|
351
437
|
const currentLang = i18n.language;
|
|
@@ -457,4 +543,9 @@ async function showMainMenu(options = {}) {
|
|
|
457
543
|
}
|
|
458
544
|
}
|
|
459
545
|
|
|
460
|
-
|
|
546
|
+
const menu = {
|
|
547
|
+
__proto__: null,
|
|
548
|
+
showMainMenu: showMainMenu
|
|
549
|
+
};
|
|
550
|
+
|
|
551
|
+
export { showMainMenu as a, menu as m, showCcrMenu as s };
|
package/dist/chunks/monitor.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ansis from 'ansis';
|
|
2
|
-
import { i18n } from './
|
|
3
|
-
import {
|
|
2
|
+
import { i18n } from './index.mjs';
|
|
3
|
+
import { d as displayBannerWithInfo } from '../shared/ccjk.Br91zBIG.mjs';
|
|
4
4
|
import process__default from 'node:process';
|
|
5
5
|
import { nanoid } from 'nanoid';
|
|
6
6
|
import 'node:fs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ansis from 'ansis';
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
|
-
import { i18n } from './
|
|
3
|
+
import { i18n } from './index.mjs';
|
|
4
4
|
import * as fs from 'node:fs';
|
|
5
5
|
import fs__default, { existsSync, readFileSync, mkdirSync, unlinkSync } from 'node:fs';
|
|
6
6
|
import * as os from 'node:os';
|
|
@@ -7,10 +7,10 @@ import ora from 'ora';
|
|
|
7
7
|
import { join, basename } from 'pathe';
|
|
8
8
|
import { CCJK_CONFIG_DIR } from './constants.mjs';
|
|
9
9
|
import { d as detectProject, g as getProjectSummary, a as generateSuggestions } from '../shared/ccjk.CBhIZiPz.mjs';
|
|
10
|
-
import { b as boxify, t as theme, S as STATUS } from '../shared/ccjk.
|
|
10
|
+
import { b as boxify, t as theme, S as STATUS } from '../shared/ccjk.Br91zBIG.mjs';
|
|
11
11
|
import { writeFileAtomic } from './fs-operations.mjs';
|
|
12
12
|
import 'node:os';
|
|
13
|
-
import './
|
|
13
|
+
import './index.mjs';
|
|
14
14
|
import 'node:url';
|
|
15
15
|
import 'i18next';
|
|
16
16
|
import 'i18next-fs-backend';
|
package/dist/chunks/package.mjs
CHANGED
|
@@ -1,212 +1,4 @@
|
|
|
1
|
-
const
|
|
2
|
-
const type = "module";
|
|
3
|
-
const version = "9.5.6";
|
|
4
|
-
const packageManager = "pnpm@10.17.1";
|
|
5
|
-
const description = "CCJK v9.0.0 - Revolutionary AI Development Platform with Enterprise Security, Streaming Cloud Sync, CRDT Conflict Resolution, and Unified V3 Architecture";
|
|
6
|
-
const author = {
|
|
7
|
-
name: "CCJK Team",
|
|
8
|
-
email: "9248293@gmail.com"
|
|
9
|
-
};
|
|
10
|
-
const license = "MIT";
|
|
1
|
+
const version = "9.7.0";
|
|
11
2
|
const homepage = "https://github.com/miounet11/ccjk";
|
|
12
|
-
const repository = {
|
|
13
|
-
type: "git",
|
|
14
|
-
url: "git+https://github.com/miounet11/ccjk.git"
|
|
15
|
-
};
|
|
16
|
-
const bugs = "https://github.com/miounet11/ccjk/issues";
|
|
17
|
-
const keywords = [
|
|
18
|
-
"ai",
|
|
19
|
-
"code-tools",
|
|
20
|
-
"abstraction",
|
|
21
|
-
"claude",
|
|
22
|
-
"claude-code",
|
|
23
|
-
"codex",
|
|
24
|
-
"ccjk",
|
|
25
|
-
"jinku",
|
|
26
|
-
"ai-assistant",
|
|
27
|
-
"ai-coding",
|
|
28
|
-
"code-assistant",
|
|
29
|
-
"developer-tools",
|
|
30
|
-
"devtools",
|
|
31
|
-
"cli",
|
|
32
|
-
"automation",
|
|
33
|
-
"mcp",
|
|
34
|
-
"anthropic",
|
|
35
|
-
"openai",
|
|
36
|
-
"gemini",
|
|
37
|
-
"gpt",
|
|
38
|
-
"llm",
|
|
39
|
-
"machine-learning",
|
|
40
|
-
"artificial-intelligence",
|
|
41
|
-
"token-optimization",
|
|
42
|
-
"compression",
|
|
43
|
-
"workflows",
|
|
44
|
-
"productivity",
|
|
45
|
-
"aider",
|
|
46
|
-
"continue",
|
|
47
|
-
"cline",
|
|
48
|
-
"cursor",
|
|
49
|
-
"cursor-alternative",
|
|
50
|
-
"copilot-alternative",
|
|
51
|
-
"codeium-alternative"
|
|
52
|
-
];
|
|
53
|
-
const sideEffects = false;
|
|
54
|
-
const exports = {
|
|
55
|
-
".": {
|
|
56
|
-
types: "./dist/index.d.mts",
|
|
57
|
-
"import": "./dist/index.mjs",
|
|
58
|
-
"default": "./dist/index.mjs"
|
|
59
|
-
},
|
|
60
|
-
"./package.json": "./package.json"
|
|
61
|
-
};
|
|
62
|
-
const main = "dist/index.mjs";
|
|
63
|
-
const module = "dist/index.mjs";
|
|
64
|
-
const types = "dist/index.d.mts";
|
|
65
|
-
const bin = {
|
|
66
|
-
ccjk: "bin/ccjk.mjs"
|
|
67
|
-
};
|
|
68
|
-
const files = [
|
|
69
|
-
"bin",
|
|
70
|
-
"dist",
|
|
71
|
-
"templates"
|
|
72
|
-
];
|
|
73
|
-
const engines = {
|
|
74
|
-
node: ">=20"
|
|
75
|
-
};
|
|
76
|
-
const scripts = {
|
|
77
|
-
dev: "tsx ./src/cli.ts",
|
|
78
|
-
build: "unbuild",
|
|
79
|
-
start: "node bin/ccjk.mjs",
|
|
80
|
-
typecheck: "tsc --noEmit",
|
|
81
|
-
prepublishOnly: "node scripts/validate-prepublish.mjs && pnpm build && pnpm test:run",
|
|
82
|
-
lint: "eslint",
|
|
83
|
-
"lint:fix": "eslint --fix",
|
|
84
|
-
test: "vitest",
|
|
85
|
-
"test:ui": "vitest --ui",
|
|
86
|
-
"test:coverage": "vitest run --coverage",
|
|
87
|
-
"test:run": "vitest run",
|
|
88
|
-
"test:watch": "vitest watch",
|
|
89
|
-
"test:e2e": "NODE_ENV=test vitest --config vitest.e2e.config.ts",
|
|
90
|
-
"test:e2e:run": "NODE_ENV=test vitest run --config vitest.e2e.config.ts",
|
|
91
|
-
"test:e2e:ui": "NODE_ENV=test vitest --config vitest.e2e.config.ts --ui",
|
|
92
|
-
"test:e2e:coverage": "NODE_ENV=test vitest run --config vitest.e2e.config.ts --coverage",
|
|
93
|
-
"test:e2e:debug": "NODE_ENV=test CCJK_E2E_DEBUG=true vitest --config vitest.e2e.config.ts",
|
|
94
|
-
"test:v2": "vitest --config vitest.config.v2.ts",
|
|
95
|
-
"test:v2:ui": "vitest --config vitest.config.v2.ts --ui",
|
|
96
|
-
"test:v2:coverage": "vitest run --config vitest.config.v2.ts --coverage",
|
|
97
|
-
"test:v2:run": "vitest run --config vitest.config.v2.ts",
|
|
98
|
-
"test:v2:watch": "vitest watch --config vitest.config.v2.ts",
|
|
99
|
-
prepare: "husky",
|
|
100
|
-
format: "prettier --write src/**/*.ts",
|
|
101
|
-
"prepublish:fix": "node scripts/fix-package-catalog.mjs",
|
|
102
|
-
cleanup: "node scripts/cleanup.js",
|
|
103
|
-
"cleanup:auto": "node scripts/cleanup.js --auto",
|
|
104
|
-
"cleanup:dry": "node scripts/cleanup.js --dry-run",
|
|
105
|
-
clean: "rm -rf dist coverage .turbo *.tsbuildinfo",
|
|
106
|
-
"v2:setup": "chmod +x scripts/v2-dev-setup.sh && ./scripts/v2-dev-setup.sh",
|
|
107
|
-
"v2:setup:skip-tests": "chmod +x scripts/v2-dev-setup.sh && ./scripts/v2-dev-setup.sh --skip-tests",
|
|
108
|
-
"v2:services:up": "docker-compose -f docker-compose.dev.yml up -d",
|
|
109
|
-
"v2:services:down": "docker-compose -f docker-compose.dev.yml down",
|
|
110
|
-
"v2:services:restart": "docker-compose -f docker-compose.dev.yml restart",
|
|
111
|
-
"v2:services:logs": "docker-compose -f docker-compose.dev.yml logs -f",
|
|
112
|
-
"v2:services:status": "docker-compose -f docker-compose.dev.yml ps",
|
|
113
|
-
"v2:db:reset": "docker-compose -f docker-compose.dev.yml down postgres && docker volume rm ccjk-public_postgres_data && docker-compose -f docker-compose.dev.yml up -d postgres",
|
|
114
|
-
"v2:db:migrate": "echo 'Database migration script - to be implemented'",
|
|
115
|
-
"v2:db:seed": "echo 'Database seeding script - to be implemented'",
|
|
116
|
-
"v2:cache:clear": "docker exec ccjk-redis-dev redis-cli FLUSHALL",
|
|
117
|
-
"v2:search:reindex": "curl -X DELETE http://localhost:9200/ccjk_dev* && echo 'Elasticsearch indexes cleared'",
|
|
118
|
-
"v2:health": "chmod +x scripts/health-check.sh && ./scripts/health-check.sh",
|
|
119
|
-
"v2:dev": "concurrently \"pnpm v2:services:up\" \"pnpm dev\"",
|
|
120
|
-
"v2:test:integration": "NODE_ENV=test pnpm test -- --config vitest.integration.config.ts",
|
|
121
|
-
"v2:test:e2e": "NODE_ENV=test pnpm test -- --config vitest.e2e.config.ts",
|
|
122
|
-
"v2:monitoring:up": "docker-compose -f docker-compose.dev.yml --profile monitoring up -d",
|
|
123
|
-
"v2:tracing:up": "docker-compose -f docker-compose.dev.yml --profile tracing up -d",
|
|
124
|
-
"v2:clean": "pnpm clean && docker-compose -f docker-compose.dev.yml down -v && docker system prune -f",
|
|
125
|
-
benchmark: "tsx src/v2/__tests__/benchmarks.ts",
|
|
126
|
-
"benchmark:save": "tsx src/v2/__tests__/benchmarks.ts && echo 'Results saved to .ccjk/benchmark-results.json'",
|
|
127
|
-
"benchmark:detailed": "tsx src/v2/__tests__/benchmarks.ts --detailed",
|
|
128
|
-
"benchmark:server": "npx http-server docs/v2 -p 8080 -o dashboard.html",
|
|
129
|
-
"benchmark:open": "open docs/v2/dashboard.html || xdg-open docs/v2/dashboard.html || start docs/v2/dashboard.html",
|
|
130
|
-
"i18n:check": "tsx scripts/check-i18n.ts",
|
|
131
|
-
"i18n:report": "tsx scripts/check-i18n.ts --report"
|
|
132
|
-
};
|
|
133
|
-
const dependencies = {
|
|
134
|
-
"@anthropic-ai/sdk": "^0.52.0",
|
|
135
|
-
ansis: "^4.1.0",
|
|
136
|
-
cac: "^6.7.14",
|
|
137
|
-
chokidar: "^4.0.3",
|
|
138
|
-
consola: "^3.4.2",
|
|
139
|
-
dayjs: "^1.11.18",
|
|
140
|
-
fdir: "^6.5.0",
|
|
141
|
-
"find-up-simple": "^1.0.1",
|
|
142
|
-
"fs-extra": "^11.3.2",
|
|
143
|
-
glob: "^11.0.3",
|
|
144
|
-
"gray-matter": "^4.0.3",
|
|
145
|
-
handlebars: "^4.7.8",
|
|
146
|
-
i18next: "^25.5.2",
|
|
147
|
-
"i18next-fs-backend": "^2.6.0",
|
|
148
|
-
inquirer: "^12.9.6",
|
|
149
|
-
"inquirer-toggle": "^1.0.1",
|
|
150
|
-
ioredis: "^5.9.2",
|
|
151
|
-
nanoid: "^5.1.6",
|
|
152
|
-
ofetch: "^1.5.1",
|
|
153
|
-
ohash: "^1.1.4",
|
|
154
|
-
ora: "^9.0.0",
|
|
155
|
-
pathe: "^2.0.3",
|
|
156
|
-
semver: "^7.7.2",
|
|
157
|
-
"smol-toml": "^1.4.2",
|
|
158
|
-
tar: "^7.5.2",
|
|
159
|
-
tinyexec: "^1.0.1",
|
|
160
|
-
tinyglobby: "^0.2.15",
|
|
161
|
-
trash: "^10.0.0",
|
|
162
|
-
uuid: "^11.1.0",
|
|
163
|
-
"web-tree-sitter": "^0.26.3"
|
|
164
|
-
};
|
|
165
|
-
const devDependencies = {
|
|
166
|
-
"@antfu/eslint-config": "^5.4.1",
|
|
167
|
-
"@types/fs-extra": "^11.0.4",
|
|
168
|
-
"@types/inquirer": "^9.0.9",
|
|
169
|
-
"@types/node": "^22.18.6",
|
|
170
|
-
"@types/semver": "^7.7.1",
|
|
171
|
-
"@types/uuid": "^11.0.0",
|
|
172
|
-
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
173
|
-
"@typescript-eslint/parser": "^6.0.0",
|
|
174
|
-
"@vitest/coverage-v8": "^3.2.4",
|
|
175
|
-
"@vitest/ui": "^3.2.4",
|
|
176
|
-
concurrently: "^9.2.1",
|
|
177
|
-
eslint: "^9.36.0",
|
|
178
|
-
"eslint-plugin-format": "^1.0.2",
|
|
179
|
-
husky: "^9.1.7",
|
|
180
|
-
"lint-staged": "^16.2.0",
|
|
181
|
-
prettier: "^3.0.0",
|
|
182
|
-
tsx: "^4.20.5",
|
|
183
|
-
typescript: "^5.9.2",
|
|
184
|
-
unbuild: "^3.6.1",
|
|
185
|
-
vitest: "^3.2.4"
|
|
186
|
-
};
|
|
187
|
-
const packageJson = {
|
|
188
|
-
name: name,
|
|
189
|
-
type: type,
|
|
190
|
-
version: version,
|
|
191
|
-
packageManager: packageManager,
|
|
192
|
-
description: description,
|
|
193
|
-
author: author,
|
|
194
|
-
license: license,
|
|
195
|
-
homepage: homepage,
|
|
196
|
-
repository: repository,
|
|
197
|
-
bugs: bugs,
|
|
198
|
-
keywords: keywords,
|
|
199
|
-
sideEffects: sideEffects,
|
|
200
|
-
exports: exports,
|
|
201
|
-
main: main,
|
|
202
|
-
module: module,
|
|
203
|
-
types: types,
|
|
204
|
-
bin: bin,
|
|
205
|
-
files: files,
|
|
206
|
-
engines: engines,
|
|
207
|
-
scripts: scripts,
|
|
208
|
-
dependencies: dependencies,
|
|
209
|
-
devDependencies: devDependencies
|
|
210
|
-
};
|
|
211
3
|
|
|
212
|
-
export {
|
|
4
|
+
export { homepage, version };
|
|
@@ -2,9 +2,9 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
2
2
|
import ansis from 'ansis';
|
|
3
3
|
import { join } from 'pathe';
|
|
4
4
|
import { SETTINGS_FILE, CCJK_CONFIG_DIR } from './constants.mjs';
|
|
5
|
-
import { S as STATUS } from '../shared/ccjk.
|
|
5
|
+
import { S as STATUS } from '../shared/ccjk.Br91zBIG.mjs';
|
|
6
6
|
import 'node:os';
|
|
7
|
-
import './
|
|
7
|
+
import './index.mjs';
|
|
8
8
|
import 'node:process';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'i18next';
|
|
@@ -2,7 +2,7 @@ import process__default from 'node:process';
|
|
|
2
2
|
import ansis from 'ansis';
|
|
3
3
|
import inquirer from 'inquirer';
|
|
4
4
|
import 'tinyexec';
|
|
5
|
-
import { i18n } from './
|
|
5
|
+
import { i18n } from './index.mjs';
|
|
6
6
|
import { g as getPermissionManager } from '../shared/ccjk.h7_W-wTs.mjs';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:url';
|
package/dist/chunks/platform.mjs
CHANGED
|
@@ -388,4 +388,4 @@ const platform = {
|
|
|
388
388
|
wrapCommandWithSudo: wrapCommandWithSudo
|
|
389
389
|
};
|
|
390
390
|
|
|
391
|
-
export {
|
|
391
|
+
export { isTermux as a, getPlatform as b, commandExists as c, getMcpCommand as d, getHomebrewCommandPaths as e, findCommandPath as f, getSystemRoot as g, getTermuxPrefix as h, isWindows as i, isWSL as j, getWSLInfo as k, getRecommendedInstallMethods as l, findRealCommandPath as m, normalizeTomlPath as n, platform as p, shouldUseSudoForGlobalInstall as s, wrapCommandWithSudo as w };
|
package/dist/chunks/plugin.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { Buffer } from 'node:buffer';
|
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, unlinkSync, readdirSync, statSync, rmSync } from 'node:fs';
|
|
5
5
|
import { join } from 'pathe';
|
|
6
6
|
import { CCJK_CLOUD_PLUGINS_DIR, CCJK_CLOUD_PLUGINS_CACHE_DIR, CCJK_CLOUD_PLUGINS_INSTALLED_DIR } from './constants.mjs';
|
|
7
|
-
import { i18n } from './
|
|
7
|
+
import { i18n } from './index.mjs';
|
|
8
8
|
import { writeFileAtomic } from './fs-operations.mjs';
|
|
9
9
|
import { homedir } from 'node:os';
|
|
10
10
|
import { d as detectProject } from '../shared/ccjk.CBhIZiPz.mjs';
|
package/dist/chunks/prompts.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import ansis from 'ansis';
|
|
|
3
3
|
import inquirer from 'inquirer';
|
|
4
4
|
import { version } from './package.mjs';
|
|
5
5
|
import { LANG_LABELS, getAiOutputLanguageLabel, SUPPORTED_LANGS, AI_OUTPUT_LANGUAGES } from './constants.mjs';
|
|
6
|
-
import { ensureI18nInitialized, i18n } from './
|
|
6
|
+
import { ensureI18nInitialized, i18n } from './index.mjs';
|
|
7
7
|
import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
|
|
8
8
|
import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
|
|
9
9
|
import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ansis from 'ansis';
|
|
2
2
|
import { getApiProviderPresets } from './api-providers.mjs';
|
|
3
|
-
import { i18n } from './
|
|
3
|
+
import { i18n } from './index.mjs';
|
|
4
4
|
import { P as ProviderHealthMonitor } from '../shared/ccjk.J8YiPsOw.mjs';
|
|
5
5
|
import './constants.mjs';
|
|
6
6
|
import 'node:os';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import ansis from 'ansis';
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
3
|
import { version } from './package.mjs';
|
|
4
|
-
import { d as detectSmartDefaults } from '../shared/ccjk.
|
|
5
|
-
import { i18n } from './
|
|
4
|
+
import { d as detectSmartDefaults } from '../shared/ccjk.q1koQxEE.mjs';
|
|
5
|
+
import { i18n } from './index.mjs';
|
|
6
6
|
import { updateZcfConfig } from './ccjk-config.mjs';
|
|
7
|
-
import { init } from './init.mjs';
|
|
7
|
+
import { i as init } from './init.mjs';
|
|
8
8
|
import 'node:child_process';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:os';
|
|
@@ -22,29 +22,25 @@ import 'node:crypto';
|
|
|
22
22
|
import 'node:fs/promises';
|
|
23
23
|
import './json-config.mjs';
|
|
24
24
|
import 'dayjs';
|
|
25
|
-
import '
|
|
26
|
-
import '
|
|
27
|
-
import '
|
|
28
|
-
import './config2.mjs';
|
|
29
|
-
import 'node:util';
|
|
30
|
-
import './claude-config.mjs';
|
|
25
|
+
import './codex.mjs';
|
|
26
|
+
import 'ora';
|
|
27
|
+
import 'semver';
|
|
31
28
|
import './config.mjs';
|
|
29
|
+
import './claude-config.mjs';
|
|
30
|
+
import '../shared/ccjk.BFQ7yr5S.mjs';
|
|
31
|
+
import './prompts.mjs';
|
|
32
32
|
import '../shared/ccjk.DHbrGcgg.mjs';
|
|
33
33
|
import 'inquirer-toggle';
|
|
34
|
-
import '../shared/ccjk.
|
|
34
|
+
import '../shared/ccjk.LsPZ2PYo.mjs';
|
|
35
|
+
import '../shared/ccjk.Br91zBIG.mjs';
|
|
36
|
+
import './config3.mjs';
|
|
37
|
+
import 'node:util';
|
|
35
38
|
import './auto-updater.mjs';
|
|
36
|
-
import 'ora';
|
|
37
39
|
import './version-checker.mjs';
|
|
38
40
|
import 'node:path';
|
|
39
|
-
import '
|
|
40
|
-
import './
|
|
41
|
-
import '../shared/ccjk.
|
|
42
|
-
import './prompts.mjs';
|
|
43
|
-
import '../shared/ccjk.BM_HZogn.mjs';
|
|
44
|
-
import '../shared/ccjk.CS0ybJCf.mjs';
|
|
45
|
-
import '../shared/ccjk.f40us0yY.mjs';
|
|
46
|
-
import './installer.mjs';
|
|
47
|
-
import '../shared/ccjk.BKoi8-Hy.mjs';
|
|
41
|
+
import '../shared/ccjk.DvIrK0wz.mjs';
|
|
42
|
+
import './installer2.mjs';
|
|
43
|
+
import '../shared/ccjk.DE91nClQ.mjs';
|
|
48
44
|
|
|
49
45
|
function displayHeader() {
|
|
50
46
|
console.log("");
|
|
@@ -5,7 +5,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
5
5
|
import { join, dirname } from 'pathe';
|
|
6
6
|
import { CCJK_CONFIG_DIR } from './constants.mjs';
|
|
7
7
|
import { getCloudState, updateCloudState } from './auto-bootstrap.mjs';
|
|
8
|
-
import './
|
|
8
|
+
import './index.mjs';
|
|
9
9
|
import 'i18next';
|
|
10
10
|
import 'i18next-fs-backend';
|
|
11
11
|
import 'node:crypto';
|
|
@@ -5,9 +5,9 @@ import { exec } from 'tinyexec';
|
|
|
5
5
|
import { SETTINGS_FILE, CLAUDE_DIR } from './constants.mjs';
|
|
6
6
|
import { ensureDir, writeFileAtomic } from './fs-operations.mjs';
|
|
7
7
|
import { m as mergeAndCleanPermissions } from './config.mjs';
|
|
8
|
-
import {
|
|
8
|
+
import { b as getPlatform } from './platform.mjs';
|
|
9
9
|
import 'node:os';
|
|
10
|
-
import './
|
|
10
|
+
import './index.mjs';
|
|
11
11
|
import 'node:process';
|
|
12
12
|
import 'i18next';
|
|
13
13
|
import 'i18next-fs-backend';
|
package/dist/chunks/skill.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import { join, dirname } from 'pathe';
|
|
|
8
8
|
import { g as getPluginManager } from '../shared/ccjk.BsXQugfY.mjs';
|
|
9
9
|
import 'tinyexec';
|
|
10
10
|
import './constants.mjs';
|
|
11
|
-
import './
|
|
11
|
+
import './index.mjs';
|
|
12
12
|
import 'node:process';
|
|
13
13
|
import 'i18next';
|
|
14
14
|
import 'i18next-fs-backend';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ansis from 'ansis';
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
|
-
import { getTranslation } from './
|
|
3
|
+
import { getTranslation } from './index.mjs';
|
|
4
4
|
import { createHash } from 'node:crypto';
|
|
5
5
|
import { existsSync, readdirSync, readFileSync, mkdirSync } from 'node:fs';
|
|
6
6
|
import process__default from 'node:process';
|