@vibe-validate/cli 0.18.4 → 0.19.0-rc.10
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/config-templates/minimal.yaml +12 -14
- package/config-templates/typescript-library.yaml +12 -14
- package/config-templates/typescript-nodejs.yaml +12 -14
- package/config-templates/typescript-react.yaml +12 -14
- package/dist/bin/vibe-validate +47 -25
- package/dist/bin/vibe-validate.d.ts +1 -0
- package/dist/bin/vibe-validate.d.ts.map +1 -1
- package/dist/bin/vibe-validate.js +47 -25
- package/dist/bin/vibe-validate.js.map +1 -1
- package/dist/bin/vv +47 -25
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +62 -19
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +5 -2
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/pre-commit.d.ts.map +1 -1
- package/dist/commands/pre-commit.js +30 -9
- package/dist/commands/pre-commit.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +55 -42
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +10 -1
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/state.d.ts.map +1 -1
- package/dist/commands/state.js +4 -3
- package/dist/commands/state.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +27 -10
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/watch-pr.d.ts.map +1 -1
- package/dist/commands/watch-pr.js +110 -11
- package/dist/commands/watch-pr.js.map +1 -1
- package/dist/schemas/watch-pr-schema.d.ts +2 -2
- package/dist/services/cache-manager.d.ts +5 -2
- package/dist/services/cache-manager.d.ts.map +1 -1
- package/dist/services/cache-manager.js +16 -2
- package/dist/services/cache-manager.js.map +1 -1
- package/dist/services/github-fetcher.d.ts.map +1 -1
- package/dist/services/github-fetcher.js +1 -0
- package/dist/services/github-fetcher.js.map +1 -1
- package/dist/services/watch-pr-orchestrator.d.ts +9 -2
- package/dist/services/watch-pr-orchestrator.d.ts.map +1 -1
- package/dist/services/watch-pr-orchestrator.js +32 -19
- package/dist/services/watch-pr-orchestrator.js.map +1 -1
- package/dist/utils/check-validation.d.ts.map +1 -1
- package/dist/utils/check-validation.js +17 -29
- package/dist/utils/check-validation.js.map +1 -1
- package/dist/utils/context-detector.d.ts +1 -0
- package/dist/utils/context-detector.d.ts.map +1 -1
- package/dist/utils/context-detector.js.map +1 -1
- package/dist/utils/display-cached-result.d.ts +2 -2
- package/dist/utils/display-cached-result.d.ts.map +1 -1
- package/dist/utils/display-cached-result.js +18 -11
- package/dist/utils/display-cached-result.js.map +1 -1
- package/dist/utils/format-worktree.d.ts +21 -0
- package/dist/utils/format-worktree.d.ts.map +1 -0
- package/dist/utils/format-worktree.js +32 -0
- package/dist/utils/format-worktree.js.map +1 -0
- package/dist/utils/logger.d.ts +29 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +47 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/secret-scanning.d.ts.map +1 -1
- package/dist/utils/secret-scanning.js +96 -1
- package/dist/utils/secret-scanning.js.map +1 -1
- package/dist/utils/temp-files.d.ts +3 -4
- package/dist/utils/temp-files.d.ts.map +1 -1
- package/dist/utils/temp-files.js +4 -5
- package/dist/utils/temp-files.js.map +1 -1
- package/dist/utils/validate-workflow.d.ts +3 -0
- package/dist/utils/validate-workflow.d.ts.map +1 -1
- package/dist/utils/validate-workflow.js +180 -63
- package/dist/utils/validate-workflow.js.map +1 -1
- package/dist/utils/validation-lock-wrapper.d.ts +3 -0
- package/dist/utils/validation-lock-wrapper.d.ts.map +1 -1
- package/dist/utils/validation-lock-wrapper.js +21 -5
- package/dist/utils/validation-lock-wrapper.js.map +1 -1
- package/package.json +7 -7
|
@@ -27,27 +27,25 @@ hooks:
|
|
|
27
27
|
# Secret scanning prevents accidental credential commits
|
|
28
28
|
secretScanning:
|
|
29
29
|
enabled: true
|
|
30
|
-
# Autodetect mode (recommended):
|
|
31
|
-
# Automatically runs tools based on config files present:
|
|
32
|
-
# - .gitleaks.toml or .gitleaksignore → runs gitleaks
|
|
33
|
-
# - .secretlintrc.json → runs secretlint (via npx)
|
|
34
|
-
# - Both files present → runs both tools (defense-in-depth)
|
|
30
|
+
# Autodetect mode (recommended): Automatically uses optimal commands
|
|
35
31
|
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
32
|
+
# vibe-validate automatically optimizes for pre-commit performance:
|
|
33
|
+
# gitleaks: Only scans staged files (0.2s)
|
|
34
|
+
# secretlint: Only scans staged files (0.8s)
|
|
35
|
+
#
|
|
36
|
+
# 1. gitleaks (RECOMMENDED - fastest, 160+ secret types):
|
|
38
37
|
# macOS: brew install gitleaks
|
|
39
|
-
#
|
|
40
|
-
# Create .gitleaksignore for false positives
|
|
38
|
+
# Create .gitleaks.toml or .gitleaksignore to enable autodetect
|
|
41
39
|
#
|
|
42
40
|
# 2. secretlint (npm-based, always available):
|
|
43
41
|
# npm install --save-dev @secretlint/secretlint-rule-preset-recommend secretlint
|
|
44
|
-
# Create .secretlintrc.json
|
|
45
|
-
# Create .secretlintignore for false positives
|
|
42
|
+
# Create .secretlintrc.json to enable autodetect
|
|
46
43
|
#
|
|
47
|
-
# 3. Both (defense-in-depth):
|
|
44
|
+
# 3. Both tools (defense-in-depth):
|
|
45
|
+
# Create both config files - runs both automatically
|
|
48
46
|
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
47
|
+
# 4. Explicit command (advanced):
|
|
48
|
+
# scanCommand: "gitleaks protect --staged --verbose"
|
|
51
49
|
|
|
52
50
|
# Validation configuration
|
|
53
51
|
validation:
|
|
@@ -27,27 +27,25 @@ hooks:
|
|
|
27
27
|
# Secret scanning prevents accidental credential commits
|
|
28
28
|
secretScanning:
|
|
29
29
|
enabled: true
|
|
30
|
-
# Autodetect mode (recommended):
|
|
31
|
-
# Automatically runs tools based on config files present:
|
|
32
|
-
# - .gitleaks.toml or .gitleaksignore → runs gitleaks
|
|
33
|
-
# - .secretlintrc.json → runs secretlint (via npx)
|
|
34
|
-
# - Both files present → runs both tools (defense-in-depth)
|
|
30
|
+
# Autodetect mode (recommended): Automatically uses optimal commands
|
|
35
31
|
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
32
|
+
# vibe-validate automatically optimizes for pre-commit performance:
|
|
33
|
+
# gitleaks: Only scans staged files (0.2s)
|
|
34
|
+
# secretlint: Only scans staged files (0.8s)
|
|
35
|
+
#
|
|
36
|
+
# 1. gitleaks (RECOMMENDED - fastest, 160+ secret types):
|
|
38
37
|
# macOS: brew install gitleaks
|
|
39
|
-
#
|
|
40
|
-
# Create .gitleaksignore for false positives
|
|
38
|
+
# Create .gitleaks.toml or .gitleaksignore to enable autodetect
|
|
41
39
|
#
|
|
42
40
|
# 2. secretlint (npm-based, always available):
|
|
43
41
|
# npm install --save-dev @secretlint/secretlint-rule-preset-recommend secretlint
|
|
44
|
-
# Create .secretlintrc.json
|
|
45
|
-
# Create .secretlintignore for false positives
|
|
42
|
+
# Create .secretlintrc.json to enable autodetect
|
|
46
43
|
#
|
|
47
|
-
# 3. Both (defense-in-depth):
|
|
44
|
+
# 3. Both tools (defense-in-depth):
|
|
45
|
+
# Create both config files - runs both automatically
|
|
48
46
|
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
47
|
+
# 4. Explicit command (advanced):
|
|
48
|
+
# scanCommand: "gitleaks protect --staged --verbose"
|
|
51
49
|
|
|
52
50
|
# Validation configuration
|
|
53
51
|
validation:
|
|
@@ -28,27 +28,25 @@ hooks:
|
|
|
28
28
|
# Secret scanning prevents accidental credential commits
|
|
29
29
|
secretScanning:
|
|
30
30
|
enabled: true
|
|
31
|
-
# Autodetect mode (recommended):
|
|
32
|
-
# Automatically runs tools based on config files present:
|
|
33
|
-
# - .gitleaks.toml or .gitleaksignore → runs gitleaks
|
|
34
|
-
# - .secretlintrc.json → runs secretlint (via npx)
|
|
35
|
-
# - Both files present → runs both tools (defense-in-depth)
|
|
31
|
+
# Autodetect mode (recommended): Automatically uses optimal commands
|
|
36
32
|
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
33
|
+
# vibe-validate automatically optimizes for pre-commit performance:
|
|
34
|
+
# gitleaks: Only scans staged files (0.2s)
|
|
35
|
+
# secretlint: Only scans staged files (0.8s)
|
|
36
|
+
#
|
|
37
|
+
# 1. gitleaks (RECOMMENDED - fastest, 160+ secret types):
|
|
39
38
|
# macOS: brew install gitleaks
|
|
40
|
-
#
|
|
41
|
-
# Create .gitleaksignore for false positives
|
|
39
|
+
# Create .gitleaks.toml or .gitleaksignore to enable autodetect
|
|
42
40
|
#
|
|
43
41
|
# 2. secretlint (npm-based, always available):
|
|
44
42
|
# npm install --save-dev @secretlint/secretlint-rule-preset-recommend secretlint
|
|
45
|
-
# Create .secretlintrc.json
|
|
46
|
-
# Create .secretlintignore for false positives
|
|
43
|
+
# Create .secretlintrc.json to enable autodetect
|
|
47
44
|
#
|
|
48
|
-
# 3. Both (defense-in-depth):
|
|
45
|
+
# 3. Both tools (defense-in-depth):
|
|
46
|
+
# Create both config files - runs both automatically
|
|
49
47
|
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
48
|
+
# 4. Explicit command (advanced):
|
|
49
|
+
# scanCommand: "gitleaks protect --staged --verbose"
|
|
52
50
|
|
|
53
51
|
# Validation configuration
|
|
54
52
|
validation:
|
|
@@ -28,27 +28,25 @@ hooks:
|
|
|
28
28
|
# Secret scanning prevents accidental credential commits
|
|
29
29
|
secretScanning:
|
|
30
30
|
enabled: true
|
|
31
|
-
# Autodetect mode (recommended):
|
|
32
|
-
# Automatically runs tools based on config files present:
|
|
33
|
-
# - .gitleaks.toml or .gitleaksignore → runs gitleaks
|
|
34
|
-
# - .secretlintrc.json → runs secretlint (via npx)
|
|
35
|
-
# - Both files present → runs both tools (defense-in-depth)
|
|
31
|
+
# Autodetect mode (recommended): Automatically uses optimal commands
|
|
36
32
|
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
33
|
+
# vibe-validate automatically optimizes for pre-commit performance:
|
|
34
|
+
# gitleaks: Only scans staged files (0.2s)
|
|
35
|
+
# secretlint: Only scans staged files (0.8s)
|
|
36
|
+
#
|
|
37
|
+
# 1. gitleaks (RECOMMENDED - fastest, 160+ secret types):
|
|
39
38
|
# macOS: brew install gitleaks
|
|
40
|
-
#
|
|
41
|
-
# Create .gitleaksignore for false positives
|
|
39
|
+
# Create .gitleaks.toml or .gitleaksignore to enable autodetect
|
|
42
40
|
#
|
|
43
41
|
# 2. secretlint (npm-based, always available):
|
|
44
42
|
# npm install --save-dev @secretlint/secretlint-rule-preset-recommend secretlint
|
|
45
|
-
# Create .secretlintrc.json
|
|
46
|
-
# Create .secretlintignore for false positives
|
|
43
|
+
# Create .secretlintrc.json to enable autodetect
|
|
47
44
|
#
|
|
48
|
-
# 3. Both (defense-in-depth):
|
|
45
|
+
# 3. Both tools (defense-in-depth):
|
|
46
|
+
# Create both config files - runs both automatically
|
|
49
47
|
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
48
|
+
# 4. Explicit command (advanced):
|
|
49
|
+
# scanCommand: "gitleaks protect --staged --verbose"
|
|
52
50
|
|
|
53
51
|
# Validation configuration
|
|
54
52
|
validation:
|
package/dist/bin/vibe-validate
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Smart vibe-validate wrapper with context-aware execution
|
|
4
4
|
*
|
|
5
5
|
* Automatically detects execution context and delegates to appropriate binary:
|
|
6
|
+
* - VV_ROOT_DIR override: Use developer's local build for testing
|
|
6
7
|
* - Developer mode: Inside vibe-validate repo → packages/cli/dist/bin.js (unpackaged dev build)
|
|
7
8
|
* - Local install: Project has vibe-validate → node_modules version (packaged)
|
|
8
9
|
* - Global install: Fallback → globally installed version (packaged)
|
|
@@ -104,6 +105,51 @@ function readVersion(packageJsonPath) {
|
|
|
104
105
|
return null;
|
|
105
106
|
}
|
|
106
107
|
}
|
|
108
|
+
function tryVvRootDirOverride(debug) {
|
|
109
|
+
const vvRootDir = process.env.VV_ROOT_DIR;
|
|
110
|
+
if (!vvRootDir)
|
|
111
|
+
return null;
|
|
112
|
+
const overrideBin = join(vvRootDir, 'packages/cli/dist/bin.js');
|
|
113
|
+
if (!existsSync(overrideBin)) {
|
|
114
|
+
if (debug) {
|
|
115
|
+
console.error(`[vv debug] VV_ROOT_DIR set but ${overrideBin} not found — ignoring`);
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
console.error(`[vv] Using VV_ROOT_DIR: ${vvRootDir}`);
|
|
120
|
+
return { binPath: overrideBin, context: 'dev-override', binDir: dirname(dirname(overrideBin)) };
|
|
121
|
+
}
|
|
122
|
+
function tryDevMode(projectRoot) {
|
|
123
|
+
const devBin = getDevModeBinary(projectRoot);
|
|
124
|
+
if (!devBin)
|
|
125
|
+
return null;
|
|
126
|
+
return { binPath: devBin, context: 'dev', binDir: dirname(dirname(devBin)) };
|
|
127
|
+
}
|
|
128
|
+
function tryLocalInstall(projectRoot) {
|
|
129
|
+
const localBin = findLocalInstall(projectRoot);
|
|
130
|
+
if (!localBin)
|
|
131
|
+
return null;
|
|
132
|
+
return { binPath: localBin, context: 'local', binDir: dirname(dirname(localBin)) };
|
|
133
|
+
}
|
|
134
|
+
function useGlobalInstall() {
|
|
135
|
+
return { binPath: join(__dirname, '../bin.js'), context: 'global', binDir: dirname(__dirname) };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Resolve binary path using priority chain
|
|
139
|
+
*
|
|
140
|
+
* Priority order:
|
|
141
|
+
* 0. VV_ROOT_DIR env override (developer testing dev build against other projects - security validated)
|
|
142
|
+
* 1. Developer mode (inside vibe-validate repo itself)
|
|
143
|
+
* 2. Local install (node_modules)
|
|
144
|
+
* 3. Global install (this script's own location)
|
|
145
|
+
*/
|
|
146
|
+
function resolveBinary(projectRoot, debug) {
|
|
147
|
+
// Try each resolution strategy in priority order
|
|
148
|
+
return (tryVvRootDirOverride(debug) ??
|
|
149
|
+
tryDevMode(projectRoot) ??
|
|
150
|
+
tryLocalInstall(projectRoot) ??
|
|
151
|
+
useGlobalInstall());
|
|
152
|
+
}
|
|
107
153
|
/**
|
|
108
154
|
* Main entry point - detects context and executes appropriate binary
|
|
109
155
|
*/
|
|
@@ -113,31 +159,7 @@ function main() {
|
|
|
113
159
|
const debug = process.env.VV_DEBUG === '1';
|
|
114
160
|
// Find project root (where .git is, or cwd if no git)
|
|
115
161
|
const projectRoot = findProjectRoot(cwd);
|
|
116
|
-
|
|
117
|
-
let context;
|
|
118
|
-
let binDir;
|
|
119
|
-
// Priority 1: Check for developer mode (inside vibe-validate repo)
|
|
120
|
-
const devBin = getDevModeBinary(projectRoot);
|
|
121
|
-
if (devBin) {
|
|
122
|
-
binPath = devBin;
|
|
123
|
-
context = 'dev';
|
|
124
|
-
binDir = dirname(dirname(devBin)); // packages/cli/dist -> packages/cli
|
|
125
|
-
}
|
|
126
|
-
// Priority 2: Check for local install (node_modules)
|
|
127
|
-
else {
|
|
128
|
-
const localBin = findLocalInstall(projectRoot);
|
|
129
|
-
if (localBin) {
|
|
130
|
-
binPath = localBin;
|
|
131
|
-
context = 'local';
|
|
132
|
-
binDir = dirname(dirname(localBin)); // node_modules/@vibe-validate/cli/dist -> node_modules/@vibe-validate/cli
|
|
133
|
-
}
|
|
134
|
-
// Priority 3: Use global install (this script's location)
|
|
135
|
-
else {
|
|
136
|
-
binPath = join(__dirname, '../bin.js');
|
|
137
|
-
context = 'global';
|
|
138
|
-
binDir = dirname(__dirname); // dist -> cli root
|
|
139
|
-
}
|
|
140
|
-
}
|
|
162
|
+
const { binPath, context, binDir } = resolveBinary(projectRoot, debug);
|
|
141
163
|
// Read versions for comparison
|
|
142
164
|
// __dirname = dist/bin, so go up twice to reach package.json at cli root
|
|
143
165
|
const globalPkgPath = join(dirname(dirname(__dirname)), 'package.json');
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Smart vibe-validate wrapper with context-aware execution
|
|
4
4
|
*
|
|
5
5
|
* Automatically detects execution context and delegates to appropriate binary:
|
|
6
|
+
* - VV_ROOT_DIR override: Use developer's local build for testing
|
|
6
7
|
* - Developer mode: Inside vibe-validate repo → packages/cli/dist/bin.js (unpackaged dev build)
|
|
7
8
|
* - Local install: Project has vibe-validate → node_modules version (packaged)
|
|
8
9
|
* - Global install: Fallback → globally installed version (packaged)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibe-validate.d.ts","sourceRoot":"","sources":["../../src/bin/vibe-validate.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"vibe-validate.d.ts","sourceRoot":"","sources":["../../src/bin/vibe-validate.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Smart vibe-validate wrapper with context-aware execution
|
|
4
4
|
*
|
|
5
5
|
* Automatically detects execution context and delegates to appropriate binary:
|
|
6
|
+
* - VV_ROOT_DIR override: Use developer's local build for testing
|
|
6
7
|
* - Developer mode: Inside vibe-validate repo → packages/cli/dist/bin.js (unpackaged dev build)
|
|
7
8
|
* - Local install: Project has vibe-validate → node_modules version (packaged)
|
|
8
9
|
* - Global install: Fallback → globally installed version (packaged)
|
|
@@ -104,6 +105,51 @@ function readVersion(packageJsonPath) {
|
|
|
104
105
|
return null;
|
|
105
106
|
}
|
|
106
107
|
}
|
|
108
|
+
function tryVvRootDirOverride(debug) {
|
|
109
|
+
const vvRootDir = process.env.VV_ROOT_DIR;
|
|
110
|
+
if (!vvRootDir)
|
|
111
|
+
return null;
|
|
112
|
+
const overrideBin = join(vvRootDir, 'packages/cli/dist/bin.js');
|
|
113
|
+
if (!existsSync(overrideBin)) {
|
|
114
|
+
if (debug) {
|
|
115
|
+
console.error(`[vv debug] VV_ROOT_DIR set but ${overrideBin} not found — ignoring`);
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
console.error(`[vv] Using VV_ROOT_DIR: ${vvRootDir}`);
|
|
120
|
+
return { binPath: overrideBin, context: 'dev-override', binDir: dirname(dirname(overrideBin)) };
|
|
121
|
+
}
|
|
122
|
+
function tryDevMode(projectRoot) {
|
|
123
|
+
const devBin = getDevModeBinary(projectRoot);
|
|
124
|
+
if (!devBin)
|
|
125
|
+
return null;
|
|
126
|
+
return { binPath: devBin, context: 'dev', binDir: dirname(dirname(devBin)) };
|
|
127
|
+
}
|
|
128
|
+
function tryLocalInstall(projectRoot) {
|
|
129
|
+
const localBin = findLocalInstall(projectRoot);
|
|
130
|
+
if (!localBin)
|
|
131
|
+
return null;
|
|
132
|
+
return { binPath: localBin, context: 'local', binDir: dirname(dirname(localBin)) };
|
|
133
|
+
}
|
|
134
|
+
function useGlobalInstall() {
|
|
135
|
+
return { binPath: join(__dirname, '../bin.js'), context: 'global', binDir: dirname(__dirname) };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Resolve binary path using priority chain
|
|
139
|
+
*
|
|
140
|
+
* Priority order:
|
|
141
|
+
* 0. VV_ROOT_DIR env override (developer testing dev build against other projects - security validated)
|
|
142
|
+
* 1. Developer mode (inside vibe-validate repo itself)
|
|
143
|
+
* 2. Local install (node_modules)
|
|
144
|
+
* 3. Global install (this script's own location)
|
|
145
|
+
*/
|
|
146
|
+
function resolveBinary(projectRoot, debug) {
|
|
147
|
+
// Try each resolution strategy in priority order
|
|
148
|
+
return (tryVvRootDirOverride(debug) ??
|
|
149
|
+
tryDevMode(projectRoot) ??
|
|
150
|
+
tryLocalInstall(projectRoot) ??
|
|
151
|
+
useGlobalInstall());
|
|
152
|
+
}
|
|
107
153
|
/**
|
|
108
154
|
* Main entry point - detects context and executes appropriate binary
|
|
109
155
|
*/
|
|
@@ -113,31 +159,7 @@ function main() {
|
|
|
113
159
|
const debug = process.env.VV_DEBUG === '1';
|
|
114
160
|
// Find project root (where .git is, or cwd if no git)
|
|
115
161
|
const projectRoot = findProjectRoot(cwd);
|
|
116
|
-
|
|
117
|
-
let context;
|
|
118
|
-
let binDir;
|
|
119
|
-
// Priority 1: Check for developer mode (inside vibe-validate repo)
|
|
120
|
-
const devBin = getDevModeBinary(projectRoot);
|
|
121
|
-
if (devBin) {
|
|
122
|
-
binPath = devBin;
|
|
123
|
-
context = 'dev';
|
|
124
|
-
binDir = dirname(dirname(devBin)); // packages/cli/dist -> packages/cli
|
|
125
|
-
}
|
|
126
|
-
// Priority 2: Check for local install (node_modules)
|
|
127
|
-
else {
|
|
128
|
-
const localBin = findLocalInstall(projectRoot);
|
|
129
|
-
if (localBin) {
|
|
130
|
-
binPath = localBin;
|
|
131
|
-
context = 'local';
|
|
132
|
-
binDir = dirname(dirname(localBin)); // node_modules/@vibe-validate/cli/dist -> node_modules/@vibe-validate/cli
|
|
133
|
-
}
|
|
134
|
-
// Priority 3: Use global install (this script's location)
|
|
135
|
-
else {
|
|
136
|
-
binPath = join(__dirname, '../bin.js');
|
|
137
|
-
context = 'global';
|
|
138
|
-
binDir = dirname(__dirname); // dist -> cli root
|
|
139
|
-
}
|
|
140
|
-
}
|
|
162
|
+
const { binPath, context, binDir } = resolveBinary(projectRoot, debug);
|
|
141
163
|
// Read versions for comparison
|
|
142
164
|
// __dirname = dist/bin, so go up twice to reach package.json at cli root
|
|
143
165
|
const globalPkgPath = join(dirname(dirname(__dirname)), 'package.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibe-validate.js","sourceRoot":"","sources":["../../src/bin/vibe-validate.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"vibe-validate.js","sourceRoot":"","sources":["../../src/bin/vibe-validate.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/vv
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Smart vibe-validate wrapper with context-aware execution
|
|
4
4
|
*
|
|
5
5
|
* Automatically detects execution context and delegates to appropriate binary:
|
|
6
|
+
* - VV_ROOT_DIR override: Use developer's local build for testing
|
|
6
7
|
* - Developer mode: Inside vibe-validate repo → packages/cli/dist/bin.js (unpackaged dev build)
|
|
7
8
|
* - Local install: Project has vibe-validate → node_modules version (packaged)
|
|
8
9
|
* - Global install: Fallback → globally installed version (packaged)
|
|
@@ -104,6 +105,51 @@ function readVersion(packageJsonPath) {
|
|
|
104
105
|
return null;
|
|
105
106
|
}
|
|
106
107
|
}
|
|
108
|
+
function tryVvRootDirOverride(debug) {
|
|
109
|
+
const vvRootDir = process.env.VV_ROOT_DIR;
|
|
110
|
+
if (!vvRootDir)
|
|
111
|
+
return null;
|
|
112
|
+
const overrideBin = join(vvRootDir, 'packages/cli/dist/bin.js');
|
|
113
|
+
if (!existsSync(overrideBin)) {
|
|
114
|
+
if (debug) {
|
|
115
|
+
console.error(`[vv debug] VV_ROOT_DIR set but ${overrideBin} not found — ignoring`);
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
console.error(`[vv] Using VV_ROOT_DIR: ${vvRootDir}`);
|
|
120
|
+
return { binPath: overrideBin, context: 'dev-override', binDir: dirname(dirname(overrideBin)) };
|
|
121
|
+
}
|
|
122
|
+
function tryDevMode(projectRoot) {
|
|
123
|
+
const devBin = getDevModeBinary(projectRoot);
|
|
124
|
+
if (!devBin)
|
|
125
|
+
return null;
|
|
126
|
+
return { binPath: devBin, context: 'dev', binDir: dirname(dirname(devBin)) };
|
|
127
|
+
}
|
|
128
|
+
function tryLocalInstall(projectRoot) {
|
|
129
|
+
const localBin = findLocalInstall(projectRoot);
|
|
130
|
+
if (!localBin)
|
|
131
|
+
return null;
|
|
132
|
+
return { binPath: localBin, context: 'local', binDir: dirname(dirname(localBin)) };
|
|
133
|
+
}
|
|
134
|
+
function useGlobalInstall() {
|
|
135
|
+
return { binPath: join(__dirname, '../bin.js'), context: 'global', binDir: dirname(__dirname) };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Resolve binary path using priority chain
|
|
139
|
+
*
|
|
140
|
+
* Priority order:
|
|
141
|
+
* 0. VV_ROOT_DIR env override (developer testing dev build against other projects - security validated)
|
|
142
|
+
* 1. Developer mode (inside vibe-validate repo itself)
|
|
143
|
+
* 2. Local install (node_modules)
|
|
144
|
+
* 3. Global install (this script's own location)
|
|
145
|
+
*/
|
|
146
|
+
function resolveBinary(projectRoot, debug) {
|
|
147
|
+
// Try each resolution strategy in priority order
|
|
148
|
+
return (tryVvRootDirOverride(debug) ??
|
|
149
|
+
tryDevMode(projectRoot) ??
|
|
150
|
+
tryLocalInstall(projectRoot) ??
|
|
151
|
+
useGlobalInstall());
|
|
152
|
+
}
|
|
107
153
|
/**
|
|
108
154
|
* Main entry point - detects context and executes appropriate binary
|
|
109
155
|
*/
|
|
@@ -113,31 +159,7 @@ function main() {
|
|
|
113
159
|
const debug = process.env.VV_DEBUG === '1';
|
|
114
160
|
// Find project root (where .git is, or cwd if no git)
|
|
115
161
|
const projectRoot = findProjectRoot(cwd);
|
|
116
|
-
|
|
117
|
-
let context;
|
|
118
|
-
let binDir;
|
|
119
|
-
// Priority 1: Check for developer mode (inside vibe-validate repo)
|
|
120
|
-
const devBin = getDevModeBinary(projectRoot);
|
|
121
|
-
if (devBin) {
|
|
122
|
-
binPath = devBin;
|
|
123
|
-
context = 'dev';
|
|
124
|
-
binDir = dirname(dirname(devBin)); // packages/cli/dist -> packages/cli
|
|
125
|
-
}
|
|
126
|
-
// Priority 2: Check for local install (node_modules)
|
|
127
|
-
else {
|
|
128
|
-
const localBin = findLocalInstall(projectRoot);
|
|
129
|
-
if (localBin) {
|
|
130
|
-
binPath = localBin;
|
|
131
|
-
context = 'local';
|
|
132
|
-
binDir = dirname(dirname(localBin)); // node_modules/@vibe-validate/cli/dist -> node_modules/@vibe-validate/cli
|
|
133
|
-
}
|
|
134
|
-
// Priority 3: Use global install (this script's location)
|
|
135
|
-
else {
|
|
136
|
-
binPath = join(__dirname, '../bin.js');
|
|
137
|
-
context = 'global';
|
|
138
|
-
binDir = dirname(__dirname); // dist -> cli root
|
|
139
|
-
}
|
|
140
|
-
}
|
|
162
|
+
const { binPath, context, binDir } = resolveBinary(projectRoot, debug);
|
|
141
163
|
// Read versions for comparison
|
|
142
164
|
// __dirname = dist/bin, so go up twice to reach package.json at cli root
|
|
143
165
|
const globalPkgPath = join(dirname(dirname(__dirname)), 'package.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwCpD;AAuED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA+E5C"}
|
package/dist/commands/config.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Show or validate vibe-validate configuration.
|
|
5
5
|
*/
|
|
6
|
+
import { basename } from 'node:path';
|
|
6
7
|
import chalk from 'chalk';
|
|
7
8
|
import { getCommandName } from '../utils/command-name.js';
|
|
8
9
|
import { displayConfigErrors } from '../utils/config-error-reporter.js';
|
|
@@ -24,8 +25,7 @@ async function loadAndValidateConfig() {
|
|
|
24
25
|
const result = await loadConfigWithErrors();
|
|
25
26
|
// Show detailed validation errors if config is invalid
|
|
26
27
|
if (!result.config && result.errors) {
|
|
27
|
-
|
|
28
|
-
const fileName = result.filePath?.split('/').pop() || 'vibe-validate.config.yaml';
|
|
28
|
+
const fileName = result.filePath ? basename(result.filePath) : 'vibe-validate.config.yaml';
|
|
29
29
|
displayConfigErrors({ fileName, errors: result.errors });
|
|
30
30
|
process.exit(1);
|
|
31
31
|
}
|
|
@@ -123,7 +123,7 @@ function displayYamlConfig(config) {
|
|
|
123
123
|
console.log(' phases:');
|
|
124
124
|
for (const phase of config.validation.phases) {
|
|
125
125
|
console.log(` - name: ${phase.name}`);
|
|
126
|
-
console.log(` parallel: ${phase.parallel}`);
|
|
126
|
+
console.log(` parallel: ${phase.parallel ?? false}`);
|
|
127
127
|
console.log(` steps: ${phase.steps?.length ?? 0}`);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAaH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAaH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDzC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,sCAAsC;IACtC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA0jCD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+ElF;AAkFD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA0H5C"}
|