draken 0.1.2 → 0.1.3
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/db/schema.d.ts +6 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +19 -5
- package/dist/db/schema.js.map +1 -1
- package/dist/docker/dockerfile.d.ts +46 -1
- package/dist/docker/dockerfile.d.ts.map +1 -1
- package/dist/docker/dockerfile.js +130 -2
- package/dist/docker/dockerfile.js.map +1 -1
- package/dist/docker/manager.d.ts.map +1 -1
- package/dist/docker/manager.js +32 -1
- package/dist/docker/manager.js.map +1 -1
- package/dist/git/status.d.ts +40 -0
- package/dist/git/status.d.ts.map +1 -1
- package/dist/git/status.js +127 -8
- package/dist/git/status.js.map +1 -1
- package/dist/routes/git.d.ts +6 -0
- package/dist/routes/git.d.ts.map +1 -1
- package/dist/routes/git.js +218 -15
- package/dist/routes/git.js.map +1 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +74 -3
- package/dist/routes/projects.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/index-3ngsG5kF.css +1 -0
- package/public/assets/index-B3YSD0ee.js +252 -0
- package/public/favicon.png +0 -0
- package/public/index.html +3 -3
- package/public/assets/index-BilzDBd-.css +0 -1
- package/public/assets/index-lyPbwx6X.js +0 -237
package/dist/db/schema.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
|
+
/**
|
|
3
|
+
* Get the draken data directory
|
|
4
|
+
* Uses DRAKEN_DATA_DIR env var if set, otherwise ~/.draken
|
|
5
|
+
* Works cross-platform (Windows, macOS, Linux)
|
|
6
|
+
*/
|
|
7
|
+
export declare function getDataDir(): string;
|
|
2
8
|
export declare function getDb(): Database.Database;
|
|
3
9
|
export declare function closeDb(): void;
|
|
4
10
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/db/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAKtC;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAKnC;AAOD,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAczC;AA2CD,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}
|
package/dist/db/schema.js
CHANGED
|
@@ -3,23 +3,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getDataDir = getDataDir;
|
|
6
7
|
exports.getDb = getDb;
|
|
7
8
|
exports.closeDb = closeDb;
|
|
8
9
|
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
9
10
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const
|
|
11
|
+
const os_1 = __importDefault(require("os"));
|
|
12
|
+
const fs_1 = __importDefault(require("fs"));
|
|
13
|
+
/**
|
|
14
|
+
* Get the draken data directory
|
|
15
|
+
* Uses DRAKEN_DATA_DIR env var if set, otherwise ~/.draken
|
|
16
|
+
* Works cross-platform (Windows, macOS, Linux)
|
|
17
|
+
*/
|
|
18
|
+
function getDataDir() {
|
|
19
|
+
if (process.env.DRAKEN_DATA_DIR) {
|
|
20
|
+
return process.env.DRAKEN_DATA_DIR;
|
|
21
|
+
}
|
|
22
|
+
return path_1.default.join(os_1.default.homedir(), '.draken');
|
|
23
|
+
}
|
|
24
|
+
const DATA_DIR = getDataDir();
|
|
25
|
+
const DB_PATH = path_1.default.join(DATA_DIR, 'draken.db');
|
|
11
26
|
let db = null;
|
|
12
27
|
function getDb() {
|
|
13
28
|
if (!db) {
|
|
14
29
|
// Ensure data directory exists
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (!fs.existsSync(dataDir)) {
|
|
18
|
-
fs.mkdirSync(dataDir, { recursive: true });
|
|
30
|
+
if (!fs_1.default.existsSync(DATA_DIR)) {
|
|
31
|
+
fs_1.default.mkdirSync(DATA_DIR, { recursive: true });
|
|
19
32
|
}
|
|
20
33
|
db = new better_sqlite3_1.default(DB_PATH);
|
|
21
34
|
db.pragma('journal_mode = WAL');
|
|
22
35
|
initSchema(db);
|
|
36
|
+
console.log(`Database: ${DB_PATH}`);
|
|
23
37
|
}
|
|
24
38
|
return db;
|
|
25
39
|
}
|
package/dist/db/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":";;;;;AAUA,gCAKC;AAOD,sBAcC;AA2CD,0BAKC;AApFD,oEAAsC;AACtC,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AAEpB;;;;GAIG;AACH,SAAgB,UAAU;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACrC,CAAC;IACD,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;AAC9B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAEjD,IAAI,EAAE,GAA6B,IAAI,CAAC;AAExC,SAAgB,KAAK;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,+BAA+B;QAC/B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,YAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,EAAE,GAAG,IAAI,wBAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,EAAqB;IACvC,gBAAgB;IAChB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;GAuBP,CAAC,CAAC;IAEH,uDAAuD;IACvD,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,qEAAqE;IACrE,EAAE,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;AAClF,CAAC;AAED,SAAgB,OAAO;IACrB,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,50 @@
|
|
|
1
|
+
export interface MountConfig {
|
|
2
|
+
alias: string;
|
|
3
|
+
path: string;
|
|
4
|
+
}
|
|
1
5
|
export declare function getDockerfilePath(projectPath: string): string;
|
|
2
6
|
export declare function dockerfileExists(projectPath: string): boolean;
|
|
3
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Parse DRAKEN_MOUNT comments from dockerfile content
|
|
9
|
+
* Format: # DRAKEN_MOUNT alias=/path/to/directory
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseMountsFromDockerfile(content: string): MountConfig[];
|
|
12
|
+
/**
|
|
13
|
+
* Generate mount comments for dockerfile
|
|
14
|
+
*/
|
|
15
|
+
export declare function generateMountComments(mounts: MountConfig[]): string;
|
|
16
|
+
/**
|
|
17
|
+
* Update mounts in dockerfile content
|
|
18
|
+
* Replaces existing DRAKEN_MOUNT comments with new ones
|
|
19
|
+
*/
|
|
20
|
+
export declare function updateMountsInDockerfile(content: string, mounts: MountConfig[]): string;
|
|
21
|
+
/**
|
|
22
|
+
* Generate a new dockerfile with mount configuration
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateDockerfile(projectPath: string, mounts?: MountConfig[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* Generate dockerfile with a single mount (backward compatible)
|
|
27
|
+
*/
|
|
28
|
+
export declare function generateDockerfileWithMount(projectPath: string, alias: string, mountPath: string): void;
|
|
4
29
|
export declare function getDockerfileContent(projectPath: string): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Get mounts configured in a project's dockerfile
|
|
32
|
+
*/
|
|
33
|
+
export declare function getProjectMounts(projectPath: string): MountConfig[];
|
|
34
|
+
/**
|
|
35
|
+
* Add a mount to an existing dockerfile
|
|
36
|
+
*/
|
|
37
|
+
export declare function addMountToDockerfile(projectPath: string, alias: string, mountPath: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Remove a mount from dockerfile
|
|
40
|
+
*/
|
|
41
|
+
export declare function removeMountFromDockerfile(projectPath: string, alias: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Update a mount path in dockerfile
|
|
44
|
+
*/
|
|
45
|
+
export declare function updateMountInDockerfile(projectPath: string, alias: string, newPath: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* Derive alias from path (last directory name)
|
|
48
|
+
*/
|
|
49
|
+
export declare function deriveAliasFromPath(mountPath: string): string;
|
|
5
50
|
//# sourceMappingURL=dockerfile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerfile.d.ts","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"dockerfile.d.ts","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAcxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAKnE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAWvF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAUpF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAEvG;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAInE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAiBhG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAelF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgBjG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI7D"}
|
|
@@ -5,8 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getDockerfilePath = getDockerfilePath;
|
|
7
7
|
exports.dockerfileExists = dockerfileExists;
|
|
8
|
+
exports.parseMountsFromDockerfile = parseMountsFromDockerfile;
|
|
9
|
+
exports.generateMountComments = generateMountComments;
|
|
10
|
+
exports.updateMountsInDockerfile = updateMountsInDockerfile;
|
|
8
11
|
exports.generateDockerfile = generateDockerfile;
|
|
12
|
+
exports.generateDockerfileWithMount = generateDockerfileWithMount;
|
|
9
13
|
exports.getDockerfileContent = getDockerfileContent;
|
|
14
|
+
exports.getProjectMounts = getProjectMounts;
|
|
15
|
+
exports.addMountToDockerfile = addMountToDockerfile;
|
|
16
|
+
exports.removeMountFromDockerfile = removeMountFromDockerfile;
|
|
17
|
+
exports.updateMountInDockerfile = updateMountInDockerfile;
|
|
18
|
+
exports.deriveAliasFromPath = deriveAliasFromPath;
|
|
10
19
|
const fs_1 = __importDefault(require("fs"));
|
|
11
20
|
const path_1 = __importDefault(require("path"));
|
|
12
21
|
const TEMPLATE_PATH = path_1.default.join(__dirname, '../../draken.dockerfile.template');
|
|
@@ -17,10 +26,62 @@ function getDockerfilePath(projectPath) {
|
|
|
17
26
|
function dockerfileExists(projectPath) {
|
|
18
27
|
return fs_1.default.existsSync(getDockerfilePath(projectPath));
|
|
19
28
|
}
|
|
20
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Parse DRAKEN_MOUNT comments from dockerfile content
|
|
31
|
+
* Format: # DRAKEN_MOUNT alias=/path/to/directory
|
|
32
|
+
*/
|
|
33
|
+
function parseMountsFromDockerfile(content) {
|
|
34
|
+
const mounts = [];
|
|
35
|
+
const mountRegex = /^#\s*DRAKEN_MOUNT\s+(\w+)=(.+)$/gm;
|
|
36
|
+
let match;
|
|
37
|
+
while ((match = mountRegex.exec(content)) !== null) {
|
|
38
|
+
const alias = match[1].trim();
|
|
39
|
+
const mountPath = match[2].trim();
|
|
40
|
+
if (alias && mountPath) {
|
|
41
|
+
mounts.push({ alias, path: mountPath });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return mounts;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Generate mount comments for dockerfile
|
|
48
|
+
*/
|
|
49
|
+
function generateMountComments(mounts) {
|
|
50
|
+
if (mounts.length === 0)
|
|
51
|
+
return '';
|
|
52
|
+
const lines = mounts.map(m => `# DRAKEN_MOUNT ${m.alias}=${m.path}`);
|
|
53
|
+
return lines.join('\n') + '\n\n';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Update mounts in dockerfile content
|
|
57
|
+
* Replaces existing DRAKEN_MOUNT comments with new ones
|
|
58
|
+
*/
|
|
59
|
+
function updateMountsInDockerfile(content, mounts) {
|
|
60
|
+
// Remove existing mount comments
|
|
61
|
+
const withoutMounts = content.replace(/^#\s*DRAKEN_MOUNT\s+\w+=.+\n?/gm, '');
|
|
62
|
+
// Add new mount comments at the top
|
|
63
|
+
const mountComments = generateMountComments(mounts);
|
|
64
|
+
// Clean up any leading whitespace from removal
|
|
65
|
+
const cleaned = withoutMounts.replace(/^\n+/, '');
|
|
66
|
+
return mountComments + cleaned;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate a new dockerfile with mount configuration
|
|
70
|
+
*/
|
|
71
|
+
function generateDockerfile(projectPath, mounts) {
|
|
21
72
|
const templateContent = fs_1.default.readFileSync(TEMPLATE_PATH, 'utf-8');
|
|
22
73
|
const dockerfilePath = getDockerfilePath(projectPath);
|
|
23
|
-
|
|
74
|
+
let content = templateContent;
|
|
75
|
+
if (mounts && mounts.length > 0) {
|
|
76
|
+
content = generateMountComments(mounts) + templateContent;
|
|
77
|
+
}
|
|
78
|
+
fs_1.default.writeFileSync(dockerfilePath, content);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Generate dockerfile with a single mount (backward compatible)
|
|
82
|
+
*/
|
|
83
|
+
function generateDockerfileWithMount(projectPath, alias, mountPath) {
|
|
84
|
+
generateDockerfile(projectPath, [{ alias, path: mountPath }]);
|
|
24
85
|
}
|
|
25
86
|
function getDockerfileContent(projectPath) {
|
|
26
87
|
const dockerfilePath = getDockerfilePath(projectPath);
|
|
@@ -29,4 +90,71 @@ function getDockerfileContent(projectPath) {
|
|
|
29
90
|
}
|
|
30
91
|
return null;
|
|
31
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Get mounts configured in a project's dockerfile
|
|
95
|
+
*/
|
|
96
|
+
function getProjectMounts(projectPath) {
|
|
97
|
+
const content = getDockerfileContent(projectPath);
|
|
98
|
+
if (!content)
|
|
99
|
+
return [];
|
|
100
|
+
return parseMountsFromDockerfile(content);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Add a mount to an existing dockerfile
|
|
104
|
+
*/
|
|
105
|
+
function addMountToDockerfile(projectPath, alias, mountPath) {
|
|
106
|
+
const content = getDockerfileContent(projectPath);
|
|
107
|
+
if (!content) {
|
|
108
|
+
throw new Error('Dockerfile does not exist');
|
|
109
|
+
}
|
|
110
|
+
const existingMounts = parseMountsFromDockerfile(content);
|
|
111
|
+
// Check for duplicate alias
|
|
112
|
+
if (existingMounts.some(m => m.alias === alias)) {
|
|
113
|
+
throw new Error(`Mount with alias "${alias}" already exists`);
|
|
114
|
+
}
|
|
115
|
+
existingMounts.push({ alias, path: mountPath });
|
|
116
|
+
const updatedContent = updateMountsInDockerfile(content, existingMounts);
|
|
117
|
+
fs_1.default.writeFileSync(getDockerfilePath(projectPath), updatedContent);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Remove a mount from dockerfile
|
|
121
|
+
*/
|
|
122
|
+
function removeMountFromDockerfile(projectPath, alias) {
|
|
123
|
+
const content = getDockerfileContent(projectPath);
|
|
124
|
+
if (!content) {
|
|
125
|
+
throw new Error('Dockerfile does not exist');
|
|
126
|
+
}
|
|
127
|
+
const existingMounts = parseMountsFromDockerfile(content);
|
|
128
|
+
const filteredMounts = existingMounts.filter(m => m.alias !== alias);
|
|
129
|
+
if (filteredMounts.length === existingMounts.length) {
|
|
130
|
+
throw new Error(`Mount with alias "${alias}" not found`);
|
|
131
|
+
}
|
|
132
|
+
const updatedContent = updateMountsInDockerfile(content, filteredMounts);
|
|
133
|
+
fs_1.default.writeFileSync(getDockerfilePath(projectPath), updatedContent);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Update a mount path in dockerfile
|
|
137
|
+
*/
|
|
138
|
+
function updateMountInDockerfile(projectPath, alias, newPath) {
|
|
139
|
+
const content = getDockerfileContent(projectPath);
|
|
140
|
+
if (!content) {
|
|
141
|
+
throw new Error('Dockerfile does not exist');
|
|
142
|
+
}
|
|
143
|
+
const existingMounts = parseMountsFromDockerfile(content);
|
|
144
|
+
const mount = existingMounts.find(m => m.alias === alias);
|
|
145
|
+
if (!mount) {
|
|
146
|
+
throw new Error(`Mount with alias "${alias}" not found`);
|
|
147
|
+
}
|
|
148
|
+
mount.path = newPath;
|
|
149
|
+
const updatedContent = updateMountsInDockerfile(content, existingMounts);
|
|
150
|
+
fs_1.default.writeFileSync(getDockerfilePath(projectPath), updatedContent);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Derive alias from path (last directory name)
|
|
154
|
+
*/
|
|
155
|
+
function deriveAliasFromPath(mountPath) {
|
|
156
|
+
const basename = path_1.default.basename(mountPath);
|
|
157
|
+
// Sanitize: only allow alphanumeric, dash, underscore
|
|
158
|
+
return basename.replace(/[^a-zA-Z0-9_-]/g, '_').toLowerCase();
|
|
159
|
+
}
|
|
32
160
|
//# sourceMappingURL=dockerfile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerfile.js","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"dockerfile.js","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAiEtC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAoB7D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAoBzC;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/F;AAED,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAiEtC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAoB7D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAoBzC;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/F;AAED,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAoOnE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7E;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQrE"}
|
package/dist/docker/manager.js
CHANGED
|
@@ -165,11 +165,12 @@ async function runTask(projectPath, projectId, prompt, taskId, resumeSessionId /
|
|
|
165
165
|
if (!fs_1.default.existsSync(sessionsDir)) {
|
|
166
166
|
fs_1.default.mkdirSync(sessionsDir, { recursive: true });
|
|
167
167
|
}
|
|
168
|
+
// Get mount configuration from dockerfile
|
|
169
|
+
const mounts = (0, dockerfile_1.getProjectMounts)(projectPath);
|
|
168
170
|
// Build docker run arguments
|
|
169
171
|
const dockerArgs = [
|
|
170
172
|
'run',
|
|
171
173
|
'--rm',
|
|
172
|
-
'-v', `${projectPath}:/workspace`,
|
|
173
174
|
'--log-driver', 'json-file',
|
|
174
175
|
// Force color output in terminal commands
|
|
175
176
|
'-e', 'TERM=xterm-256color',
|
|
@@ -177,6 +178,36 @@ async function runTask(projectPath, projectId, prompt, taskId, resumeSessionId /
|
|
|
177
178
|
'-e', 'CLICOLOR=1',
|
|
178
179
|
'-e', 'CLICOLOR_FORCE=1',
|
|
179
180
|
];
|
|
181
|
+
// Mount project directories
|
|
182
|
+
if (mounts.length > 0) {
|
|
183
|
+
console.log(`[runTask] Mounting ${mounts.length} directories:`);
|
|
184
|
+
// Multi-repo mode: mount each configured path with its alias
|
|
185
|
+
for (const mount of mounts) {
|
|
186
|
+
dockerArgs.push('-v', `${mount.path}:/workspace/${mount.alias}`);
|
|
187
|
+
// Hide .git for each mount (only if it's a git repo)
|
|
188
|
+
const gitDir = path_1.default.join(mount.path, '.git');
|
|
189
|
+
if (fs_1.default.existsSync(gitDir)) {
|
|
190
|
+
dockerArgs.push('--mount', `type=tmpfs,destination=/workspace/${mount.alias}/.git,tmpfs-size=1m`);
|
|
191
|
+
console.log(` - ${mount.alias}: ${mount.path} (git repo, .git hidden)`);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
console.log(` - ${mount.alias}: ${mount.path} (not a git repo)`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
// Backward compatibility: single project mode
|
|
200
|
+
dockerArgs.push('-v', `${projectPath}:/workspace`);
|
|
201
|
+
// Hide .git only if it exists
|
|
202
|
+
const gitDir = path_1.default.join(projectPath, '.git');
|
|
203
|
+
if (fs_1.default.existsSync(gitDir)) {
|
|
204
|
+
dockerArgs.push('--mount', 'type=tmpfs,destination=/workspace/.git,tmpfs-size=1m');
|
|
205
|
+
console.log(`[runTask] Mounting: ${projectPath} (git repo, .git hidden)`);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
console.log(`[runTask] Mounting: ${projectPath} (not a git repo)`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
180
211
|
// Add authentication based on type
|
|
181
212
|
if (auth.type === 'oauth') {
|
|
182
213
|
// Mount the Claude config directory for OAuth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/git/status.d.ts
CHANGED
|
@@ -16,7 +16,47 @@ export interface GitDiff {
|
|
|
16
16
|
staged: string;
|
|
17
17
|
unstaged: string;
|
|
18
18
|
}
|
|
19
|
+
export interface GitBranch {
|
|
20
|
+
name: string;
|
|
21
|
+
current: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface CommitResult {
|
|
24
|
+
hash: string;
|
|
25
|
+
message: string;
|
|
26
|
+
}
|
|
19
27
|
export declare function isGitRepo(projectPath: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* List all local branches
|
|
30
|
+
*/
|
|
31
|
+
export declare function listBranches(projectPath: string): Promise<GitBranch[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Create a new branch
|
|
34
|
+
*/
|
|
35
|
+
export declare function createBranch(projectPath: string, branchName: string, checkout?: boolean): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Checkout an existing branch
|
|
38
|
+
*/
|
|
39
|
+
export declare function checkoutBranch(projectPath: string, branchName: string): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Stage files for commit
|
|
42
|
+
*/
|
|
43
|
+
export declare function stageFiles(projectPath: string, files: string[]): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Stage all changes
|
|
46
|
+
*/
|
|
47
|
+
export declare function stageAll(projectPath: string): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Unstage files
|
|
50
|
+
*/
|
|
51
|
+
export declare function unstageFiles(projectPath: string, files: string[]): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Unstage all files
|
|
54
|
+
*/
|
|
55
|
+
export declare function unstageAll(projectPath: string): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Commit staged changes
|
|
58
|
+
*/
|
|
59
|
+
export declare function commit(projectPath: string, message: string): Promise<CommitResult>;
|
|
20
60
|
export declare function getGitStatus(projectPath: string): Promise<GitStatus>;
|
|
21
61
|
export declare function getGitDiff(projectPath: string, staged?: boolean): Promise<string>;
|
|
22
62
|
export declare function getGitDiffs(projectPath: string): Promise<GitDiff>;
|
package/dist/git/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACnE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACnE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAYtD;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAiB5E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnH;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnE;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBxF;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAuG1E;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9F;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvE;AAaD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,eAAe,CAAC,CA0D1B"}
|
package/dist/git/status.js
CHANGED
|
@@ -4,6 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.isGitRepo = isGitRepo;
|
|
7
|
+
exports.listBranches = listBranches;
|
|
8
|
+
exports.createBranch = createBranch;
|
|
9
|
+
exports.checkoutBranch = checkoutBranch;
|
|
10
|
+
exports.stageFiles = stageFiles;
|
|
11
|
+
exports.stageAll = stageAll;
|
|
12
|
+
exports.unstageFiles = unstageFiles;
|
|
13
|
+
exports.unstageAll = unstageAll;
|
|
14
|
+
exports.commit = commit;
|
|
7
15
|
exports.getGitStatus = getGitStatus;
|
|
8
16
|
exports.getGitDiff = getGitDiff;
|
|
9
17
|
exports.getGitDiffs = getGitDiffs;
|
|
@@ -12,12 +20,124 @@ const simple_git_1 = __importDefault(require("simple-git"));
|
|
|
12
20
|
const path_1 = __importDefault(require("path"));
|
|
13
21
|
const fs_1 = __importDefault(require("fs"));
|
|
14
22
|
function isGitRepo(projectPath) {
|
|
15
|
-
|
|
16
|
-
|
|
23
|
+
try {
|
|
24
|
+
const gitDir = path_1.default.join(projectPath, '.git');
|
|
25
|
+
if (!fs_1.default.existsSync(gitDir)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
// Check if it's a directory (normal repo) or file (worktree/submodule)
|
|
29
|
+
const stat = fs_1.default.statSync(gitDir);
|
|
30
|
+
return stat.isDirectory() || stat.isFile();
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
17
35
|
}
|
|
18
36
|
function createGit(projectPath) {
|
|
19
37
|
return (0, simple_git_1.default)(projectPath, { binary: 'git', maxConcurrentProcesses: 6 });
|
|
20
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* List all local branches
|
|
41
|
+
*/
|
|
42
|
+
async function listBranches(projectPath) {
|
|
43
|
+
if (!isGitRepo(projectPath)) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const git = createGit(projectPath);
|
|
48
|
+
const branchSummary = await git.branchLocal();
|
|
49
|
+
return branchSummary.all.map(name => ({
|
|
50
|
+
name,
|
|
51
|
+
current: name === branchSummary.current,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Not a valid git repo - return empty
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create a new branch
|
|
61
|
+
*/
|
|
62
|
+
async function createBranch(projectPath, branchName, checkout = true) {
|
|
63
|
+
if (!isGitRepo(projectPath)) {
|
|
64
|
+
throw new Error('Not a git repository');
|
|
65
|
+
}
|
|
66
|
+
const git = createGit(projectPath);
|
|
67
|
+
if (checkout) {
|
|
68
|
+
await git.checkoutLocalBranch(branchName);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
await git.branch([branchName]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Checkout an existing branch
|
|
76
|
+
*/
|
|
77
|
+
async function checkoutBranch(projectPath, branchName) {
|
|
78
|
+
if (!isGitRepo(projectPath)) {
|
|
79
|
+
throw new Error('Not a git repository');
|
|
80
|
+
}
|
|
81
|
+
const git = createGit(projectPath);
|
|
82
|
+
await git.checkout(branchName);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Stage files for commit
|
|
86
|
+
*/
|
|
87
|
+
async function stageFiles(projectPath, files) {
|
|
88
|
+
if (!isGitRepo(projectPath)) {
|
|
89
|
+
throw new Error('Not a git repository');
|
|
90
|
+
}
|
|
91
|
+
const git = createGit(projectPath);
|
|
92
|
+
await git.add(files);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Stage all changes
|
|
96
|
+
*/
|
|
97
|
+
async function stageAll(projectPath) {
|
|
98
|
+
if (!isGitRepo(projectPath)) {
|
|
99
|
+
throw new Error('Not a git repository');
|
|
100
|
+
}
|
|
101
|
+
const git = createGit(projectPath);
|
|
102
|
+
await git.add('-A');
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Unstage files
|
|
106
|
+
*/
|
|
107
|
+
async function unstageFiles(projectPath, files) {
|
|
108
|
+
if (!isGitRepo(projectPath)) {
|
|
109
|
+
throw new Error('Not a git repository');
|
|
110
|
+
}
|
|
111
|
+
const git = createGit(projectPath);
|
|
112
|
+
await git.reset(['HEAD', '--', ...files]);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Unstage all files
|
|
116
|
+
*/
|
|
117
|
+
async function unstageAll(projectPath) {
|
|
118
|
+
if (!isGitRepo(projectPath)) {
|
|
119
|
+
throw new Error('Not a git repository');
|
|
120
|
+
}
|
|
121
|
+
const git = createGit(projectPath);
|
|
122
|
+
await git.reset(['HEAD']);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Commit staged changes
|
|
126
|
+
*/
|
|
127
|
+
async function commit(projectPath, message) {
|
|
128
|
+
if (!isGitRepo(projectPath)) {
|
|
129
|
+
throw new Error('Not a git repository');
|
|
130
|
+
}
|
|
131
|
+
if (!message.trim()) {
|
|
132
|
+
throw new Error('Commit message cannot be empty');
|
|
133
|
+
}
|
|
134
|
+
const git = createGit(projectPath);
|
|
135
|
+
const result = await git.commit(message);
|
|
136
|
+
return {
|
|
137
|
+
hash: result.commit,
|
|
138
|
+
message: message,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
21
141
|
async function getGitStatus(projectPath) {
|
|
22
142
|
if (!isGitRepo(projectPath)) {
|
|
23
143
|
return {
|
|
@@ -100,8 +220,8 @@ async function getGitStatus(projectPath) {
|
|
|
100
220
|
hasUntrackedFiles,
|
|
101
221
|
};
|
|
102
222
|
}
|
|
103
|
-
catch
|
|
104
|
-
|
|
223
|
+
catch {
|
|
224
|
+
// Not a valid git repo or git error - return as non-repo
|
|
105
225
|
return {
|
|
106
226
|
isRepo: false,
|
|
107
227
|
branch: null,
|
|
@@ -122,8 +242,7 @@ async function getGitDiff(projectPath, staged = false) {
|
|
|
122
242
|
const options = staged ? ['--cached'] : [];
|
|
123
243
|
return await git.diff(options);
|
|
124
244
|
}
|
|
125
|
-
catch
|
|
126
|
-
console.error('Error getting git diff:', err);
|
|
245
|
+
catch {
|
|
127
246
|
return '';
|
|
128
247
|
}
|
|
129
248
|
}
|
|
@@ -200,8 +319,8 @@ async function getFileDiffContent(projectPath, filePath, staged) {
|
|
|
200
319
|
}
|
|
201
320
|
}
|
|
202
321
|
}
|
|
203
|
-
catch
|
|
204
|
-
|
|
322
|
+
catch {
|
|
323
|
+
// Git error - return empty content
|
|
205
324
|
}
|
|
206
325
|
return {
|
|
207
326
|
oldContent,
|