kimu-cli 1.0.0 → 1.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/README.md +2 -2
- package/bin/kimu.js +55 -50
- package/dist/commands/build.d.ts +3 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +54 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/dev.d.ts +3 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +58 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +255 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +15 -9
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +12 -4
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/remove.d.ts +3 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +133 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/serve.d.ts +3 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +91 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/config/defaults.js +4 -4
- package/dist/config/defaults.js.map +1 -1
- package/dist/utils/module-installer.d.ts +1 -1
- package/dist/utils/module-installer.d.ts.map +1 -1
- package/dist/utils/module-installer.js +112 -10
- package/dist/utils/module-installer.js.map +1 -1
- package/dist/utils/registry.js +7 -7
- package/dist/utils/registry.js.map +1 -1
- package/docs/commands/install.md +1 -1
- package/docs/getting-started.md +4 -4
- package/docs/quick-reference.md +2 -2
- package/package.json +1 -1
- package/templates/generators/extension/config.json +4 -7
- package/templates/generators/module/config.json +10 -10
package/README.md
CHANGED
package/bin/kimu.js
CHANGED
|
@@ -1,50 +1,55 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* KIMU-CLI - Official command-line interface for the KIMU framework ecosystem
|
|
5
|
-
* Main CLI entry point
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const { Command } = require('commander');
|
|
9
|
-
const { CLI_NAME, CLI_VERSION } = require('../dist/config/constants');
|
|
10
|
-
|
|
11
|
-
// Import command handlers
|
|
12
|
-
const { setupVersionCommand } = require('../dist/commands/version');
|
|
13
|
-
const { setupInfoCommand } = require('../dist/commands/info');
|
|
14
|
-
const { setupHelpCommand } = require('../dist/commands/help');
|
|
15
|
-
const { setupCreateCommand } = require('../dist/commands/create');
|
|
16
|
-
const { setupNewCommand } = require('../dist/commands/new');
|
|
17
|
-
|
|
18
|
-
const {
|
|
19
|
-
const {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
program
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
.
|
|
30
|
-
.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
program
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* KIMU-CLI - Official command-line interface for the KIMU framework ecosystem
|
|
5
|
+
* Main CLI entry point
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { Command } = require('commander');
|
|
9
|
+
const { CLI_NAME, CLI_VERSION } = require('../dist/config/constants');
|
|
10
|
+
|
|
11
|
+
// Import command handlers
|
|
12
|
+
const { setupVersionCommand } = require('../dist/commands/version');
|
|
13
|
+
const { setupInfoCommand } = require('../dist/commands/info');
|
|
14
|
+
const { setupHelpCommand } = require('../dist/commands/help');
|
|
15
|
+
const { setupCreateCommand } = require('../dist/commands/create');
|
|
16
|
+
const { setupNewCommand } = require('../dist/commands/new');
|
|
17
|
+
const { setupInstallCommand } = require('../dist/commands/install');
|
|
18
|
+
const { setupListCommand } = require('../dist/commands/list');
|
|
19
|
+
const { setupRemoveCommand } = require('../dist/commands/remove');
|
|
20
|
+
const { setupBuildCommand } = require('../dist/commands/build');
|
|
21
|
+
const { setupDevCommand } = require('../dist/commands/dev');
|
|
22
|
+
const { setupServeCommand } = require('../dist/commands/serve');
|
|
23
|
+
const { setupDoctorCommand } = require('../dist/commands/doctor');
|
|
24
|
+
|
|
25
|
+
const program = new Command();
|
|
26
|
+
|
|
27
|
+
// Configure main program
|
|
28
|
+
program
|
|
29
|
+
.name(CLI_NAME)
|
|
30
|
+
.description('Official command-line interface for the KIMU framework ecosystem')
|
|
31
|
+
.version(CLI_VERSION, '-v, --version', 'display version number')
|
|
32
|
+
.option('--verbose', 'enable verbose output')
|
|
33
|
+
.helpOption('-h, --help', 'display help for command');
|
|
34
|
+
|
|
35
|
+
// Setup commands
|
|
36
|
+
setupVersionCommand(program);
|
|
37
|
+
setupInfoCommand(program);
|
|
38
|
+
setupHelpCommand(program);
|
|
39
|
+
setupCreateCommand(program);
|
|
40
|
+
setupNewCommand(program);
|
|
41
|
+
setupInstallCommand(program);
|
|
42
|
+
setupListCommand(program);
|
|
43
|
+
setupRemoveCommand(program);
|
|
44
|
+
setupBuildCommand(program);
|
|
45
|
+
setupDevCommand(program);
|
|
46
|
+
setupServeCommand(program);
|
|
47
|
+
setupDoctorCommand(program);
|
|
48
|
+
|
|
49
|
+
// Parse command line arguments
|
|
50
|
+
program.parse(process.argv);
|
|
51
|
+
|
|
52
|
+
// Show help if no command provided
|
|
53
|
+
if (!process.argv.slice(2).length) {
|
|
54
|
+
program.outputHelp();
|
|
55
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgDxD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.setupBuildCommand = setupBuildCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
function setupBuildCommand(program) {
|
|
11
|
+
program
|
|
12
|
+
.command('build')
|
|
13
|
+
.description('Build your KIMU project for production')
|
|
14
|
+
.option('--dev', 'build in development mode')
|
|
15
|
+
.option('--local', 'build for local testing')
|
|
16
|
+
.option('--prod', 'build for production (default)')
|
|
17
|
+
.option('--watch', 'watch for changes and rebuild')
|
|
18
|
+
.option('--verbose', 'show detailed build output')
|
|
19
|
+
.action(async (options) => {
|
|
20
|
+
const spinner = (0, ora_1.default)('Building KIMU project...').start();
|
|
21
|
+
try {
|
|
22
|
+
let buildCommand = 'build';
|
|
23
|
+
if (options.dev) {
|
|
24
|
+
buildCommand = 'build:dev';
|
|
25
|
+
}
|
|
26
|
+
else if (options.local) {
|
|
27
|
+
buildCommand = 'build:local';
|
|
28
|
+
}
|
|
29
|
+
else if (options.prod) {
|
|
30
|
+
buildCommand = 'build:prod';
|
|
31
|
+
}
|
|
32
|
+
// Execute npm build script
|
|
33
|
+
const result = (0, child_process_1.spawnSync)('npm', ['run', buildCommand], {
|
|
34
|
+
stdio: options.verbose ? 'inherit' : 'pipe',
|
|
35
|
+
cwd: process.cwd(),
|
|
36
|
+
shell: true,
|
|
37
|
+
});
|
|
38
|
+
if (result.error) {
|
|
39
|
+
throw new Error(`Failed to execute build: ${result.error.message}`);
|
|
40
|
+
}
|
|
41
|
+
if (result.status !== 0) {
|
|
42
|
+
const errorOutput = result.stderr?.toString() || result.stdout?.toString() || '';
|
|
43
|
+
throw new Error(`Build failed with exit code ${result.status}\n${errorOutput}`);
|
|
44
|
+
}
|
|
45
|
+
spinner.succeed(chalk_1.default.green('✅ Build completed successfully!'));
|
|
46
|
+
console.log(chalk_1.default.cyan('\n📦 Build output in: dist/\n'));
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
spinner.fail(chalk_1.default.red(`❌ Build failed: ${error.message}`));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;AAKA,8CAgDC;AApDD,kDAA0B;AAC1B,8CAAsB;AACtB,iDAA0C;AAE1C,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,OAAO,EAAE,2BAA2B,CAAC;SAC5C,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,gCAAgC,CAAC;SAClD,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;SAClD,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,IAAI,YAAY,GAAG,OAAO,CAAC;YAE3B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,YAAY,GAAG,WAAW,CAAC;YAC7B,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,YAAY,GAAG,aAAa,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxB,YAAY,GAAG,YAAY,CAAC;YAC9B,CAAC;YAED,2BAA2B;YAC3B,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE;gBACrD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,WAAW,GACf,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAC/D,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwDtD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.setupDevCommand = setupDevCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
function setupDevCommand(program) {
|
|
11
|
+
program
|
|
12
|
+
.command('dev')
|
|
13
|
+
.description('Start development server with hot reload')
|
|
14
|
+
.option('-p, --port <port>', 'port to run the server on', '3000')
|
|
15
|
+
.option('-h, --host <host>', 'host to run the server on', 'localhost')
|
|
16
|
+
.option('--open', 'open browser automatically')
|
|
17
|
+
.option('--verbose', 'show detailed server output')
|
|
18
|
+
.action(async (options) => {
|
|
19
|
+
const spinner = (0, ora_1.default)('Starting development server...').start();
|
|
20
|
+
try {
|
|
21
|
+
// Execute npm dev script (vite dev server)
|
|
22
|
+
const devProcess = (0, child_process_1.spawn)('npm', ['run', 'dev'], {
|
|
23
|
+
stdio: 'inherit',
|
|
24
|
+
cwd: process.cwd(),
|
|
25
|
+
shell: true,
|
|
26
|
+
env: {
|
|
27
|
+
...process.env,
|
|
28
|
+
PORT: options.port,
|
|
29
|
+
HOST: options.host,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
spinner.succeed(chalk_1.default.green('✅ Development server started!'));
|
|
33
|
+
console.log(chalk_1.default.cyan(`\n🚀 Server running at: http://${options.host}:${options.port}\n`));
|
|
34
|
+
console.log(chalk_1.default.dim('Press Ctrl+C to stop the server\n'));
|
|
35
|
+
devProcess.on('error', error => {
|
|
36
|
+
console.error(chalk_1.default.red(`❌ Server error: ${error.message}`));
|
|
37
|
+
process.exit(1);
|
|
38
|
+
});
|
|
39
|
+
devProcess.on('exit', code => {
|
|
40
|
+
if (code !== 0 && code !== null) {
|
|
41
|
+
console.error(chalk_1.default.red(`❌ Server exited with code ${code}`));
|
|
42
|
+
process.exit(code);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
// Handle Ctrl+C
|
|
46
|
+
process.on('SIGINT', () => {
|
|
47
|
+
console.log(chalk_1.default.yellow('\n\n⚠️ Stopping development server...'));
|
|
48
|
+
devProcess.kill('SIGINT');
|
|
49
|
+
process.exit(0);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
spinner.fail(chalk_1.default.red(`❌ Failed to start dev server: ${error.message}`));
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":";;;;;AAKA,0CAwDC;AA5DD,kDAA0B;AAC1B,8CAAsB;AACtB,iDAAsC;AAEtC,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAChE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,WAAW,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,UAAU,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBAC9C,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,kCAAkC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,CACnE,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAE5D,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC3B,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,gBAAgB;YAChB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBACpE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,GAAG,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAC5D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8KpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuEzD"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.setupDoctorCommand = setupDoctorCommand;
|
|
40
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const fs = __importStar(require("fs-extra"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
async function checkProjectStructure() {
|
|
44
|
+
const checks = [];
|
|
45
|
+
// Check package.json
|
|
46
|
+
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
47
|
+
if (await fs.pathExists(packageJsonPath)) {
|
|
48
|
+
checks.push({
|
|
49
|
+
name: 'package.json',
|
|
50
|
+
status: 'pass',
|
|
51
|
+
message: 'Found package.json',
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
checks.push({
|
|
56
|
+
name: 'package.json',
|
|
57
|
+
status: 'fail',
|
|
58
|
+
message: 'package.json not found',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
// Check src directory
|
|
62
|
+
const srcPath = path.join(process.cwd(), 'src');
|
|
63
|
+
if (await fs.pathExists(srcPath)) {
|
|
64
|
+
checks.push({
|
|
65
|
+
name: 'src directory',
|
|
66
|
+
status: 'pass',
|
|
67
|
+
message: 'Found src/ directory',
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
checks.push({
|
|
72
|
+
name: 'src directory',
|
|
73
|
+
status: 'fail',
|
|
74
|
+
message: 'src/ directory not found',
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Check modules
|
|
78
|
+
const modulesPath = path.join(process.cwd(), 'src', 'modules');
|
|
79
|
+
if (await fs.pathExists(modulesPath)) {
|
|
80
|
+
const modulesManifestPath = path.join(modulesPath, 'modules-manifest.json');
|
|
81
|
+
if (await fs.pathExists(modulesManifestPath)) {
|
|
82
|
+
checks.push({
|
|
83
|
+
name: 'modules manifest',
|
|
84
|
+
status: 'pass',
|
|
85
|
+
message: 'Found modules-manifest.json',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
checks.push({
|
|
90
|
+
name: 'modules manifest',
|
|
91
|
+
status: 'warn',
|
|
92
|
+
message: 'modules-manifest.json not found',
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
checks.push({
|
|
98
|
+
name: 'modules',
|
|
99
|
+
status: 'warn',
|
|
100
|
+
message: 'src/modules/ directory not found',
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
// Check extensions
|
|
104
|
+
const extensionsPath = path.join(process.cwd(), 'src', 'extensions');
|
|
105
|
+
if (await fs.pathExists(extensionsPath)) {
|
|
106
|
+
const extensionsManifestPath = path.join(extensionsPath, 'extensions-manifest.json');
|
|
107
|
+
if (await fs.pathExists(extensionsManifestPath)) {
|
|
108
|
+
checks.push({
|
|
109
|
+
name: 'extensions manifest',
|
|
110
|
+
status: 'pass',
|
|
111
|
+
message: 'Found extensions-manifest.json',
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
checks.push({
|
|
116
|
+
name: 'extensions manifest',
|
|
117
|
+
status: 'warn',
|
|
118
|
+
message: 'extensions-manifest.json not found',
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
checks.push({
|
|
124
|
+
name: 'extensions',
|
|
125
|
+
status: 'warn',
|
|
126
|
+
message: 'src/extensions/ directory not found',
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
category: 'Project Structure',
|
|
131
|
+
checks,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
async function checkDependencies() {
|
|
135
|
+
const checks = [];
|
|
136
|
+
// Check node_modules
|
|
137
|
+
const nodeModulesPath = path.join(process.cwd(), 'node_modules');
|
|
138
|
+
if (await fs.pathExists(nodeModulesPath)) {
|
|
139
|
+
checks.push({
|
|
140
|
+
name: 'node_modules',
|
|
141
|
+
status: 'pass',
|
|
142
|
+
message: 'Dependencies installed',
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
checks.push({
|
|
147
|
+
name: 'node_modules',
|
|
148
|
+
status: 'fail',
|
|
149
|
+
message: 'Dependencies not installed. Run: npm install',
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
// Check for kimu-core
|
|
153
|
+
const kimuCorePath = path.join(process.cwd(), 'node_modules', 'kimu-core');
|
|
154
|
+
if (await fs.pathExists(kimuCorePath)) {
|
|
155
|
+
checks.push({
|
|
156
|
+
name: 'kimu-core',
|
|
157
|
+
status: 'pass',
|
|
158
|
+
message: 'kimu-core is installed',
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
checks.push({
|
|
163
|
+
name: 'kimu-core',
|
|
164
|
+
status: 'warn',
|
|
165
|
+
message: 'kimu-core not found in dependencies',
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
category: 'Dependencies',
|
|
170
|
+
checks,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
async function checkBuildArtifacts() {
|
|
174
|
+
const checks = [];
|
|
175
|
+
// Check dist directory
|
|
176
|
+
const distPath = path.join(process.cwd(), 'dist');
|
|
177
|
+
if (await fs.pathExists(distPath)) {
|
|
178
|
+
checks.push({
|
|
179
|
+
name: 'dist directory',
|
|
180
|
+
status: 'pass',
|
|
181
|
+
message: 'Build artifacts found',
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
checks.push({
|
|
186
|
+
name: 'dist directory',
|
|
187
|
+
status: 'warn',
|
|
188
|
+
message: 'Build artifacts not found. Run: kimu build',
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
category: 'Build Artifacts',
|
|
193
|
+
checks,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
function setupDoctorCommand(program) {
|
|
197
|
+
program
|
|
198
|
+
.command('doctor')
|
|
199
|
+
.description('Run diagnostics on your KIMU project')
|
|
200
|
+
.option('--verbose', 'show detailed diagnostic information')
|
|
201
|
+
.action(async (_options) => {
|
|
202
|
+
console.log(chalk_1.default.bold.cyan('\n🏥 KIMU Project Diagnostics\n'));
|
|
203
|
+
try {
|
|
204
|
+
const diagnostics = [
|
|
205
|
+
await checkProjectStructure(),
|
|
206
|
+
await checkDependencies(),
|
|
207
|
+
await checkBuildArtifacts(),
|
|
208
|
+
];
|
|
209
|
+
let totalPass = 0;
|
|
210
|
+
let totalFail = 0;
|
|
211
|
+
let totalWarn = 0;
|
|
212
|
+
for (const diagnostic of diagnostics) {
|
|
213
|
+
console.log(chalk_1.default.bold(`\n${diagnostic.category}:`));
|
|
214
|
+
for (const check of diagnostic.checks) {
|
|
215
|
+
const icon = check.status === 'pass'
|
|
216
|
+
? chalk_1.default.green('✓')
|
|
217
|
+
: check.status === 'fail'
|
|
218
|
+
? chalk_1.default.red('✗')
|
|
219
|
+
: chalk_1.default.yellow('⚠');
|
|
220
|
+
const message = check.status === 'pass'
|
|
221
|
+
? chalk_1.default.green(check.message)
|
|
222
|
+
: check.status === 'fail'
|
|
223
|
+
? chalk_1.default.red(check.message)
|
|
224
|
+
: chalk_1.default.yellow(check.message);
|
|
225
|
+
console.log(` ${icon} ${check.name}: ${message}`);
|
|
226
|
+
if (check.status === 'pass')
|
|
227
|
+
totalPass++;
|
|
228
|
+
if (check.status === 'fail')
|
|
229
|
+
totalFail++;
|
|
230
|
+
if (check.status === 'warn')
|
|
231
|
+
totalWarn++;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
console.log(chalk_1.default.bold.cyan('\n📊 Summary:\n'));
|
|
235
|
+
console.log(` ${chalk_1.default.green('✓')} Passed: ${totalPass}`);
|
|
236
|
+
console.log(` ${chalk_1.default.red('✗')} Failed: ${totalFail}`);
|
|
237
|
+
console.log(` ${chalk_1.default.yellow('⚠')} Warnings: ${totalWarn}\n`);
|
|
238
|
+
if (totalFail > 0) {
|
|
239
|
+
console.log(chalk_1.default.red('❌ Your project has some issues. Please fix the failures above.\n'));
|
|
240
|
+
process.exit(1);
|
|
241
|
+
}
|
|
242
|
+
else if (totalWarn > 0) {
|
|
243
|
+
console.log(chalk_1.default.yellow('⚠️ Your project is mostly healthy, but has some warnings.\n'));
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
console.log(chalk_1.default.green('✅ Your project is healthy!\n'));
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
console.error(chalk_1.default.red(`❌ Diagnostics failed: ${error.message}\n`));
|
|
251
|
+
process.exit(1);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuHvD"}
|
package/dist/commands/list.js
CHANGED
|
@@ -43,20 +43,26 @@ const fs = __importStar(require("fs-extra"));
|
|
|
43
43
|
const path = __importStar(require("path"));
|
|
44
44
|
const registry_1 = require("../utils/registry");
|
|
45
45
|
async function getInstalledPackages() {
|
|
46
|
+
const modules = [];
|
|
47
|
+
const extensions = [];
|
|
46
48
|
try {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
// Read modules from modules-manifest.json
|
|
50
|
+
const modulesManifestPath = path.join(process.cwd(), 'src', 'modules', 'modules-manifest.json');
|
|
51
|
+
if (await fs.pathExists(modulesManifestPath)) {
|
|
52
|
+
const modulesManifest = await fs.readJson(modulesManifestPath);
|
|
53
|
+
modules.push(...(modulesManifest.installedModules?.map((mod) => mod.name) || []));
|
|
54
|
+
}
|
|
55
|
+
// Read extensions from extensions-manifest.json
|
|
56
|
+
const extensionsManifestPath = path.join(process.cwd(), 'src', 'extensions', 'extensions-manifest.json');
|
|
57
|
+
if (await fs.pathExists(extensionsManifestPath)) {
|
|
58
|
+
const extensionsManifest = await fs.readJson(extensionsManifestPath);
|
|
59
|
+
extensions.push(...(extensionsManifest.installedExtensions?.map((ext) => ext.tag || ext.name) || []));
|
|
54
60
|
}
|
|
55
61
|
}
|
|
56
62
|
catch (error) {
|
|
57
|
-
// Ignore errors, return empty
|
|
63
|
+
// Ignore errors, return empty arrays
|
|
58
64
|
}
|
|
59
|
-
return { modules
|
|
65
|
+
return { modules, extensions };
|
|
60
66
|
}
|
|
61
67
|
function setupListCommand(program) {
|
|
62
68
|
const list = program
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAuRhD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6CtD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAqDf"}
|