@vibe-validate/git 0.18.0 → 0.18.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.
- package/dist/tree-hash.d.ts.map +1 -1
- package/dist/tree-hash.js +9 -5
- package/dist/tree-hash.js.map +1 -1
- package/package.json +2 -2
package/dist/tree-hash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-hash.d.ts","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"tree-hash.d.ts","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAsFxD;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,CAUzD;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS9D"}
|
package/dist/tree-hash.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* git stash create includes timestamps, making hashes non-deterministic.
|
|
11
11
|
* git write-tree produces content-based hashes only (no timestamps).
|
|
12
12
|
*/
|
|
13
|
-
import { copyFileSync, unlinkSync } from 'node:fs';
|
|
13
|
+
import { copyFileSync, existsSync, unlinkSync } from 'node:fs';
|
|
14
14
|
import { executeGitCommand } from './git-executor.js';
|
|
15
15
|
const GIT_TIMEOUT = 30000; // 30 seconds timeout for git operations
|
|
16
16
|
/**
|
|
@@ -40,11 +40,15 @@ export async function getGitTreeHash() {
|
|
|
40
40
|
const gitDir = executeGitCommand(['rev-parse', '--git-dir'], { timeout: GIT_TIMEOUT }).stdout.trim();
|
|
41
41
|
const tempIndexFile = `${gitDir}/vibe-validate-temp-index`;
|
|
42
42
|
try {
|
|
43
|
-
// Step 1: Copy current index to temp index
|
|
43
|
+
// Step 1: Copy current index to temp index (if it exists)
|
|
44
44
|
const currentIndex = `${gitDir}/index`;
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
|
|
45
|
+
// CRITICAL: In fresh repos (git init, no commits), .git/index doesn't exist yet
|
|
46
|
+
// Only copy if index exists; git add will create temp index if it doesn't
|
|
47
|
+
if (existsSync(currentIndex)) {
|
|
48
|
+
// SECURITY: Use Node.js fs.copyFileSync instead of shell cp command
|
|
49
|
+
// Prevents potential command injection if gitDir contains malicious characters
|
|
50
|
+
copyFileSync(currentIndex, tempIndexFile);
|
|
51
|
+
}
|
|
48
52
|
// Step 2: Use temp index for all operations (doesn't affect real index)
|
|
49
53
|
const tempIndexEnv = {
|
|
50
54
|
...process.env,
|
package/dist/tree-hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-hash.js","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"tree-hash.js","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-validate/git",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "Git utilities for vibe-validate - tree hash calculation, branch sync, and post-merge cleanup",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@vibe-validate/utils": "0.18.
|
|
41
|
+
"@vibe-validate/utils": "0.18.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/node": "^22.19.2",
|