@thebushidocollective/han 1.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import { strictEqual } from "node:assert";
2
- import { execSync, } from "node:child_process";
3
- import { mkdirSync, rmSync, writeFileSync } from "node:fs";
4
- import { dirname, join } from "node:path";
5
- import { fileURLToPath } from "node:url";
1
+ import { strictEqual } from 'node:assert';
2
+ import { execSync, } from 'node:child_process';
3
+ import { mkdirSync, rmSync, writeFileSync } from 'node:fs';
4
+ import { dirname, join } from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
6
  // Get __dirname equivalent in ES modules
7
7
  const __filename = fileURLToPath(import.meta.url);
8
8
  const __dirname = dirname(__filename);
9
9
  // Test runs from dist/test, so go up to dist, then to lib/main.js
10
- const binPath = join(__dirname, "..", "lib", "main.js");
10
+ const binPath = join(__dirname, '..', 'lib', 'main.js');
11
11
  function setup() {
12
- const testDir = join(__dirname, "fixtures");
12
+ const testDir = join(__dirname, 'fixtures');
13
13
  rmSync(testDir, { recursive: true, force: true });
14
14
  mkdirSync(testDir, { recursive: true });
15
15
  return testDir;
16
16
  }
17
17
  function teardown() {
18
- const testDir = join(__dirname, "fixtures");
18
+ const testDir = join(__dirname, 'fixtures');
19
19
  rmSync(testDir, { recursive: true, force: true });
20
20
  }
21
21
  function test(name, fn) {
@@ -30,90 +30,90 @@ function test(name, fn) {
30
30
  }
31
31
  }
32
32
  // Test: shows help when no command provided
33
- test("shows help when no command provided", () => {
33
+ test('shows help when no command provided', () => {
34
34
  try {
35
- execSync(`node ${binPath} --help`, { encoding: "utf8" });
35
+ execSync(`node ${binPath} --help`, { encoding: 'utf8' });
36
36
  // Help command should exit with 0
37
37
  }
38
38
  catch (error) {
39
39
  const execError = error;
40
- const stdout = execError.message || "";
41
- strictEqual(stdout.includes("Usage:") || stdout.includes("han"), true);
40
+ const stdout = execError.message || '';
41
+ strictEqual(stdout.includes('Usage:') || stdout.includes('han'), true);
42
42
  }
43
43
  });
44
44
  // Test: shows error when validate has no command argument
45
- test("shows error when validate has no command argument", () => {
45
+ test('shows error when validate has no command argument', () => {
46
46
  try {
47
- execSync(`node ${binPath} validate`, { encoding: "utf8" });
48
- throw new Error("Should have failed");
47
+ execSync(`node ${binPath} validate`, { encoding: 'utf8' });
48
+ throw new Error('Should have failed');
49
49
  }
50
50
  catch (error) {
51
51
  const execError = error;
52
52
  strictEqual(execError.status, 1);
53
- const stderr = execError.stderr?.toString() || "";
54
- strictEqual(stderr.includes("missing required argument") ||
55
- stderr.includes("error") ||
53
+ const stderr = execError.stderr?.toString() || '';
54
+ strictEqual(stderr.includes('missing required argument') ||
55
+ stderr.includes('error') ||
56
56
  stderr.length > 0, true);
57
57
  }
58
58
  });
59
59
  // Test: passes when no directories match filter
60
- test("passes when no directories match filter", () => {
60
+ test('passes when no directories match filter', () => {
61
61
  const testDir = setup();
62
62
  try {
63
- const output = execSync(`node ${binPath} validate --dirs-with nonexistent.txt echo test`, { cwd: testDir, encoding: "utf8" });
64
- strictEqual(output.includes("No directories found with nonexistent.txt"), true);
63
+ const output = execSync(`node ${binPath} validate --dirs-with nonexistent.txt echo test`, { cwd: testDir, encoding: 'utf8' });
64
+ strictEqual(output.includes('No directories found with nonexistent.txt'), true);
65
65
  }
66
66
  finally {
67
67
  teardown();
68
68
  }
69
69
  });
70
70
  // Test: runs command in matching directories
71
- test("runs command in matching directories", () => {
71
+ test('runs command in matching directories', () => {
72
72
  const testDir = setup();
73
73
  try {
74
74
  // Create test structure
75
- mkdirSync(join(testDir, "pkg1"));
76
- mkdirSync(join(testDir, "pkg2"));
77
- writeFileSync(join(testDir, "pkg1", "package.json"), "{}");
78
- writeFileSync(join(testDir, "pkg2", "package.json"), "{}");
75
+ mkdirSync(join(testDir, 'pkg1'));
76
+ mkdirSync(join(testDir, 'pkg2'));
77
+ writeFileSync(join(testDir, 'pkg1', 'package.json'), '{}');
78
+ writeFileSync(join(testDir, 'pkg2', 'package.json'), '{}');
79
79
  // Initialize git repo so directories are discovered
80
- execSync("git init", { cwd: testDir });
81
- execSync("git add .", { cwd: testDir });
80
+ execSync('git init', { cwd: testDir });
81
+ execSync('git add .', { cwd: testDir });
82
82
  const output = execSync(`node ${binPath} validate --dirs-with package.json echo success`, {
83
83
  cwd: testDir,
84
- encoding: "utf8",
85
- stdio: ["pipe", "pipe", "pipe"],
84
+ encoding: 'utf8',
85
+ stdio: ['pipe', 'pipe', 'pipe'],
86
86
  });
87
- strictEqual(output.includes("success"), true);
88
- strictEqual(output.includes("passed validation"), true);
87
+ strictEqual(output.includes('success'), true);
88
+ strictEqual(output.includes('passed validation'), true);
89
89
  }
90
90
  finally {
91
91
  teardown();
92
92
  }
93
93
  });
94
94
  // Test: fails with exit code 2 when command fails
95
- test("fails with exit code 2 when command fails", () => {
95
+ test('fails with exit code 2 when command fails', () => {
96
96
  const testDir = setup();
97
97
  try {
98
- mkdirSync(join(testDir, "pkg1"));
99
- writeFileSync(join(testDir, "pkg1", "package.json"), "{}");
98
+ mkdirSync(join(testDir, 'pkg1'));
99
+ writeFileSync(join(testDir, 'pkg1', 'package.json'), '{}');
100
100
  // Initialize git repo
101
- execSync("git init", { cwd: testDir });
102
- execSync("git add .", { cwd: testDir });
101
+ execSync('git init', { cwd: testDir });
102
+ execSync('git add .', { cwd: testDir });
103
103
  try {
104
104
  execSync(`node ${binPath} validate --dirs-with package.json exit 1`, {
105
105
  cwd: testDir,
106
- encoding: "utf8",
107
- stdio: "pipe",
106
+ encoding: 'utf8',
107
+ stdio: 'pipe',
108
108
  });
109
- throw new Error("Should have failed");
109
+ throw new Error('Should have failed');
110
110
  }
111
111
  catch (error) {
112
112
  const execError = error;
113
113
  const exitCode = execError.status || execError.code;
114
114
  strictEqual(exitCode, 2, `Expected exit code 2, got ${exitCode}`);
115
- const stderr = execError.stderr?.toString() || "";
116
- strictEqual(stderr.includes("failed validation") || stderr.includes("Failed when"), true);
115
+ const stderr = execError.stderr?.toString() || '';
116
+ strictEqual(stderr.includes('failed validation') || stderr.includes('Failed when'), true);
117
117
  }
118
118
  }
119
119
  finally {
@@ -121,31 +121,31 @@ test("fails with exit code 2 when command fails", () => {
121
121
  }
122
122
  });
123
123
  // Test: stops on first failure with --fail-fast
124
- test("stops on first failure with --fail-fast", () => {
124
+ test('stops on first failure with --fail-fast', () => {
125
125
  const testDir = setup();
126
126
  try {
127
- mkdirSync(join(testDir, "pkg1"));
128
- mkdirSync(join(testDir, "pkg2"));
129
- writeFileSync(join(testDir, "pkg1", "package.json"), "{}");
130
- writeFileSync(join(testDir, "pkg2", "package.json"), "{}");
127
+ mkdirSync(join(testDir, 'pkg1'));
128
+ mkdirSync(join(testDir, 'pkg2'));
129
+ writeFileSync(join(testDir, 'pkg1', 'package.json'), '{}');
130
+ writeFileSync(join(testDir, 'pkg2', 'package.json'), '{}');
131
131
  // Initialize git repo
132
- execSync("git init", { cwd: testDir });
133
- execSync("git add .", { cwd: testDir });
132
+ execSync('git init', { cwd: testDir });
133
+ execSync('git add .', { cwd: testDir });
134
134
  try {
135
- execSync(`node ${binPath} validate --fail-fast --dirs-with package.json exit 1`, { cwd: testDir, encoding: "utf8", stdio: "pipe" });
136
- throw new Error("Should have failed");
135
+ execSync(`node ${binPath} validate --fail-fast --dirs-with package.json exit 1`, { cwd: testDir, encoding: 'utf8', stdio: 'pipe' });
136
+ throw new Error('Should have failed');
137
137
  }
138
138
  catch (error) {
139
139
  const execError = error;
140
140
  const exitCode = execError.status || execError.code;
141
141
  strictEqual(exitCode, 2, `Expected exit code 2, got ${exitCode}`);
142
- const stderr = execError.stderr?.toString() || "";
143
- strictEqual(stderr.includes("Failed when trying to run"), true);
142
+ const stderr = execError.stderr?.toString() || '';
143
+ strictEqual(stderr.includes('Failed when trying to run'), true);
144
144
  }
145
145
  }
146
146
  finally {
147
147
  teardown();
148
148
  }
149
149
  });
150
- console.log("\nAll tests passed! ✓");
150
+ console.log('\nAll tests passed! ✓');
151
151
  //# sourceMappingURL=han.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"han.test.js","sourceRoot":"","sources":["../../test/han.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"han.test.js","sourceRoot":"","sources":["../../test/han.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,64 +1,64 @@
1
1
  {
2
- "name": "@thebushidocollective/han",
3
- "version": "1.2.0",
4
- "description": "Monorepo validation tool for Claude Code hooks",
5
- "main": "dist/lib/main.js",
6
- "types": "dist/lib/main.d.ts",
7
- "type": "module",
8
- "bin": {
9
- "han": "dist/lib/main.js"
10
- },
11
- "scripts": {
12
- "build": "tsc",
13
- "postbuild": "chmod +x dist/lib/main.js",
14
- "typecheck": "tsc --noEmit",
15
- "test": "node dist/test/han.test.js",
16
- "lint": "biome check .",
17
- "lint:fix": "biome check --write .",
18
- "prepack": "npm run build && npm test"
19
- },
20
- "repository": {
21
- "type": "git",
22
- "url": "git+https://github.com/thebushidocollective/han.git"
23
- },
24
- "homepage": "https://github.com/thebushidocollective/han",
25
- "bugs": {
26
- "url": "https://github.com/thebushidocollective/han/issues"
27
- },
28
- "keywords": [
29
- "bushido",
30
- "monorepo",
31
- "validation",
32
- "hooks",
33
- "claude",
34
- "claude-code",
35
- "testing",
36
- "ci"
37
- ],
38
- "author": "The Bushido Collective",
39
- "license": "MIT",
40
- "engines": {
41
- "node": ">=24"
42
- },
43
- "files": [
44
- "dist/",
45
- "README.md"
46
- ],
47
- "devDependencies": {
48
- "@biomejs/biome": "^2.3.6",
49
- "@types/commander": "^2.12.0",
50
- "@types/marked-terminal": "^6.1.1",
51
- "@types/node": "^20.19.25",
52
- "@types/react": "^19.2.6",
53
- "typescript": "^5.9.3"
54
- },
55
- "dependencies": {
56
- "@anthropic-ai/claude-agent-sdk": "^0.1.47",
57
- "commander": "^14.0.2",
58
- "ink": "^6.5.1",
59
- "ink-spinner": "^5.0.0",
60
- "marked": "^15.0.12",
61
- "marked-terminal": "^7.3.0",
62
- "react": "^19.2.0"
63
- }
2
+ "name": "@thebushidocollective/han",
3
+ "version": "1.3.0",
4
+ "description": "Monorepo validation tool for Claude Code hooks",
5
+ "main": "dist/lib/main.js",
6
+ "types": "dist/lib/main.d.ts",
7
+ "type": "module",
8
+ "bin": {
9
+ "han": "dist/lib/main.js"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "postbuild": "chmod +x dist/lib/main.js",
14
+ "typecheck": "tsc --noEmit",
15
+ "test": "node dist/test/han.test.js",
16
+ "lint": "biome check .",
17
+ "lint:fix": "biome check --write .",
18
+ "prepack": "npm run build && npm test"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/thebushidocollective/han.git"
23
+ },
24
+ "homepage": "https://github.com/thebushidocollective/han",
25
+ "bugs": {
26
+ "url": "https://github.com/thebushidocollective/han/issues"
27
+ },
28
+ "keywords": [
29
+ "bushido",
30
+ "monorepo",
31
+ "validation",
32
+ "hooks",
33
+ "claude",
34
+ "claude-code",
35
+ "testing",
36
+ "ci"
37
+ ],
38
+ "author": "The Bushido Collective",
39
+ "license": "MIT",
40
+ "engines": {
41
+ "node": ">=24"
42
+ },
43
+ "files": [
44
+ "dist/",
45
+ "README.md"
46
+ ],
47
+ "devDependencies": {
48
+ "@biomejs/biome": "2.3.6",
49
+ "@types/commander": "2.12.0",
50
+ "@types/marked-terminal": "6.1.1",
51
+ "@types/node": "20.19.25",
52
+ "@types/react": "19.2.6",
53
+ "typescript": "5.9.3"
54
+ },
55
+ "dependencies": {
56
+ "@anthropic-ai/claude-agent-sdk": "0.1.47",
57
+ "commander": "14.0.2",
58
+ "ink": "6.5.1",
59
+ "ink-spinner": "5.0.0",
60
+ "marked": "15.0.12",
61
+ "marked-terminal": "7.3.0",
62
+ "react": "19.2.0"
63
+ }
64
64
  }