hudson 1.0.0 → 1.0.1

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 (66) hide show
  1. package/dist/commands/build.d.ts +9 -0
  2. package/dist/commands/build.d.ts.map +1 -0
  3. package/dist/commands/build.js +145 -0
  4. package/dist/commands/build.js.map +1 -0
  5. package/dist/commands/configure.d.ts +6 -0
  6. package/dist/commands/configure.d.ts.map +1 -0
  7. package/dist/commands/configure.js +67 -0
  8. package/dist/commands/configure.js.map +1 -0
  9. package/dist/commands/dev.d.ts +6 -0
  10. package/dist/commands/dev.d.ts.map +1 -0
  11. package/dist/commands/dev.js +90 -0
  12. package/dist/commands/dev.js.map +1 -0
  13. package/dist/commands/info.d.ts +2 -0
  14. package/dist/commands/info.d.ts.map +1 -0
  15. package/dist/commands/info.js +66 -0
  16. package/dist/commands/info.js.map +1 -0
  17. package/dist/commands/init.d.ts +4 -0
  18. package/dist/commands/init.d.ts.map +1 -0
  19. package/dist/commands/init.js +72 -0
  20. package/dist/commands/init.js.map +1 -0
  21. package/dist/commands/run.d.ts +8 -0
  22. package/dist/commands/run.d.ts.map +1 -0
  23. package/dist/commands/run.js +94 -0
  24. package/dist/commands/run.js.map +1 -0
  25. package/dist/commands/workspaces.d.ts +2 -0
  26. package/dist/commands/workspaces.d.ts.map +1 -0
  27. package/dist/commands/workspaces.js +40 -0
  28. package/dist/commands/workspaces.js.map +1 -0
  29. package/dist/core/config.d.ts +56 -0
  30. package/dist/core/config.d.ts.map +1 -0
  31. package/dist/core/config.js +158 -0
  32. package/dist/core/config.js.map +1 -0
  33. package/dist/core/runner.d.ts +20 -0
  34. package/dist/core/runner.d.ts.map +1 -0
  35. package/dist/core/runner.js +74 -0
  36. package/dist/core/runner.js.map +1 -0
  37. package/dist/core/workspace.d.ts +12 -0
  38. package/dist/core/workspace.d.ts.map +1 -0
  39. package/dist/core/workspace.js +49 -0
  40. package/dist/core/workspace.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +127 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/utils/display.d.ts +28 -0
  46. package/dist/utils/display.d.ts.map +1 -0
  47. package/dist/utils/display.js +62 -0
  48. package/dist/utils/display.js.map +1 -0
  49. package/package.json +1 -1
  50. package/.hudson/hudson.yml +0 -60
  51. package/example/.hudson/hudson.yml +0 -60
  52. package/example/src/index.ts +0 -1
  53. package/example/tsconfig.json +0 -21
  54. package/src/commands/build.ts +0 -187
  55. package/src/commands/configure.ts +0 -85
  56. package/src/commands/dev.ts +0 -114
  57. package/src/commands/info.ts +0 -78
  58. package/src/commands/init.ts +0 -80
  59. package/src/commands/run.ts +0 -114
  60. package/src/commands/workspaces.ts +0 -49
  61. package/src/core/config.ts +0 -214
  62. package/src/core/runner.ts +0 -108
  63. package/src/core/workspace.ts +0 -65
  64. package/src/index.ts +0 -138
  65. package/src/types/gradient-string.d.ts +0 -4
  66. package/src/utils/display.ts +0 -66
@@ -0,0 +1,9 @@
1
+ interface BuildOptions {
2
+ workspace?: string;
3
+ verbose?: boolean;
4
+ clean?: boolean;
5
+ watch?: boolean;
6
+ }
7
+ export declare function buildCommand(options?: BuildOptions): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D5E"}
@@ -0,0 +1,145 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import ora from "ora";
4
+ import chalk from "chalk";
5
+ import { loadConfig } from "../core/config.js";
6
+ import { runCommand, runHook } from "../core/runner.js";
7
+ import { discoverWorkspaces, topologicalSort } from "../core/workspace.js";
8
+ import { log, formatDuration, BANNER } from "../utils/display.js";
9
+ export async function buildCommand(options = {}) {
10
+ const cwd = process.cwd();
11
+ const config = loadConfig(cwd);
12
+ const verbose = options.verbose ?? config.output.verbose;
13
+ if (config.output.banner) {
14
+ console.log(BANNER());
15
+ }
16
+ log.section("Build");
17
+ const start = Date.now();
18
+ // Pre-build hook
19
+ if (config.hooks.preBuild) {
20
+ const ok = await runHook("preBuild", config, cwd);
21
+ if (!ok) {
22
+ log.error("Pre-build hook failed");
23
+ process.exit(1);
24
+ }
25
+ }
26
+ // Clean output directory
27
+ const shouldClean = options.clean ?? config.build.clean;
28
+ if (shouldClean) {
29
+ const outDir = path.join(cwd, config.build.outDir);
30
+ if (fs.existsSync(outDir)) {
31
+ const spinner = ora({ text: chalk.dim("Cleaning output directory..."), prefixText: " " }).start();
32
+ fs.rmSync(outDir, { recursive: true, force: true });
33
+ spinner.succeed(chalk.dim("Cleaned " + chalk.cyan(config.build.outDir)));
34
+ }
35
+ }
36
+ if (config.workspaces.enabled && !options.workspace) {
37
+ await buildWorkspaces(config, cwd, verbose);
38
+ }
39
+ else if (options.workspace) {
40
+ const workspaces = await discoverWorkspaces(config, cwd);
41
+ const ws = workspaces.find((w) => w.name === options.workspace);
42
+ if (!ws) {
43
+ log.error(`Workspace '${options.workspace}' not found`);
44
+ process.exit(1);
45
+ }
46
+ await buildSingleWorkspace(ws, config, verbose);
47
+ }
48
+ else {
49
+ await buildProject(config, cwd, verbose, options.watch);
50
+ }
51
+ // Post-build hook
52
+ if (config.hooks.postBuild) {
53
+ await runHook("postBuild", config, cwd);
54
+ }
55
+ const duration = Date.now() - start;
56
+ log.blank();
57
+ log.success(`Build complete ${chalk.dim("in")} ${chalk.cyan(formatDuration(duration))}`);
58
+ log.blank();
59
+ }
60
+ async function buildProject(config, cwd, verbose, watch = false) {
61
+ const tsconfig = path.join(cwd, config.build.tsconfig);
62
+ if (!fs.existsSync(tsconfig)) {
63
+ log.error(`tsconfig not found: ${config.build.tsconfig}`);
64
+ process.exit(1);
65
+ }
66
+ const args = ["-p", config.build.tsconfig];
67
+ if (watch)
68
+ args.push("--watch");
69
+ if (config.build.sourcemap)
70
+ args.push("--sourceMap");
71
+ const spinner = ora({
72
+ text: watch ? chalk.dim("Watching for changes...") : chalk.dim("Compiling TypeScript..."),
73
+ prefixText: " ",
74
+ }).start();
75
+ const result = await runCommand("tsc", args, { cwd, verbose });
76
+ if (result.exitCode === 0) {
77
+ spinner.succeed(chalk.white("TypeScript compiled") + chalk.dim(` ${formatDuration(result.duration)}`));
78
+ if (verbose && result.stdout) {
79
+ result.stdout.split("\n").filter(Boolean).forEach((l) => log.dim(l));
80
+ }
81
+ }
82
+ else {
83
+ spinner.fail(chalk.red("TypeScript compilation failed"));
84
+ if (result.stderr) {
85
+ log.blank();
86
+ result.stderr.split("\n").filter(Boolean).forEach((l) => {
87
+ console.log(` ${chalk.red(l)}`);
88
+ });
89
+ }
90
+ process.exit(1);
91
+ }
92
+ }
93
+ async function buildWorkspaces(config, cwd, verbose) {
94
+ const workspaces = await discoverWorkspaces(config, cwd);
95
+ if (workspaces.length === 0) {
96
+ log.warn("No workspaces found. Check your workspaces.packages config.");
97
+ return;
98
+ }
99
+ const sorted = topologicalSort(workspaces);
100
+ log.step(`Found ${chalk.cyan(sorted.length)} workspace${sorted.length !== 1 ? "s" : ""}`);
101
+ log.blank();
102
+ if (config.workspaces.parallel) {
103
+ const chunks = [];
104
+ const batchSize = config.workspaces.maxConcurrency;
105
+ for (let i = 0; i < sorted.length; i += batchSize) {
106
+ chunks.push(sorted.slice(i, i + batchSize));
107
+ }
108
+ for (const chunk of chunks) {
109
+ await Promise.all(chunk.map((ws) => buildSingleWorkspace(ws, config, verbose)));
110
+ }
111
+ }
112
+ else {
113
+ for (const ws of sorted) {
114
+ await buildSingleWorkspace(ws, config, verbose);
115
+ }
116
+ }
117
+ }
118
+ async function buildSingleWorkspace(ws, config, verbose) {
119
+ const buildScript = ws.scripts["build"];
120
+ if (!buildScript) {
121
+ log.warn(` ${chalk.cyan(ws.name)} has no build script, skipping`);
122
+ return;
123
+ }
124
+ const spinner = ora({
125
+ text: chalk.dim(`Building ${chalk.cyan(ws.name)}...`),
126
+ prefixText: " ",
127
+ }).start();
128
+ const parts = buildScript.split(" ");
129
+ const result = await runCommand(parts[0], parts.slice(1), {
130
+ cwd: ws.path,
131
+ verbose,
132
+ });
133
+ if (result.exitCode === 0) {
134
+ spinner.succeed(`${chalk.cyan(ws.name)} ${chalk.dim("built")} ${chalk.dim(formatDuration(result.duration))}`);
135
+ }
136
+ else {
137
+ spinner.fail(`${chalk.red(ws.name)} ${chalk.red("failed")}`);
138
+ if (result.stderr) {
139
+ result.stderr.split("\n").filter(Boolean).forEach((l) => {
140
+ console.log(` ${chalk.dim(l)}`);
141
+ });
142
+ }
143
+ }
144
+ }
145
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function configureCommand(key?: string, value?: string, options?: {
2
+ list?: boolean;
3
+ reset?: boolean;
4
+ get?: string;
5
+ }): Promise<void>;
6
+ //# sourceMappingURL=configure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"AAIA,wBAAsB,gBAAgB,CACpC,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9D,OAAO,CAAC,IAAI,CAAC,CAqCf"}
@@ -0,0 +1,67 @@
1
+ import chalk from "chalk";
2
+ import { loadConfig, setConfigValue, getConfigValue, saveConfig } from "../core/config.js";
3
+ import { log } from "../utils/display.js";
4
+ export async function configureCommand(key, value, options = {}) {
5
+ const cwd = process.cwd();
6
+ if (options.list) {
7
+ await listConfig(cwd);
8
+ return;
9
+ }
10
+ if (options.reset) {
11
+ const { DEFAULT_CONFIG } = await import("../core/config.js");
12
+ saveConfig(DEFAULT_CONFIG, cwd);
13
+ log.success("Config reset to defaults");
14
+ return;
15
+ }
16
+ if (options.get) {
17
+ const val = getConfigValue(options.get, cwd);
18
+ if (val === undefined) {
19
+ log.error(`Config key '${options.get}' not found`);
20
+ process.exit(1);
21
+ }
22
+ console.log(` ${chalk.cyan(options.get)} ${chalk.dim("=")} ${chalk.white(String(val))}`);
23
+ return;
24
+ }
25
+ if (!key || value === undefined) {
26
+ log.error("Usage: hudson configure <key> <value>");
27
+ log.dim("Example: hudson configure build.outDir dist");
28
+ log.dim(" hudson configure output.verbose true");
29
+ log.dim(" hudson configure packageManager pnpm");
30
+ log.blank();
31
+ log.step(`List all keys: ${chalk.cyan("hudson configure --list")}`);
32
+ process.exit(1);
33
+ }
34
+ setConfigValue(key, value, cwd);
35
+ log.success(`Set ${chalk.cyan(key)} ${chalk.dim("→")} ${chalk.white(value)}`);
36
+ }
37
+ async function listConfig(cwd) {
38
+ const config = loadConfig(cwd);
39
+ log.section("Configuration");
40
+ printObject(config, "", 0);
41
+ log.blank();
42
+ log.dim(`Config file: ${chalk.cyan(".hudson/hudson.yml")}`);
43
+ }
44
+ function printObject(obj, prefix, depth) {
45
+ if (typeof obj !== "object" || obj === null)
46
+ return;
47
+ const indent = " ".repeat(depth + 1);
48
+ for (const [key, value] of Object.entries(obj)) {
49
+ const fullKey = prefix ? `${prefix}.${key}` : key;
50
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) {
51
+ console.log(`${indent}${chalk.dim(key + ":")}`);
52
+ printObject(value, fullKey, depth + 1);
53
+ }
54
+ else if (Array.isArray(value)) {
55
+ console.log(`${indent}${chalk.hex("#4FC3F7")(fullKey)} ${chalk.dim("=")} ${chalk.yellow(JSON.stringify(value))}`);
56
+ }
57
+ else {
58
+ const displayValue = typeof value === "boolean"
59
+ ? value
60
+ ? chalk.green(String(value))
61
+ : chalk.red(String(value))
62
+ : chalk.white(String(value));
63
+ console.log(`${indent}${chalk.hex("#4FC3F7")(fullKey)} ${chalk.dim("=")} ${displayValue}`);
64
+ }
65
+ }
66
+ }
67
+ //# sourceMappingURL=configure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface DevOptions {
2
+ verbose?: boolean;
3
+ }
4
+ export declare function devCommand(options?: DevOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAOA,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGxE"}
@@ -0,0 +1,90 @@
1
+ import chalk from "chalk";
2
+ import chokidar from "chokidar";
3
+ import { loadConfig } from "../core/config.js";
4
+ import { runCommand } from "../core/runner.js";
5
+ import { log, BANNER, formatDuration } from "../utils/display.js";
6
+ import ora from "ora";
7
+ export async function devCommand(options = {}) {
8
+ const cwd = process.cwd();
9
+ const config = loadConfig(cwd);
10
+ const verbose = options.verbose ?? config.output.verbose;
11
+ if (config.output.banner) {
12
+ console.log(BANNER());
13
+ }
14
+ log.section("Dev Mode");
15
+ log.step(`Watching ${chalk.cyan("src/**/*.ts")} for changes...`);
16
+ log.dim("Press Ctrl+C to stop");
17
+ log.blank();
18
+ let building = false;
19
+ let queued = false;
20
+ async function build() {
21
+ if (building) {
22
+ queued = true;
23
+ return;
24
+ }
25
+ building = true;
26
+ const start = Date.now();
27
+ const spinner = ora({
28
+ text: chalk.dim("Compiling..."),
29
+ prefixText: " ",
30
+ }).start();
31
+ const result = await runCommand("tsc", ["-p", config.build.tsconfig, "--noEmitOnError"], {
32
+ cwd,
33
+ verbose,
34
+ });
35
+ const duration = Date.now() - start;
36
+ if (result.exitCode === 0) {
37
+ const time = new Date().toLocaleTimeString("en-US", { hour12: false });
38
+ spinner.succeed(`${chalk.dim(time)} Compiled ${chalk.dim("in")} ${chalk.cyan(formatDuration(duration))}`);
39
+ }
40
+ else {
41
+ const time = new Date().toLocaleTimeString("en-US", { hour12: false });
42
+ spinner.fail(`${chalk.dim(time)} ${chalk.red("Compile error")}`);
43
+ if (result.stderr) {
44
+ log.blank();
45
+ result.stderr
46
+ .split("\n")
47
+ .filter(Boolean)
48
+ .slice(0, 10)
49
+ .forEach((l) => {
50
+ console.log(` ${chalk.red("·")} ${chalk.dim(l)}`);
51
+ });
52
+ log.blank();
53
+ }
54
+ }
55
+ building = false;
56
+ if (queued) {
57
+ queued = false;
58
+ await build();
59
+ }
60
+ }
61
+ // Initial build
62
+ await build();
63
+ // Watch for changes
64
+ const watcher = chokidar.watch("src/**/*.ts", {
65
+ cwd,
66
+ ignoreInitial: true,
67
+ persistent: true,
68
+ });
69
+ watcher.on("change", (file) => {
70
+ log.step(`Changed: ${chalk.cyan(file)}`);
71
+ build();
72
+ });
73
+ watcher.on("add", (file) => {
74
+ log.step(`Added: ${chalk.cyan(file)}`);
75
+ build();
76
+ });
77
+ watcher.on("unlink", (file) => {
78
+ log.step(`Removed: ${chalk.cyan(file)}`);
79
+ build();
80
+ });
81
+ process.on("SIGINT", () => {
82
+ log.blank();
83
+ log.info("Stopping dev mode...");
84
+ watcher.close();
85
+ process.exit(0);
86
+ });
87
+ // Keep alive
88
+ await new Promise(() => { });
89
+ }
90
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function infoCommand(): Promise<void>;
2
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkEjD"}
@@ -0,0 +1,66 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import chalk from "chalk";
4
+ import { loadConfig, getConfigPath } from "../core/config.js";
5
+ import { discoverWorkspaces } from "../core/workspace.js";
6
+ import { log, MASCOT_FULL, BANNER } from "../utils/display.js";
7
+ export async function infoCommand() {
8
+ const cwd = process.cwd();
9
+ const config = loadConfig(cwd);
10
+ console.log(BANNER());
11
+ console.log(MASCOT_FULL);
12
+ log.section("Project");
13
+ console.log(` ${chalk.dim("Name")} ${chalk.white(config.project.name)}`);
14
+ console.log(` ${chalk.dim("Version")} ${chalk.cyan(config.project.version)}`);
15
+ if (config.project.description) {
16
+ console.log(` ${chalk.dim("Description")} ${chalk.dim(config.project.description)}`);
17
+ }
18
+ console.log(` ${chalk.dim("Pkg Manager")} ${chalk.cyan(config.packageManager)}`);
19
+ log.section("Build");
20
+ console.log(` ${chalk.dim("Output Dir")} ${chalk.cyan(config.build.outDir)}`);
21
+ console.log(` ${chalk.dim("tsconfig")} ${chalk.cyan(config.build.tsconfig)}`);
22
+ console.log(` ${chalk.dim("Target")} ${chalk.cyan(config.build.target)}`);
23
+ console.log(` ${chalk.dim("Sourcemap")} ${boolDisplay(config.build.sourcemap)}`);
24
+ console.log(` ${chalk.dim("Minify")} ${boolDisplay(config.build.minify)}`);
25
+ console.log(` ${chalk.dim("Clean")} ${boolDisplay(config.build.clean)}`);
26
+ if (config.workspaces.enabled) {
27
+ log.section("Workspaces");
28
+ const workspaces = await discoverWorkspaces(config, cwd);
29
+ console.log(` ${chalk.dim("Packages")} ${chalk.cyan(workspaces.length)} found`);
30
+ console.log(` ${chalk.dim("Parallel")} ${boolDisplay(config.workspaces.parallel)}`);
31
+ console.log(` ${chalk.dim("Concurrency")} ${chalk.cyan(config.workspaces.maxConcurrency)}`);
32
+ if (workspaces.length > 0) {
33
+ log.blank();
34
+ workspaces.forEach((ws) => {
35
+ const hasTs = fs.existsSync(path.join(ws.path, "tsconfig.json"));
36
+ console.log(` ${chalk.dim("·")} ${chalk.cyan(ws.name)} ${chalk.dim("v" + ws.version)} ${hasTs ? chalk.green("[ts]") : ""}`);
37
+ });
38
+ }
39
+ }
40
+ if (Object.keys(config.scripts).length > 0) {
41
+ log.section("Scripts");
42
+ for (const [name, script] of Object.entries(config.scripts)) {
43
+ console.log(` ${chalk.cyan(name.padEnd(12))} ${chalk.dim(script)}`);
44
+ }
45
+ }
46
+ if (Object.values(config.hooks).some(Boolean)) {
47
+ log.section("Hooks");
48
+ for (const [name, hook] of Object.entries(config.hooks)) {
49
+ if (hook) {
50
+ console.log(` ${chalk.cyan(name.padEnd(12))} ${chalk.dim(hook)}`);
51
+ }
52
+ }
53
+ }
54
+ log.section("Output Settings");
55
+ console.log(` ${chalk.dim("Verbose")} ${boolDisplay(config.output.verbose)}`);
56
+ console.log(` ${chalk.dim("Timestamps")} ${boolDisplay(config.output.timestamps)}`);
57
+ console.log(` ${chalk.dim("Color")} ${boolDisplay(config.output.color)}`);
58
+ console.log(` ${chalk.dim("Banner")} ${boolDisplay(config.output.banner)}`);
59
+ log.blank();
60
+ log.dim(`Config: ${chalk.cyan(getConfigPath(cwd))}`);
61
+ log.blank();
62
+ }
63
+ function boolDisplay(val) {
64
+ return val ? chalk.green("true") : chalk.red("false");
65
+ }
66
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function initCommand(options?: {
2
+ force?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyElF"}
@@ -0,0 +1,72 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { saveConfig, DEFAULT_CONFIG, ensureHudsonDirs, getConfigPath } from "../core/config.js";
4
+ import { log, BANNER, MASCOT_FULL } from "../utils/display.js";
5
+ import chalk from "chalk";
6
+ export async function initCommand(options = {}) {
7
+ const cwd = process.cwd();
8
+ const configPath = getConfigPath(cwd);
9
+ if (process.stdout.isTTY) {
10
+ console.log(BANNER());
11
+ console.log(MASCOT_FULL);
12
+ }
13
+ if (fs.existsSync(configPath) && !options.force) {
14
+ log.warn("Hudson is already initialized in this directory.");
15
+ log.dim(`Config: ${chalk.cyan(configPath)}`);
16
+ log.dim(`Use ${chalk.cyan("--force")} to reinitialize.`);
17
+ return;
18
+ }
19
+ let projectName = path.basename(cwd);
20
+ let packageManager = "pnpm";
21
+ const pkgJsonPath = path.join(cwd, "package.json");
22
+ if (fs.existsSync(pkgJsonPath)) {
23
+ try {
24
+ const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
25
+ if (pkg.name)
26
+ projectName = pkg.name;
27
+ }
28
+ catch { }
29
+ }
30
+ // Detect package manager
31
+ if (fs.existsSync(path.join(cwd, "pnpm-lock.yaml")))
32
+ packageManager = "pnpm";
33
+ else if (fs.existsSync(path.join(cwd, "yarn.lock")))
34
+ packageManager = "yarn";
35
+ ensureHudsonDirs(cwd);
36
+ const config = {
37
+ ...DEFAULT_CONFIG,
38
+ project: {
39
+ ...DEFAULT_CONFIG.project,
40
+ name: projectName,
41
+ },
42
+ packageManager,
43
+ workspaces: {
44
+ ...DEFAULT_CONFIG.workspaces,
45
+ enabled: fs.existsSync(path.join(cwd, "packages")) || fs.existsSync(path.join(cwd, "apps")),
46
+ },
47
+ };
48
+ saveConfig(config, cwd);
49
+ // Create .gitignore entry for .hudson/temp
50
+ const gitignorePath = path.join(cwd, ".gitignore");
51
+ const hudsonGitignore = "\n# Hudson Build System\n.hudson/temp/\n";
52
+ if (fs.existsSync(gitignorePath)) {
53
+ const content = fs.readFileSync(gitignorePath, "utf-8");
54
+ if (!content.includes(".hudson/temp")) {
55
+ fs.appendFileSync(gitignorePath, hudsonGitignore);
56
+ }
57
+ }
58
+ log.blank();
59
+ log.success(chalk.bold("Hudson initialized successfully!"));
60
+ log.blank();
61
+ console.log(` ${chalk.dim("Project")} ${chalk.cyan(projectName)}`);
62
+ console.log(` ${chalk.dim("Config")} ${chalk.cyan(".hudson/hudson.yml")}`);
63
+ console.log(` ${chalk.dim("Pkg manager")} ${chalk.cyan(packageManager)}`);
64
+ console.log(` ${chalk.dim("Workspaces")} ${chalk.cyan(config.workspaces.enabled ? "enabled" : "disabled")}`);
65
+ log.blank();
66
+ log.section("Next steps");
67
+ log.step(`Edit your config: ${chalk.cyan(".hudson/hudson.yml")}`);
68
+ log.step(`Or configure via: ${chalk.cyan("hudson configure build.outDir dist")}`);
69
+ log.step(`Build your project: ${chalk.cyan("hudson build")}`);
70
+ log.blank();
71
+ }
72
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface RunOptions {
2
+ workspace?: string;
3
+ all?: boolean;
4
+ verbose?: boolean;
5
+ }
6
+ export declare function runScriptCommand(scriptName: string, options?: RunOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAOA,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGlG"}