xavren 1.1.3 → 1.1.5
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.
|
@@ -6,37 +6,94 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const logFile = path_1.default.join(process.cwd(), "xavren-install.log");
|
|
10
|
+
const log = (msg) => {
|
|
11
|
+
console.error(msg); // Also write to stderr
|
|
12
|
+
process.stderr.write(msg + "\n");
|
|
13
|
+
const timestamp = new Date().toISOString();
|
|
14
|
+
const logMsg = `[${timestamp}] ${msg}\n`;
|
|
15
|
+
fs_1.default.appendFileSync(logFile, logMsg);
|
|
16
|
+
};
|
|
9
17
|
function installPrePushHook() {
|
|
10
|
-
|
|
18
|
+
log("=== Xavren Hook Installation ===");
|
|
19
|
+
log(`📍 Current directory: ${process.cwd()}`);
|
|
20
|
+
log(`👤 User: ${process.env.USER || process.env.USERNAME}`);
|
|
21
|
+
log(`🏠 Home: ${process.env.HOME}`);
|
|
22
|
+
log(`🔧 Node version: ${process.version}`);
|
|
11
23
|
const gitDir = path_1.default.resolve(process.cwd(), ".git");
|
|
24
|
+
log(`🔍 Looking for .git at: ${gitDir}`);
|
|
25
|
+
log(`📁 .git exists: ${fs_1.default.existsSync(gitDir)}`);
|
|
26
|
+
if (!fs_1.default.existsSync(gitDir)) {
|
|
27
|
+
log("❌ Not a Git repository. Skipping hook installation.");
|
|
28
|
+
log("💡 This is normal if installing in a non-git project.");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
12
31
|
const hookDir = path_1.default.join(gitDir, "hooks");
|
|
13
32
|
const hookPath = path_1.default.join(hookDir, "pre-push");
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
log(`📂 Hook directory: ${hookDir}`);
|
|
34
|
+
log(`📄 Hook path: ${hookPath}`);
|
|
35
|
+
// Check permissions
|
|
36
|
+
try {
|
|
37
|
+
fs_1.default.accessSync(gitDir, fs_1.default.constants.W_OK);
|
|
38
|
+
log("✅ Write permission confirmed");
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
log(`❌ Permission error: ${err.message}`);
|
|
17
42
|
return;
|
|
18
43
|
}
|
|
19
|
-
|
|
20
|
-
|
|
44
|
+
// Create hooks directory
|
|
45
|
+
if (!fs_1.default.existsSync(hookDir)) {
|
|
46
|
+
try {
|
|
47
|
+
fs_1.default.mkdirSync(hookDir, { recursive: true });
|
|
48
|
+
log("📁 Created hooks directory");
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
log(`❌ Failed to create hooks dir: ${err.message}`);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Remove old hook
|
|
56
|
+
if (fs_1.default.existsSync(hookPath)) {
|
|
57
|
+
try {
|
|
58
|
+
fs_1.default.unlinkSync(hookPath);
|
|
59
|
+
log("♻️ Removed existing pre-push hook");
|
|
60
|
+
}
|
|
61
|
+
catch (unlinkErr) {
|
|
62
|
+
log(`⚠️ Couldn't remove old hook: ${unlinkErr.message}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
21
65
|
const hookContent = `#!/bin/bash
|
|
22
66
|
# Auto-generated by xavren installer
|
|
23
|
-
# This hook runs xavcli postinstall logic before pushing, but never aborts the push
|
|
24
|
-
|
|
25
67
|
echo "🚀 Running xavcli postinstall before git push..."
|
|
26
|
-
|
|
27
|
-
# Run postinstall CLI
|
|
28
68
|
xavcli_postinstall || echo "⚠️ xavcli_postinstall failed, but continuing push..."
|
|
29
69
|
`;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
70
|
+
try {
|
|
71
|
+
fs_1.default.writeFileSync(hookPath, hookContent, { encoding: "utf-8", mode: 0o755 });
|
|
72
|
+
log("📝 Hook file written");
|
|
73
|
+
if (fs_1.default.existsSync(hookPath)) {
|
|
74
|
+
const stats = fs_1.default.statSync(hookPath);
|
|
75
|
+
const isExecutable = (stats.mode & 0o111) !== 0;
|
|
76
|
+
log(`✅ Pre-push hook installed successfully!`);
|
|
77
|
+
log(`🔐 Executable: ${isExecutable}`);
|
|
78
|
+
log(`📊 File size: ${stats.size} bytes`);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
log("❌ Hook file was not created!");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
log(`❌ Write error: ${err.message}`);
|
|
86
|
+
log(err.stack);
|
|
87
|
+
}
|
|
88
|
+
log("=== Installation Complete ===");
|
|
89
|
+
log(`Check log file at: ${logFile}`);
|
|
34
90
|
}
|
|
35
91
|
try {
|
|
36
92
|
installPrePushHook();
|
|
37
93
|
}
|
|
38
94
|
catch (err) {
|
|
39
|
-
|
|
95
|
+
log(`❌ Fatal error: ${err.message}`);
|
|
96
|
+
log(err.stack);
|
|
40
97
|
}
|
|
41
98
|
// #!/usr/bin/env node
|
|
42
99
|
// import fs from "fs";
|
|
@@ -52,12 +109,13 @@ catch (err) {
|
|
|
52
109
|
// return;
|
|
53
110
|
// }
|
|
54
111
|
// fs.mkdirSync(hookDir, { recursive: true });
|
|
55
|
-
// // 2️⃣
|
|
112
|
+
// // 2️⃣ Hook content — run xavcli_postinstall but never stop push
|
|
56
113
|
// const hookContent = `#!/bin/bash
|
|
57
114
|
// # Auto-generated by xavren installer
|
|
58
|
-
// # This hook runs xavcli postinstall logic before pushing
|
|
115
|
+
// # This hook runs xavcli postinstall logic before pushing, but never aborts the push
|
|
59
116
|
// echo "🚀 Running xavcli postinstall before git push..."
|
|
60
|
-
//
|
|
117
|
+
// # Run postinstall CLI
|
|
118
|
+
// xavcli_postinstall || echo "⚠️ xavcli_postinstall failed, but continuing push..."
|
|
61
119
|
// `;
|
|
62
120
|
// // 3️⃣ Write or overwrite the hook file
|
|
63
121
|
// fs.writeFileSync(hookPath, hookContent, "utf-8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepush_Setup.js","sourceRoot":"","sources":["../../src/scripts/prepush_Setup.ts"],"names":[],"mappings":";;;;;;AAEA,4CAAoB;AACpB,gDAAwB;AAExB,SAAS,kBAAkB;IACzB,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"prepush_Setup.js","sourceRoot":"","sources":["../../src/scripts/prepush_Setup.ts"],"names":[],"mappings":"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"}
|