@thebushidocollective/han 1.12.4 → 1.13.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.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAKA,UAAU,eAAe;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CAChB;AAuGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAyDvD"}
|
package/dist/lib/validate.js
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import { execSync } from "node:child_process";
|
|
2
|
-
import { readdirSync } from "node:fs";
|
|
3
|
-
import { join } from "node:path";
|
|
2
|
+
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
3
|
+
import { join, relative } from "node:path";
|
|
4
|
+
import ignore from "ignore";
|
|
5
|
+
// Load .gitignore rules from root directory
|
|
6
|
+
function loadGitignoreRules(rootDir) {
|
|
7
|
+
const ig = ignore();
|
|
8
|
+
const gitignorePath = join(rootDir, ".gitignore");
|
|
9
|
+
if (existsSync(gitignorePath)) {
|
|
10
|
+
try {
|
|
11
|
+
const gitignoreContent = readFileSync(gitignorePath, "utf8");
|
|
12
|
+
ig.add(gitignoreContent);
|
|
13
|
+
}
|
|
14
|
+
catch (_e) {
|
|
15
|
+
// If we can't read .gitignore, continue without it
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
// Always ignore common patterns
|
|
19
|
+
ig.add(["node_modules/", ".git/"]);
|
|
20
|
+
return ig;
|
|
21
|
+
}
|
|
4
22
|
// Check if a filename matches a pattern (supports * wildcard)
|
|
5
23
|
function matchesPattern(filename, pattern) {
|
|
6
24
|
// Convert glob pattern to regex
|
|
@@ -29,12 +47,13 @@ function hasMarkerFile(dir, patterns) {
|
|
|
29
47
|
}
|
|
30
48
|
}
|
|
31
49
|
// Recursively find all directories containing a marker file
|
|
32
|
-
function findDirectoriesWithMarker(rootDir, markerPatterns) {
|
|
50
|
+
function findDirectoriesWithMarker(rootDir, markerPatterns, ig) {
|
|
33
51
|
const dirs = [];
|
|
34
52
|
function searchDir(dir) {
|
|
35
|
-
//
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
53
|
+
// Get relative path from root for gitignore matching
|
|
54
|
+
const relativePath = relative(rootDir, dir);
|
|
55
|
+
// Skip if this path is git-ignored (only check subdirectories, not root)
|
|
56
|
+
if (relativePath && ig.ignores(relativePath)) {
|
|
38
57
|
return;
|
|
39
58
|
}
|
|
40
59
|
try {
|
|
@@ -81,7 +100,9 @@ export function validate(options) {
|
|
|
81
100
|
}
|
|
82
101
|
// Parse comma-delimited patterns
|
|
83
102
|
const patterns = dirsWith.split(",").map((p) => p.trim());
|
|
84
|
-
|
|
103
|
+
// Load .gitignore rules
|
|
104
|
+
const ig = loadGitignoreRules(rootDir);
|
|
105
|
+
const targetDirs = findDirectoriesWithMarker(rootDir, patterns, ig);
|
|
85
106
|
if (targetDirs.length === 0) {
|
|
86
107
|
console.log(`No directories found with ${dirsWith}`);
|
|
87
108
|
process.exit(0);
|
package/dist/lib/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thebushidocollective/han",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "CLI for installing and managing curated Claude Code plugins from the Han marketplace",
|
|
5
5
|
"main": "dist/lib/main.js",
|
|
6
6
|
"types": "dist/lib/main.d.ts",
|
|
@@ -54,11 +54,13 @@
|
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@anthropic-ai/claude-agent-sdk": "0.1.50",
|
|
56
56
|
"commander": "14.0.2",
|
|
57
|
+
"ignore": "^7.0.5",
|
|
57
58
|
"ink": "6.5.1",
|
|
58
59
|
"ink-select-input": "^6.2.0",
|
|
59
60
|
"ink-spinner": "5.0.0",
|
|
60
61
|
"ink-text-input": "^6.0.0",
|
|
61
62
|
"marked-terminal": "7.3.0",
|
|
63
|
+
"parse-gitignore": "^2.0.0",
|
|
62
64
|
"react": "19.2.0"
|
|
63
65
|
}
|
|
64
66
|
}
|