@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.
Files changed (129) hide show
  1. package/bin/zenith.js +1 -1
  2. package/cli/commands/build.ts +1 -1
  3. package/cli/commands/dev.ts +11 -7
  4. package/dist/bin/zen-build.d.ts +2 -0
  5. package/dist/bin/zen-build.d.ts.map +1 -0
  6. package/dist/bin/zen-build.js +3 -0
  7. package/dist/bin/zen-build.js.map +1 -0
  8. package/dist/bin/zen-dev.d.ts +2 -0
  9. package/dist/bin/zen-dev.d.ts.map +1 -0
  10. package/dist/bin/zen-dev.js +3 -0
  11. package/dist/bin/zen-dev.js.map +1 -0
  12. package/dist/bin/zen-preview.d.ts +2 -0
  13. package/dist/bin/zen-preview.d.ts.map +1 -0
  14. package/dist/bin/zen-preview.js +3 -0
  15. package/dist/bin/zen-preview.js.map +1 -0
  16. package/dist/bin/zenith.d.ts +2 -0
  17. package/dist/bin/zenith.d.ts.map +1 -0
  18. package/dist/bin/zenith.js +3 -0
  19. package/dist/bin/zenith.js.map +1 -0
  20. package/dist/cli/commands/add.d.ts +10 -0
  21. package/dist/cli/commands/add.d.ts.map +1 -0
  22. package/dist/cli/commands/add.js +27 -0
  23. package/dist/cli/commands/add.js.map +1 -0
  24. package/dist/cli/commands/build.d.ts +10 -0
  25. package/dist/cli/commands/build.d.ts.map +1 -0
  26. package/dist/cli/commands/build.js +29 -0
  27. package/dist/cli/commands/build.js.map +1 -0
  28. package/dist/cli/commands/create.d.ts +11 -0
  29. package/dist/cli/commands/create.d.ts.map +1 -0
  30. package/dist/cli/commands/create.js +625 -0
  31. package/dist/cli/commands/create.js.map +1 -0
  32. package/dist/cli/commands/dev.d.ts +24 -0
  33. package/dist/cli/commands/dev.d.ts.map +1 -0
  34. package/dist/cli/commands/dev.js +402 -0
  35. package/dist/cli/commands/dev.js.map +1 -0
  36. package/dist/cli/commands/index.d.ts +16 -0
  37. package/dist/cli/commands/index.d.ts.map +1 -0
  38. package/dist/cli/commands/index.js +101 -0
  39. package/dist/cli/commands/index.js.map +1 -0
  40. package/dist/cli/commands/preview.d.ts +10 -0
  41. package/dist/cli/commands/preview.d.ts.map +1 -0
  42. package/dist/cli/commands/preview.js +49 -0
  43. package/dist/cli/commands/preview.js.map +1 -0
  44. package/dist/cli/commands/remove.d.ts +7 -0
  45. package/dist/cli/commands/remove.d.ts.map +1 -0
  46. package/dist/cli/commands/remove.js +27 -0
  47. package/dist/cli/commands/remove.js.map +1 -0
  48. package/dist/cli/main.d.ts +11 -0
  49. package/dist/cli/main.d.ts.map +1 -0
  50. package/dist/cli/main.js +88 -0
  51. package/dist/cli/main.js.map +1 -0
  52. package/dist/cli/utils/branding.d.ts +51 -0
  53. package/dist/cli/utils/branding.d.ts.map +1 -0
  54. package/dist/cli/utils/branding.js +147 -0
  55. package/dist/cli/utils/branding.js.map +1 -0
  56. package/dist/cli/utils/logger.d.ts +15 -0
  57. package/dist/cli/utils/logger.d.ts.map +1 -0
  58. package/dist/cli/utils/logger.js +40 -0
  59. package/dist/cli/utils/logger.js.map +1 -0
  60. package/dist/cli/utils/plugin-manager.d.ts +34 -0
  61. package/dist/cli/utils/plugin-manager.d.ts.map +1 -0
  62. package/dist/cli/utils/plugin-manager.js +89 -0
  63. package/dist/cli/utils/plugin-manager.js.map +1 -0
  64. package/dist/cli/utils/project.d.ts +24 -0
  65. package/dist/cli/utils/project.d.ts.map +1 -0
  66. package/dist/cli/utils/project.js +62 -0
  67. package/dist/cli/utils/project.js.map +1 -0
  68. package/dist/core/components/index.d.ts +10 -0
  69. package/dist/core/components/index.d.ts.map +1 -0
  70. package/dist/core/components/index.js +14 -0
  71. package/dist/core/components/index.js.map +1 -0
  72. package/dist/core/config.d.ts +2 -0
  73. package/dist/core/config.d.ts.map +1 -0
  74. package/dist/core/config.js +2 -0
  75. package/dist/core/config.js.map +1 -0
  76. package/dist/core/index.d.ts +63 -0
  77. package/dist/core/index.d.ts.map +1 -0
  78. package/dist/core/index.js +78 -0
  79. package/dist/core/index.js.map +1 -0
  80. package/dist/core/lifecycle/index.d.ts +17 -0
  81. package/dist/core/lifecycle/index.d.ts.map +1 -0
  82. package/dist/core/lifecycle/index.js +20 -0
  83. package/dist/core/lifecycle/index.js.map +1 -0
  84. package/dist/core/lifecycle/zen-mount.d.ts +67 -0
  85. package/dist/core/lifecycle/zen-mount.d.ts.map +1 -0
  86. package/dist/core/lifecycle/zen-mount.js +152 -0
  87. package/dist/core/lifecycle/zen-mount.js.map +1 -0
  88. package/dist/core/lifecycle/zen-unmount.d.ts +55 -0
  89. package/dist/core/lifecycle/zen-unmount.d.ts.map +1 -0
  90. package/dist/core/lifecycle/zen-unmount.js +77 -0
  91. package/dist/core/lifecycle/zen-unmount.js.map +1 -0
  92. package/dist/core/reactivity/index.d.ts +31 -0
  93. package/dist/core/reactivity/index.d.ts.map +1 -0
  94. package/dist/core/reactivity/index.js +34 -0
  95. package/dist/core/reactivity/index.js.map +1 -0
  96. package/dist/core/reactivity/tracking.d.ts +75 -0
  97. package/dist/core/reactivity/tracking.d.ts.map +1 -0
  98. package/dist/core/reactivity/tracking.js +137 -0
  99. package/dist/core/reactivity/tracking.js.map +1 -0
  100. package/dist/core/reactivity/zen-batch.d.ts +46 -0
  101. package/dist/core/reactivity/zen-batch.d.ts.map +1 -0
  102. package/dist/core/reactivity/zen-batch.js +55 -0
  103. package/dist/core/reactivity/zen-batch.js.map +1 -0
  104. package/dist/core/reactivity/zen-effect.d.ts +49 -0
  105. package/dist/core/reactivity/zen-effect.d.ts.map +1 -0
  106. package/dist/core/reactivity/zen-effect.js +99 -0
  107. package/dist/core/reactivity/zen-effect.js.map +1 -0
  108. package/dist/core/reactivity/zen-memo.d.ts +44 -0
  109. package/dist/core/reactivity/zen-memo.d.ts.map +1 -0
  110. package/dist/core/reactivity/zen-memo.js +101 -0
  111. package/dist/core/reactivity/zen-memo.js.map +1 -0
  112. package/dist/core/reactivity/zen-ref.d.ts +45 -0
  113. package/dist/core/reactivity/zen-ref.d.ts.map +1 -0
  114. package/dist/core/reactivity/zen-ref.js +35 -0
  115. package/dist/core/reactivity/zen-ref.js.map +1 -0
  116. package/dist/core/reactivity/zen-signal.d.ts +49 -0
  117. package/dist/core/reactivity/zen-signal.d.ts.map +1 -0
  118. package/dist/core/reactivity/zen-signal.js +85 -0
  119. package/dist/core/reactivity/zen-signal.js.map +1 -0
  120. package/dist/core/reactivity/zen-state.d.ts +36 -0
  121. package/dist/core/reactivity/zen-state.d.ts.map +1 -0
  122. package/dist/core/reactivity/zen-state.js +148 -0
  123. package/dist/core/reactivity/zen-state.js.map +1 -0
  124. package/dist/core/reactivity/zen-untrack.d.ts +39 -0
  125. package/dist/core/reactivity/zen-untrack.d.ts.map +1 -0
  126. package/dist/core/reactivity/zen-untrack.js +42 -0
  127. package/dist/core/reactivity/zen-untrack.js.map +1 -0
  128. package/package.json +17 -14
  129. 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"}
@@ -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"}