@zenithbuild/core 1.3.13 → 1.3.17
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/bin/zenith.js +1 -1
- package/cli/commands/build.ts +1 -1
- package/cli/commands/dev.ts +11 -7
- package/dist/bin/zen-build.d.ts +2 -0
- package/dist/bin/zen-build.d.ts.map +1 -0
- package/dist/bin/zen-build.js +3 -0
- package/dist/bin/zen-build.js.map +1 -0
- package/dist/bin/zen-dev.d.ts +2 -0
- package/dist/bin/zen-dev.d.ts.map +1 -0
- package/dist/bin/zen-dev.js +3 -0
- package/dist/bin/zen-dev.js.map +1 -0
- package/dist/bin/zen-preview.d.ts +2 -0
- package/dist/bin/zen-preview.d.ts.map +1 -0
- package/dist/bin/zen-preview.js +3 -0
- package/dist/bin/zen-preview.js.map +1 -0
- package/dist/bin/zenith.d.ts +2 -0
- package/dist/bin/zenith.d.ts.map +1 -0
- package/dist/bin/zenith.js +3 -0
- package/dist/bin/zenith.js.map +1 -0
- package/dist/cli/commands/add.d.ts +10 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +27 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/build.d.ts +10 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +29 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/create.d.ts +11 -0
- package/dist/cli/commands/create.d.ts.map +1 -0
- package/dist/cli/commands/create.js +625 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +24 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +402 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/index.d.ts +16 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +101 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/preview.d.ts +10 -0
- package/dist/cli/commands/preview.d.ts.map +1 -0
- package/dist/cli/commands/preview.js +49 -0
- package/dist/cli/commands/preview.js.map +1 -0
- package/dist/cli/commands/remove.d.ts +7 -0
- package/dist/cli/commands/remove.d.ts.map +1 -0
- package/dist/cli/commands/remove.js +27 -0
- package/dist/cli/commands/remove.js.map +1 -0
- package/dist/cli/main.d.ts +11 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +88 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/utils/branding.d.ts +51 -0
- package/dist/cli/utils/branding.d.ts.map +1 -0
- package/dist/cli/utils/branding.js +147 -0
- package/dist/cli/utils/branding.js.map +1 -0
- package/dist/cli/utils/logger.d.ts +15 -0
- package/dist/cli/utils/logger.d.ts.map +1 -0
- package/dist/cli/utils/logger.js +40 -0
- package/dist/cli/utils/logger.js.map +1 -0
- package/dist/cli/utils/plugin-manager.d.ts +34 -0
- package/dist/cli/utils/plugin-manager.d.ts.map +1 -0
- package/dist/cli/utils/plugin-manager.js +89 -0
- package/dist/cli/utils/plugin-manager.js.map +1 -0
- package/dist/cli/utils/project.d.ts +24 -0
- package/dist/cli/utils/project.d.ts.map +1 -0
- package/dist/cli/utils/project.js +62 -0
- package/dist/cli/utils/project.js.map +1 -0
- package/dist/core/components/index.d.ts +10 -0
- package/dist/core/components/index.d.ts.map +1 -0
- package/dist/core/components/index.js +14 -0
- package/dist/core/components/index.js.map +1 -0
- package/dist/core/config.d.ts +2 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +2 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/index.d.ts +63 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +78 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lifecycle/index.d.ts +17 -0
- package/dist/core/lifecycle/index.d.ts.map +1 -0
- package/dist/core/lifecycle/index.js +20 -0
- package/dist/core/lifecycle/index.js.map +1 -0
- package/dist/core/lifecycle/zen-mount.d.ts +67 -0
- package/dist/core/lifecycle/zen-mount.d.ts.map +1 -0
- package/dist/core/lifecycle/zen-mount.js +152 -0
- package/dist/core/lifecycle/zen-mount.js.map +1 -0
- package/dist/core/lifecycle/zen-unmount.d.ts +55 -0
- package/dist/core/lifecycle/zen-unmount.d.ts.map +1 -0
- package/dist/core/lifecycle/zen-unmount.js +77 -0
- package/dist/core/lifecycle/zen-unmount.js.map +1 -0
- package/dist/core/reactivity/index.d.ts +31 -0
- package/dist/core/reactivity/index.d.ts.map +1 -0
- package/dist/core/reactivity/index.js +34 -0
- package/dist/core/reactivity/index.js.map +1 -0
- package/dist/core/reactivity/tracking.d.ts +75 -0
- package/dist/core/reactivity/tracking.d.ts.map +1 -0
- package/dist/core/reactivity/tracking.js +137 -0
- package/dist/core/reactivity/tracking.js.map +1 -0
- package/dist/core/reactivity/zen-batch.d.ts +46 -0
- package/dist/core/reactivity/zen-batch.d.ts.map +1 -0
- package/dist/core/reactivity/zen-batch.js +55 -0
- package/dist/core/reactivity/zen-batch.js.map +1 -0
- package/dist/core/reactivity/zen-effect.d.ts +49 -0
- package/dist/core/reactivity/zen-effect.d.ts.map +1 -0
- package/dist/core/reactivity/zen-effect.js +99 -0
- package/dist/core/reactivity/zen-effect.js.map +1 -0
- package/dist/core/reactivity/zen-memo.d.ts +44 -0
- package/dist/core/reactivity/zen-memo.d.ts.map +1 -0
- package/dist/core/reactivity/zen-memo.js +101 -0
- package/dist/core/reactivity/zen-memo.js.map +1 -0
- package/dist/core/reactivity/zen-ref.d.ts +45 -0
- package/dist/core/reactivity/zen-ref.d.ts.map +1 -0
- package/dist/core/reactivity/zen-ref.js +35 -0
- package/dist/core/reactivity/zen-ref.js.map +1 -0
- package/dist/core/reactivity/zen-signal.d.ts +49 -0
- package/dist/core/reactivity/zen-signal.d.ts.map +1 -0
- package/dist/core/reactivity/zen-signal.js +85 -0
- package/dist/core/reactivity/zen-signal.js.map +1 -0
- package/dist/core/reactivity/zen-state.d.ts +36 -0
- package/dist/core/reactivity/zen-state.d.ts.map +1 -0
- package/dist/core/reactivity/zen-state.js +148 -0
- package/dist/core/reactivity/zen-state.js.map +1 -0
- package/dist/core/reactivity/zen-untrack.d.ts +39 -0
- package/dist/core/reactivity/zen-untrack.d.ts.map +1 -0
- package/dist/core/reactivity/zen-untrack.js +42 -0
- package/dist/core/reactivity/zen-untrack.js.map +1 -0
- package/package.json +17 -14
- package/tsconfig.json +24 -26
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Remove Command
|
|
3
|
+
*
|
|
4
|
+
* Removes a plugin from the project registry
|
|
5
|
+
*/
|
|
6
|
+
import { requireProject } from '../utils/project';
|
|
7
|
+
import { removePlugin, hasPlugin } from '../utils/plugin-manager';
|
|
8
|
+
import * as logger from '../utils/logger';
|
|
9
|
+
export async function remove(pluginName) {
|
|
10
|
+
requireProject();
|
|
11
|
+
logger.header('Remove Plugin');
|
|
12
|
+
if (!pluginName) {
|
|
13
|
+
logger.error('Plugin name required. Usage: zenith remove <plugin>');
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
if (!hasPlugin(pluginName)) {
|
|
17
|
+
logger.warn(`Plugin "${pluginName}" is not registered`);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const success = removePlugin(pluginName);
|
|
21
|
+
if (success) {
|
|
22
|
+
logger.info(`Plugin "${pluginName}" has been unregistered.`);
|
|
23
|
+
logger.info('Note: You may want to remove the package manually:');
|
|
24
|
+
logger.log(` bun remove @zenithbuild/plugin-${pluginName}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../cli/commands/remove.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAkB;IAC3C,cAAc,EAAE,CAAA;IAEhB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAE9B,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,qBAAqB,CAAC,CAAA;QACvD,OAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAExC,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,0BAA0B,CAAC,CAAA;QAC5D,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;QACjE,MAAM,CAAC,GAAG,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAA;IAChE,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Shared CLI Execution Logic
|
|
3
|
+
*/
|
|
4
|
+
export interface CLIOptions {
|
|
5
|
+
defaultCommand?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Main CLI execution entry point
|
|
9
|
+
*/
|
|
10
|
+
export declare function runCLI(options?: CLIOptions): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../cli/main.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,MAAM,WAAW,UAAU;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,UAAe,iBAwEpD"}
|
package/dist/cli/main.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Shared CLI Execution Logic
|
|
3
|
+
*/
|
|
4
|
+
import process from 'node:process';
|
|
5
|
+
import { getCommand, showHelp, placeholderCommands } from './commands/index';
|
|
6
|
+
import * as logger from './utils/logger';
|
|
7
|
+
import { execSync } from 'node:child_process';
|
|
8
|
+
/**
|
|
9
|
+
* Check if Bun is available in the environment
|
|
10
|
+
*/
|
|
11
|
+
function checkBun() {
|
|
12
|
+
try {
|
|
13
|
+
execSync('bun --version', { stdio: 'pipe' });
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Main CLI execution entry point
|
|
22
|
+
*/
|
|
23
|
+
export async function runCLI(options = {}) {
|
|
24
|
+
// 1. Check for Bun
|
|
25
|
+
if (!checkBun()) {
|
|
26
|
+
logger.error('Bun is required to run Zenith.');
|
|
27
|
+
logger.info('Please install Bun: https://bun.sh/install');
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const args = process.argv.slice(2);
|
|
31
|
+
const VERSION = '0.3.0';
|
|
32
|
+
// 2. Handle global version flag
|
|
33
|
+
if (args.includes('--version') || args.includes('-v')) {
|
|
34
|
+
console.log(`Zenith CLI v${VERSION}`);
|
|
35
|
+
process.exit(0);
|
|
36
|
+
}
|
|
37
|
+
// Determine command name: either from args or default (for aliases)
|
|
38
|
+
let commandName = args[0];
|
|
39
|
+
let commandArgs = args.slice(1);
|
|
40
|
+
if (options.defaultCommand) {
|
|
41
|
+
if (!commandName || commandName.startsWith('-')) {
|
|
42
|
+
commandName = options.defaultCommand;
|
|
43
|
+
commandArgs = args;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Handle help
|
|
47
|
+
if (!commandName || ((commandName === '--help' || commandName === '-h') && !options.defaultCommand)) {
|
|
48
|
+
showHelp();
|
|
49
|
+
process.exit(0);
|
|
50
|
+
}
|
|
51
|
+
// Parse options (--key value format) for internal use if needed
|
|
52
|
+
const cliOptions = {};
|
|
53
|
+
for (let i = 0; i < commandArgs.length; i++) {
|
|
54
|
+
const arg = commandArgs[i];
|
|
55
|
+
if (arg.startsWith('--')) {
|
|
56
|
+
const key = arg.slice(2);
|
|
57
|
+
const value = commandArgs[i + 1];
|
|
58
|
+
if (value && !value.startsWith('--')) {
|
|
59
|
+
cliOptions[key] = value;
|
|
60
|
+
i++;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
cliOptions[key] = 'true';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Check for placeholder commands
|
|
68
|
+
if (placeholderCommands.includes(commandName)) {
|
|
69
|
+
logger.warn(`Command "${commandName}" is not yet implemented.`);
|
|
70
|
+
logger.info('This feature is planned for a future release.');
|
|
71
|
+
process.exit(0);
|
|
72
|
+
}
|
|
73
|
+
const command = getCommand(commandName);
|
|
74
|
+
if (!command) {
|
|
75
|
+
logger.error(`Unknown command: ${commandName}`);
|
|
76
|
+
showHelp();
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
await command.run(commandArgs, cliOptions);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
84
|
+
logger.error(message);
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zenith CLI Branding
|
|
3
|
+
*
|
|
4
|
+
* ASCII art logo, colors, animations, and styled output
|
|
5
|
+
*/
|
|
6
|
+
export declare const colors: {
|
|
7
|
+
primary: import("picocolors/types").Formatter;
|
|
8
|
+
secondary: import("picocolors/types").Formatter;
|
|
9
|
+
success: import("picocolors/types").Formatter;
|
|
10
|
+
warning: import("picocolors/types").Formatter;
|
|
11
|
+
error: import("picocolors/types").Formatter;
|
|
12
|
+
muted: import("picocolors/types").Formatter;
|
|
13
|
+
bold: import("picocolors/types").Formatter;
|
|
14
|
+
dim: import("picocolors/types").Formatter;
|
|
15
|
+
};
|
|
16
|
+
export declare const LOGO: string;
|
|
17
|
+
export declare const LOGO_COMPACT: string;
|
|
18
|
+
export declare class Spinner {
|
|
19
|
+
private interval;
|
|
20
|
+
private frameIndex;
|
|
21
|
+
private message;
|
|
22
|
+
constructor(message: string);
|
|
23
|
+
start(): void;
|
|
24
|
+
stop(finalMessage?: string): void;
|
|
25
|
+
succeed(message: string): void;
|
|
26
|
+
fail(message: string): void;
|
|
27
|
+
}
|
|
28
|
+
export declare function showLogo(): void;
|
|
29
|
+
export declare function showCompactLogo(): void;
|
|
30
|
+
export declare function header(text: string): void;
|
|
31
|
+
export declare function success(text: string): void;
|
|
32
|
+
export declare function error(text: string): void;
|
|
33
|
+
export declare function warn(text: string): void;
|
|
34
|
+
export declare function info(text: string): void;
|
|
35
|
+
export declare function step(num: number, text: string): void;
|
|
36
|
+
export declare function highlight(text: string): string;
|
|
37
|
+
export declare function dim(text: string): string;
|
|
38
|
+
export declare function bold(text: string): string;
|
|
39
|
+
export declare function showIntro(): Promise<void>;
|
|
40
|
+
export declare function showNextSteps(projectName: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Show dev server startup panel
|
|
43
|
+
*/
|
|
44
|
+
export declare function showServerPanel(options: {
|
|
45
|
+
project: string;
|
|
46
|
+
pages: string;
|
|
47
|
+
url: string;
|
|
48
|
+
hmr: boolean;
|
|
49
|
+
mode: string;
|
|
50
|
+
}): void;
|
|
51
|
+
//# sourceMappingURL=branding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../../../cli/utils/branding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,MAAM;;;;;;;;;CASlB,CAAA;AAGD,eAAO,MAAM,IAAI,QAahB,CAAA;AAGD,eAAO,MAAM,YAAY,QAExB,CAAA;AAKD,qBAAa,OAAO;IAChB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,MAAM;IAI3B,KAAK;IAOL,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM;IAW1B,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,IAAI,CAAC,OAAO,EAAE,MAAM;CAGvB;AAGD,wBAAgB,QAAQ,SAEvB;AAED,wBAAgB,eAAe,SAE9B;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,QAElC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,QAEnC;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,QAEjC;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,QAEhC;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,QAEhC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAE7C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExC;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzC;AAGD,wBAAsB,SAAS,kBAI9B;AAOD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,QAehD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAA;CACf,QAcA"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zenith CLI Branding
|
|
3
|
+
*
|
|
4
|
+
* ASCII art logo, colors, animations, and styled output
|
|
5
|
+
*/
|
|
6
|
+
import pc from 'picocolors';
|
|
7
|
+
// Brand colors
|
|
8
|
+
export const colors = {
|
|
9
|
+
primary: pc.blue,
|
|
10
|
+
secondary: pc.cyan,
|
|
11
|
+
success: pc.green,
|
|
12
|
+
warning: pc.yellow,
|
|
13
|
+
error: pc.red,
|
|
14
|
+
muted: pc.gray,
|
|
15
|
+
bold: pc.bold,
|
|
16
|
+
dim: pc.dim
|
|
17
|
+
};
|
|
18
|
+
// ASCII Zenith logo
|
|
19
|
+
export const LOGO = `
|
|
20
|
+
${pc.cyan('╔═══════════════════════════════════════════════════════════╗')}
|
|
21
|
+
${pc.cyan('║')} ${pc.cyan('║')}
|
|
22
|
+
${pc.cyan('║')} ${pc.bold(pc.blue('███████╗'))}${pc.bold(pc.cyan('███████╗'))}${pc.bold(pc.blue('███╗ ██╗'))}${pc.bold(pc.cyan('██╗'))}${pc.bold(pc.blue('████████╗'))}${pc.bold(pc.cyan('██╗ ██╗'))} ${pc.cyan('║')}
|
|
23
|
+
${pc.cyan('║')} ${pc.bold(pc.blue('╚══███╔╝'))}${pc.bold(pc.cyan('██╔════╝'))}${pc.bold(pc.blue('████╗ ██║'))}${pc.bold(pc.cyan('██║'))}${pc.bold(pc.blue('╚══██╔══╝'))}${pc.bold(pc.cyan('██║ ██║'))} ${pc.cyan('║')}
|
|
24
|
+
${pc.cyan('║')} ${pc.bold(pc.blue(' ███╔╝ '))}${pc.bold(pc.cyan('█████╗ '))}${pc.bold(pc.blue('██╔██╗ ██║'))}${pc.bold(pc.cyan('██║'))}${pc.bold(pc.blue(' ██║ '))}${pc.bold(pc.cyan('███████║'))} ${pc.cyan('║')}
|
|
25
|
+
${pc.cyan('║')} ${pc.bold(pc.blue(' ███╔╝ '))}${pc.bold(pc.cyan('██╔══╝ '))}${pc.bold(pc.blue('██║╚██╗██║'))}${pc.bold(pc.cyan('██║'))}${pc.bold(pc.blue(' ██║ '))}${pc.bold(pc.cyan('██╔══██║'))} ${pc.cyan('║')}
|
|
26
|
+
${pc.cyan('║')} ${pc.bold(pc.blue('███████╗'))}${pc.bold(pc.cyan('███████╗'))}${pc.bold(pc.blue('██║ ╚████║'))}${pc.bold(pc.cyan('██║'))}${pc.bold(pc.blue(' ██║ '))}${pc.bold(pc.cyan('██║ ██║'))} ${pc.cyan('║')}
|
|
27
|
+
${pc.cyan('║')} ${pc.bold(pc.blue('╚══════╝'))}${pc.bold(pc.cyan('╚══════╝'))}${pc.bold(pc.blue('╚═╝ ╚═══╝'))}${pc.bold(pc.cyan('╚═╝'))}${pc.bold(pc.blue(' ╚═╝ '))}${pc.bold(pc.cyan('╚═╝ ╚═╝'))} ${pc.cyan('║')}
|
|
28
|
+
${pc.cyan('║')} ${pc.cyan('║')}
|
|
29
|
+
${pc.cyan('║')} ${pc.dim('The Modern Reactive Web Framework')} ${pc.cyan('║')}
|
|
30
|
+
${pc.cyan('║')} ${pc.cyan('║')}
|
|
31
|
+
${pc.cyan('╚═══════════════════════════════════════════════════════════╝')}
|
|
32
|
+
`;
|
|
33
|
+
// Compact logo for smaller spaces
|
|
34
|
+
export const LOGO_COMPACT = `
|
|
35
|
+
${pc.bold(pc.blue('⚡'))} ${pc.bold(pc.cyan('ZENITH'))} ${pc.dim('- Modern Reactive Framework')}
|
|
36
|
+
`;
|
|
37
|
+
// Spinner frames for animations
|
|
38
|
+
const spinnerFrames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
39
|
+
export class Spinner {
|
|
40
|
+
interval = null;
|
|
41
|
+
frameIndex = 0;
|
|
42
|
+
message;
|
|
43
|
+
constructor(message) {
|
|
44
|
+
this.message = message;
|
|
45
|
+
}
|
|
46
|
+
start() {
|
|
47
|
+
this.interval = setInterval(() => {
|
|
48
|
+
process.stdout.write(`\r${pc.cyan(spinnerFrames[this.frameIndex])} ${this.message}`);
|
|
49
|
+
this.frameIndex = (this.frameIndex + 1) % spinnerFrames.length;
|
|
50
|
+
}, 80);
|
|
51
|
+
}
|
|
52
|
+
stop(finalMessage) {
|
|
53
|
+
if (this.interval) {
|
|
54
|
+
clearInterval(this.interval);
|
|
55
|
+
this.interval = null;
|
|
56
|
+
}
|
|
57
|
+
process.stdout.write('\r' + ' '.repeat(this.message.length + 5) + '\r');
|
|
58
|
+
if (finalMessage) {
|
|
59
|
+
console.log(finalMessage);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
succeed(message) {
|
|
63
|
+
this.stop(`${pc.green('✓')} ${message}`);
|
|
64
|
+
}
|
|
65
|
+
fail(message) {
|
|
66
|
+
this.stop(`${pc.red('✗')} ${message}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Styled output functions
|
|
70
|
+
export function showLogo() {
|
|
71
|
+
console.log(LOGO);
|
|
72
|
+
}
|
|
73
|
+
export function showCompactLogo() {
|
|
74
|
+
console.log(LOGO_COMPACT);
|
|
75
|
+
}
|
|
76
|
+
export function header(text) {
|
|
77
|
+
console.log(`\n${pc.bold(pc.cyan('▸'))} ${pc.bold(text)}\n`);
|
|
78
|
+
}
|
|
79
|
+
export function success(text) {
|
|
80
|
+
console.log(`${pc.green('✓')} ${text}`);
|
|
81
|
+
}
|
|
82
|
+
export function error(text) {
|
|
83
|
+
console.log(`${pc.red('✗')} ${text}`);
|
|
84
|
+
}
|
|
85
|
+
export function warn(text) {
|
|
86
|
+
console.log(`${pc.yellow('⚠')} ${text}`);
|
|
87
|
+
}
|
|
88
|
+
export function info(text) {
|
|
89
|
+
console.log(`${pc.blue('ℹ')} ${text}`);
|
|
90
|
+
}
|
|
91
|
+
export function step(num, text) {
|
|
92
|
+
console.log(`${pc.dim(`[${num}]`)} ${text}`);
|
|
93
|
+
}
|
|
94
|
+
export function highlight(text) {
|
|
95
|
+
return pc.cyan(text);
|
|
96
|
+
}
|
|
97
|
+
export function dim(text) {
|
|
98
|
+
return pc.dim(text);
|
|
99
|
+
}
|
|
100
|
+
export function bold(text) {
|
|
101
|
+
return pc.bold(text);
|
|
102
|
+
}
|
|
103
|
+
// Animated intro (optional)
|
|
104
|
+
export async function showIntro() {
|
|
105
|
+
console.clear();
|
|
106
|
+
showLogo();
|
|
107
|
+
await sleep(300);
|
|
108
|
+
}
|
|
109
|
+
function sleep(ms) {
|
|
110
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
111
|
+
}
|
|
112
|
+
// Next steps box
|
|
113
|
+
export function showNextSteps(projectName) {
|
|
114
|
+
console.log(`
|
|
115
|
+
${pc.cyan('┌─────────────────────────────────────────────────────────┐')}
|
|
116
|
+
${pc.cyan('│')} ${pc.cyan('│')}
|
|
117
|
+
${pc.cyan('│')} ${pc.green('✨')} ${pc.bold('Your Zenith app is ready!')} ${pc.cyan('│')}
|
|
118
|
+
${pc.cyan('│')} ${pc.cyan('│')}
|
|
119
|
+
${pc.cyan('│')} ${pc.dim('Next steps:')} ${pc.cyan('│')}
|
|
120
|
+
${pc.cyan('│')} ${pc.cyan('│')}
|
|
121
|
+
${pc.cyan('│')} ${pc.cyan('$')} ${pc.bold(`cd ${projectName}`)}${' '.repeat(Math.max(0, 40 - projectName.length))}${pc.cyan('│')}
|
|
122
|
+
${pc.cyan('│')} ${pc.cyan('$')} ${pc.bold('bun run dev')} ${pc.cyan('│')}
|
|
123
|
+
${pc.cyan('│')} ${pc.cyan('│')}
|
|
124
|
+
${pc.cyan('│')} ${pc.dim('Then open')} ${pc.underline(pc.blue('http://localhost:3000'))} ${pc.cyan('│')}
|
|
125
|
+
${pc.cyan('│')} ${pc.cyan('│')}
|
|
126
|
+
${pc.cyan('└─────────────────────────────────────────────────────────┘')}
|
|
127
|
+
`);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Show dev server startup panel
|
|
131
|
+
*/
|
|
132
|
+
export function showServerPanel(options) {
|
|
133
|
+
console.clear();
|
|
134
|
+
console.log(LOGO_COMPACT);
|
|
135
|
+
console.log(`${pc.cyan('────────────────────────────────────────────────────────────')}`);
|
|
136
|
+
console.log(` ${pc.magenta('🟣 Zenith Dev Server')}`);
|
|
137
|
+
console.log(`${pc.cyan('────────────────────────────────────────────────────────────')}`);
|
|
138
|
+
console.log(` ${pc.bold('Project:')} ${pc.dim(options.project)}`);
|
|
139
|
+
console.log(` ${pc.bold('Pages:')} ${pc.dim(options.pages)}`);
|
|
140
|
+
console.log(` ${pc.bold('Mode:')} ${pc.cyan(options.mode)} ${pc.dim(`(${options.hmr ? 'HMR enabled' : 'HMR disabled'})`)}`);
|
|
141
|
+
console.log(`${pc.cyan('────────────────────────────────────────────────────────────')}`);
|
|
142
|
+
console.log(` ${pc.bold('Server:')} ${pc.cyan(pc.underline(options.url))} ${pc.dim('(clickable)')}`);
|
|
143
|
+
console.log(` ${pc.bold('Hot Reload:')} ${options.hmr ? pc.green('Enabled ✅') : pc.red('Disabled ✗')}`);
|
|
144
|
+
console.log(`${pc.cyan('────────────────────────────────────────────────────────────')}`);
|
|
145
|
+
console.log(` ${pc.dim('Press Ctrl+C to stop')}\n`);
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=branding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.js","sourceRoot":"","sources":["../../../cli/utils/branding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Logger Utility
|
|
3
|
+
*
|
|
4
|
+
* Colored console output for CLI feedback
|
|
5
|
+
*/
|
|
6
|
+
export declare function log(message: string): void;
|
|
7
|
+
export declare function success(message: string): void;
|
|
8
|
+
export declare function warn(message: string): void;
|
|
9
|
+
export declare function error(message: string): void;
|
|
10
|
+
export declare function info(message: string): void;
|
|
11
|
+
export declare function header(title: string): void;
|
|
12
|
+
export declare function hmr(type: 'CSS' | 'Page' | 'Layout' | 'Content', path: string): void;
|
|
13
|
+
export declare function route(method: string, path: string, status: number, totalMs: number, compileMs: number, renderMs: number): void;
|
|
14
|
+
export declare function debug(message: string): void;
|
|
15
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../cli/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnF;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS9H;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Logger Utility
|
|
3
|
+
*
|
|
4
|
+
* Colored console output for CLI feedback
|
|
5
|
+
*/
|
|
6
|
+
import pc from 'picocolors';
|
|
7
|
+
export function log(message) {
|
|
8
|
+
console.log(`${pc.cyan('[zenith]')} ${message}`);
|
|
9
|
+
}
|
|
10
|
+
export function success(message) {
|
|
11
|
+
console.log(`${pc.green('✓')} ${message}`);
|
|
12
|
+
}
|
|
13
|
+
export function warn(message) {
|
|
14
|
+
console.log(`${pc.yellow('⚠')} ${message}`);
|
|
15
|
+
}
|
|
16
|
+
export function error(message) {
|
|
17
|
+
console.error(`${pc.red('✗')} ${message}`);
|
|
18
|
+
}
|
|
19
|
+
export function info(message) {
|
|
20
|
+
console.log(`${pc.blue('ℹ')} ${message}`);
|
|
21
|
+
}
|
|
22
|
+
export function header(title) {
|
|
23
|
+
console.log(`\n${pc.bold(pc.cyan(title))}\n`);
|
|
24
|
+
}
|
|
25
|
+
export function hmr(type, path) {
|
|
26
|
+
console.log(`${pc.magenta('[HMR]')} ${pc.bold(type)} updated: ${pc.dim(path)}`);
|
|
27
|
+
}
|
|
28
|
+
export function route(method, path, status, totalMs, compileMs, renderMs) {
|
|
29
|
+
const statusColor = status < 400 ? pc.green : pc.red;
|
|
30
|
+
const timeColor = totalMs > 1000 ? pc.yellow : pc.gray;
|
|
31
|
+
console.log(`${pc.bold(method)} ${pc.cyan(path.padEnd(15))} ` +
|
|
32
|
+
`${statusColor(status)} ${pc.dim('in')} ${timeColor(`${totalMs}ms`)} ` +
|
|
33
|
+
`${pc.dim(`(compile: ${compileMs}ms, render: ${renderMs}ms)`)}`);
|
|
34
|
+
}
|
|
35
|
+
export function debug(message) {
|
|
36
|
+
if (process.env.ZENITH_DEBUG === 'true') {
|
|
37
|
+
console.log(`${pc.gray('[debug]')} ${message}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../cli/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,MAAM,UAAU,GAAG,CAAC,OAAe;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAe;IAChC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAe;IACjC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAe;IAChC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAA2C,EAAE,IAAY;IACzE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc,EAAE,OAAe,EAAE,SAAiB,EAAE,QAAgB;IACpH,MAAM,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA;IACpD,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAA;IAEtD,OAAO,CAAC,GAAG,CACP,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG;QACjD,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG;QACtE,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,SAAS,eAAe,QAAQ,KAAK,CAAC,EAAE,CAClE,CAAA;AACL,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAe;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;IACnD,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Plugin Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages zenith.plugins.json for plugin registration
|
|
5
|
+
*/
|
|
6
|
+
export interface PluginConfig {
|
|
7
|
+
name: string;
|
|
8
|
+
installedAt: string;
|
|
9
|
+
options?: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
export interface PluginsFile {
|
|
12
|
+
plugins: PluginConfig[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Read plugins file
|
|
16
|
+
*/
|
|
17
|
+
export declare function readPlugins(): PluginsFile;
|
|
18
|
+
/**
|
|
19
|
+
* Add a plugin to the registry
|
|
20
|
+
*/
|
|
21
|
+
export declare function addPlugin(name: string, options?: Record<string, unknown>): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Remove a plugin from the registry
|
|
24
|
+
*/
|
|
25
|
+
export declare function removePlugin(name: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* List all registered plugins
|
|
28
|
+
*/
|
|
29
|
+
export declare function listPlugins(): PluginConfig[];
|
|
30
|
+
/**
|
|
31
|
+
* Check if a plugin is registered
|
|
32
|
+
*/
|
|
33
|
+
export declare function hasPlugin(name: string): boolean;
|
|
34
|
+
//# sourceMappingURL=plugin-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../../cli/utils/plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,YAAY,EAAE,CAAA;CAC1B;AAeD;;GAEG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAYzC;AAUD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAkBlF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAclD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Plugin Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages zenith.plugins.json for plugin registration
|
|
5
|
+
*/
|
|
6
|
+
import fs from 'fs';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import { findProjectRoot } from './project';
|
|
9
|
+
import * as logger from './logger';
|
|
10
|
+
const PLUGINS_FILE = 'zenith.plugins.json';
|
|
11
|
+
/**
|
|
12
|
+
* Get path to plugins file
|
|
13
|
+
*/
|
|
14
|
+
function getPluginsPath() {
|
|
15
|
+
const root = findProjectRoot();
|
|
16
|
+
if (!root) {
|
|
17
|
+
throw new Error('Not in a Zenith project');
|
|
18
|
+
}
|
|
19
|
+
return path.join(root, PLUGINS_FILE);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Read plugins file
|
|
23
|
+
*/
|
|
24
|
+
export function readPlugins() {
|
|
25
|
+
const pluginsPath = getPluginsPath();
|
|
26
|
+
if (!fs.existsSync(pluginsPath)) {
|
|
27
|
+
return { plugins: [] };
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
return JSON.parse(fs.readFileSync(pluginsPath, 'utf-8'));
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return { plugins: [] };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Write plugins file
|
|
38
|
+
*/
|
|
39
|
+
function writePlugins(data) {
|
|
40
|
+
const pluginsPath = getPluginsPath();
|
|
41
|
+
fs.writeFileSync(pluginsPath, JSON.stringify(data, null, 2));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Add a plugin to the registry
|
|
45
|
+
*/
|
|
46
|
+
export function addPlugin(name, options) {
|
|
47
|
+
const data = readPlugins();
|
|
48
|
+
// Check if already installed
|
|
49
|
+
if (data.plugins.some(p => p.name === name)) {
|
|
50
|
+
logger.warn(`Plugin "${name}" is already registered`);
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
data.plugins.push({
|
|
54
|
+
name,
|
|
55
|
+
installedAt: new Date().toISOString(),
|
|
56
|
+
options
|
|
57
|
+
});
|
|
58
|
+
writePlugins(data);
|
|
59
|
+
logger.success(`Added plugin "${name}"`);
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Remove a plugin from the registry
|
|
64
|
+
*/
|
|
65
|
+
export function removePlugin(name) {
|
|
66
|
+
const data = readPlugins();
|
|
67
|
+
const initialLength = data.plugins.length;
|
|
68
|
+
data.plugins = data.plugins.filter(p => p.name !== name);
|
|
69
|
+
if (data.plugins.length === initialLength) {
|
|
70
|
+
logger.warn(`Plugin "${name}" is not registered`);
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
writePlugins(data);
|
|
74
|
+
logger.success(`Removed plugin "${name}"`);
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* List all registered plugins
|
|
79
|
+
*/
|
|
80
|
+
export function listPlugins() {
|
|
81
|
+
return readPlugins().plugins;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Check if a plugin is registered
|
|
85
|
+
*/
|
|
86
|
+
export function hasPlugin(name) {
|
|
87
|
+
return readPlugins().plugins.some(p => p.name === name);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=plugin-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../../../cli/utils/plugin-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zenithbuild/cli - Project Utility
|
|
3
|
+
*
|
|
4
|
+
* Detects Zenith project root and configuration
|
|
5
|
+
*/
|
|
6
|
+
export interface ZenithProject {
|
|
7
|
+
root: string;
|
|
8
|
+
pagesDir: string;
|
|
9
|
+
distDir: string;
|
|
10
|
+
hasZenithDeps: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Find the project root by looking for package.json with @zenith dependencies
|
|
14
|
+
*/
|
|
15
|
+
export declare function findProjectRoot(startDir?: string): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Get project configuration
|
|
18
|
+
*/
|
|
19
|
+
export declare function getProject(cwd?: string): ZenithProject | null;
|
|
20
|
+
/**
|
|
21
|
+
* Ensure we're in a Zenith project
|
|
22
|
+
*/
|
|
23
|
+
export declare function requireProject(cwd?: string): ZenithProject;
|
|
24
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../cli/utils/project.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAyB/E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,aAAa,GAAG,IAAI,CAgB5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,aAAa,CAMzE"}
|