@almadar/workspace 0.10.0 → 0.11.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.
- package/dist/index.js +18 -6
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path2 from 'path';
|
|
2
|
-
import fs from 'fs';
|
|
2
|
+
import fs, { existsSync } from 'fs';
|
|
3
3
|
import { execFile } from 'child_process';
|
|
4
|
+
import dugite from 'dugite';
|
|
4
5
|
import { randomBytes, createHash } from 'crypto';
|
|
5
6
|
import { EmbeddingClient } from '@almadar/llm';
|
|
6
7
|
import os from 'os';
|
|
@@ -380,7 +381,10 @@ function createProjectOrbTemplate(projectName, appId) {
|
|
|
380
381
|
function serializeJson(value) {
|
|
381
382
|
return JSON.stringify(value, null, 2);
|
|
382
383
|
}
|
|
383
|
-
var
|
|
384
|
+
var { gitLocation: BUNDLED_GIT, env: BUNDLED_GIT_ENV } = dugite.setupEnvironment({});
|
|
385
|
+
var USE_BUNDLED = !process.env.ALMADAR_GIT_BINARY && existsSync(BUNDLED_GIT);
|
|
386
|
+
var GIT_BINARY = process.env.ALMADAR_GIT_BINARY || (USE_BUNDLED ? BUNDLED_GIT : "git");
|
|
387
|
+
var GIT_ENV = USE_BUNDLED ? { ...process.env, ...BUNDLED_GIT_ENV } : process.env;
|
|
384
388
|
var GitClient = class {
|
|
385
389
|
constructor(cwd, backend) {
|
|
386
390
|
this.cwd = cwd;
|
|
@@ -506,7 +510,7 @@ var GitClient = class {
|
|
|
506
510
|
};
|
|
507
511
|
function execGit(args, cwd) {
|
|
508
512
|
return new Promise((resolve, reject) => {
|
|
509
|
-
execFile(GIT_BINARY, args, { cwd, maxBuffer: 64 * 1024 * 1024 }, (err, stdout, stderr) => {
|
|
513
|
+
execFile(GIT_BINARY, args, { cwd, env: GIT_ENV, maxBuffer: 64 * 1024 * 1024 }, (err, stdout, stderr) => {
|
|
510
514
|
if (err) {
|
|
511
515
|
const message = stderr?.trim() || stdout?.trim() || err.message;
|
|
512
516
|
reject(new Error(`git ${args[0]}: ${message}`));
|
|
@@ -2209,10 +2213,14 @@ var WorkspaceServiceImpl = class {
|
|
|
2209
2213
|
await this.backend.rm(cloneDir, { recursive: true }).catch(() => {
|
|
2210
2214
|
});
|
|
2211
2215
|
await this.git.cloneBundle(bundlePath, cloneDir);
|
|
2212
|
-
|
|
2213
|
-
await this.backend.
|
|
2216
|
+
const dotGit = path2.join(this.workDir, ".git");
|
|
2217
|
+
await this.backend.rm(dotGit, { recursive: true }).catch(() => {
|
|
2218
|
+
});
|
|
2219
|
+
await this.backend.rename(path2.join(cloneDir, ".git"), dotGit);
|
|
2214
2220
|
return true;
|
|
2215
2221
|
} finally {
|
|
2222
|
+
await this.backend.rm(cloneDir, { recursive: true }).catch(() => {
|
|
2223
|
+
});
|
|
2216
2224
|
await this.backend.rm(bundlePath).catch(() => {
|
|
2217
2225
|
});
|
|
2218
2226
|
}
|
|
@@ -2373,7 +2381,11 @@ async function openWorkspaceInternal(opts) {
|
|
|
2373
2381
|
}
|
|
2374
2382
|
let git;
|
|
2375
2383
|
if (!bare && opts.backend !== "memory") {
|
|
2376
|
-
|
|
2384
|
+
try {
|
|
2385
|
+
git = await ensureGitInit(backend, resolved.workDir);
|
|
2386
|
+
} catch {
|
|
2387
|
+
git = void 0;
|
|
2388
|
+
}
|
|
2377
2389
|
}
|
|
2378
2390
|
const service = new WorkspaceServiceImpl({
|
|
2379
2391
|
workDir: resolved.workDir,
|