@trebired/code-server-kit 0.3.0 → 1.1.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/CHANGELOG.md +15 -0
- package/README.md +232 -188
- package/dist/diagnostics.d.ts +6 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +150 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/errors.d.ts +5 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/package-resolution.d.ts +3 -0
- package/dist/package-resolution.d.ts.map +1 -0
- package/dist/package-resolution.js +44 -0
- package/dist/package-resolution.js.map +1 -0
- package/dist/plan.d.ts +3 -2
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +95 -86
- package/dist/plan.js.map +1 -1
- package/dist/preparation.d.ts +5 -0
- package/dist/preparation.d.ts.map +1 -0
- package/dist/preparation.js +175 -0
- package/dist/preparation.js.map +1 -0
- package/dist/profile.d.ts +5 -2
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +122 -1
- package/dist/profile.js.map +1 -1
- package/dist/proxy.d.ts +4 -2
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +62 -1
- package/dist/proxy.js.map +1 -1
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +44 -29
- package/dist/resolve.js.map +1 -1
- package/dist/session.d.ts +3 -3
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +427 -533
- package/dist/session.js.map +1 -1
- package/dist/spec.d.ts +3 -3
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +2 -33
- package/dist/spec.js.map +1 -1
- package/dist/systemd.d.ts +5 -2
- package/dist/systemd.d.ts.map +1 -1
- package/dist/systemd.js +57 -6
- package/dist/systemd.js.map +1 -1
- package/dist/types.d.ts +218 -68
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/profile.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { createHash } from "node:crypto";
|
|
3
4
|
const DEFAULT_CODE_SERVER_PROFILE_PATHS = {
|
|
4
5
|
"extensions": "extensions",
|
|
5
6
|
"extensions.json": "User/extensions.json",
|
|
@@ -32,6 +33,7 @@ async function syncCodeServerProfile(options) {
|
|
|
32
33
|
const skipped = [];
|
|
33
34
|
const skipMissing = options.skipMissing ?? true;
|
|
34
35
|
const skipUnreadable = options.skipUnreadable ?? true;
|
|
36
|
+
let changed = false;
|
|
35
37
|
for (const entry of plan.entries) {
|
|
36
38
|
try {
|
|
37
39
|
await fs.promises.mkdir(path.dirname(entry.targetPath), { recursive: true });
|
|
@@ -40,6 +42,7 @@ async function syncCodeServerProfile(options) {
|
|
|
40
42
|
recursive: entry.kind === "directory",
|
|
41
43
|
});
|
|
42
44
|
copied.push(entry);
|
|
45
|
+
changed = true;
|
|
43
46
|
}
|
|
44
47
|
catch (error) {
|
|
45
48
|
if (isMissingError(error) && skipMissing) {
|
|
@@ -60,10 +63,71 @@ async function syncCodeServerProfile(options) {
|
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
return {
|
|
66
|
+
changed,
|
|
63
67
|
copied,
|
|
64
68
|
skipped,
|
|
65
69
|
};
|
|
66
70
|
}
|
|
71
|
+
async function readCodeServerProfileSnapshot(options) {
|
|
72
|
+
const rootDir = path.resolve(options.rootDir);
|
|
73
|
+
const items = normalizeProfileItems(options.items);
|
|
74
|
+
const pathMap = resolveProfilePathMap(options.pathMap);
|
|
75
|
+
const entries = [];
|
|
76
|
+
for (const item of items) {
|
|
77
|
+
const targetPath = path.join(rootDir, pathMap[item]);
|
|
78
|
+
entries.push({
|
|
79
|
+
item,
|
|
80
|
+
present: exists(targetPath),
|
|
81
|
+
signature: await readEntrySignature(targetPath),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
if (options.snapshotExtensions && !entries.some((value) => value.item === "extensions")) {
|
|
85
|
+
const targetPath = path.join(rootDir, pathMap.extensions);
|
|
86
|
+
entries.push({
|
|
87
|
+
item: "extensions",
|
|
88
|
+
present: exists(targetPath),
|
|
89
|
+
signature: await readEntrySignature(targetPath),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
entries,
|
|
94
|
+
rootDir,
|
|
95
|
+
signature: hashJson(entries),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
async function readCodeServerProfileSignature(options) {
|
|
99
|
+
const snapshot = await readCodeServerProfileSnapshot(options);
|
|
100
|
+
return snapshot.signature;
|
|
101
|
+
}
|
|
102
|
+
async function persistCodeServerProfileIfChanged(options) {
|
|
103
|
+
const previousSignature = await safeReadSignature({
|
|
104
|
+
items: options.items,
|
|
105
|
+
pathMap: options.pathMap,
|
|
106
|
+
rootDir: options.targetDir,
|
|
107
|
+
snapshotExtensions: options.snapshotExtensions,
|
|
108
|
+
});
|
|
109
|
+
const nextSignature = await readCodeServerProfileSignature({
|
|
110
|
+
items: options.items,
|
|
111
|
+
pathMap: options.pathMap,
|
|
112
|
+
rootDir: options.sourceDir,
|
|
113
|
+
snapshotExtensions: options.snapshotExtensions,
|
|
114
|
+
});
|
|
115
|
+
if (previousSignature && previousSignature === nextSignature) {
|
|
116
|
+
return {
|
|
117
|
+
changed: false,
|
|
118
|
+
copied: [],
|
|
119
|
+
nextSignature,
|
|
120
|
+
previousSignature,
|
|
121
|
+
skipped: [],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const result = await syncCodeServerProfile(options);
|
|
125
|
+
return {
|
|
126
|
+
...result,
|
|
127
|
+
nextSignature,
|
|
128
|
+
previousSignature,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
67
131
|
function resolveCodeServerProfilePathMap(overrides) {
|
|
68
132
|
return resolveProfilePathMap(overrides);
|
|
69
133
|
}
|
|
@@ -94,6 +158,63 @@ function createProfileSyncEntry(item, sourceDir, targetDir, relativePath) {
|
|
|
94
158
|
targetPath: path.join(targetDir, relativePath),
|
|
95
159
|
};
|
|
96
160
|
}
|
|
161
|
+
async function readEntrySignature(targetPath) {
|
|
162
|
+
if (!exists(targetPath))
|
|
163
|
+
return null;
|
|
164
|
+
const stats = await fs.promises.stat(targetPath);
|
|
165
|
+
if (stats.isFile()) {
|
|
166
|
+
return createHash("sha256")
|
|
167
|
+
.update(await fs.promises.readFile(targetPath))
|
|
168
|
+
.digest("hex");
|
|
169
|
+
}
|
|
170
|
+
if (!stats.isDirectory()) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
const files = await listFiles(targetPath);
|
|
174
|
+
const hash = createHash("sha256");
|
|
175
|
+
for (const filePath of files) {
|
|
176
|
+
hash.update(path.relative(targetPath, filePath));
|
|
177
|
+
hash.update(await fs.promises.readFile(filePath));
|
|
178
|
+
}
|
|
179
|
+
return hash.digest("hex");
|
|
180
|
+
}
|
|
181
|
+
async function listFiles(rootDir) {
|
|
182
|
+
const values = [];
|
|
183
|
+
const entries = await fs.promises.readdir(rootDir, { withFileTypes: true });
|
|
184
|
+
for (const entry of entries) {
|
|
185
|
+
const filePath = path.join(rootDir, entry.name);
|
|
186
|
+
if (entry.isDirectory()) {
|
|
187
|
+
values.push(...await listFiles(filePath));
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (entry.isFile()) {
|
|
191
|
+
values.push(filePath);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return values.sort();
|
|
195
|
+
}
|
|
196
|
+
async function safeReadSignature(options) {
|
|
197
|
+
try {
|
|
198
|
+
return await readCodeServerProfileSignature(options);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function hashJson(value) {
|
|
205
|
+
return createHash("sha256")
|
|
206
|
+
.update(JSON.stringify(value))
|
|
207
|
+
.digest("hex");
|
|
208
|
+
}
|
|
209
|
+
function exists(value) {
|
|
210
|
+
try {
|
|
211
|
+
fs.accessSync(value);
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
97
218
|
function isMissingError(error) {
|
|
98
219
|
return typeof error === "object" && error != null && "code" in error && String(error.code) === "ENOENT";
|
|
99
220
|
}
|
|
@@ -103,5 +224,5 @@ function isUnreadableError(error) {
|
|
|
103
224
|
const code = String(error.code);
|
|
104
225
|
return code === "EACCES" || code === "EPERM";
|
|
105
226
|
}
|
|
106
|
-
export { DEFAULT_CODE_SERVER_PROFILE_ITEMS, DEFAULT_CODE_SERVER_PROFILE_PATHS, createCodeServerProfileSyncPlan, resolveCodeServerProfilePathMap, syncCodeServerProfile, };
|
|
227
|
+
export { DEFAULT_CODE_SERVER_PROFILE_ITEMS, DEFAULT_CODE_SERVER_PROFILE_PATHS, createCodeServerProfileSyncPlan, persistCodeServerProfileIfChanged, readCodeServerProfileSignature, readCodeServerProfileSnapshot, resolveCodeServerProfilePathMap, syncCodeServerProfile, };
|
|
107
228
|
//# sourceMappingURL=profile.js.map
|
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/dist/proxy.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type { BuildForwardedHeadersOptions, CodeServerHtmlResponseOptions } from "./types.js";
|
|
1
|
+
import type { BuildCodeServerWebSocketHeadersOptions, BuildForwardedHeadersOptions, ClassifyCodeServerProxyFailureOptions, CodeServerHtmlResponseOptions, CodeServerProxyFailure } from "./types.js";
|
|
2
2
|
declare function buildForwardedHeaders(options: BuildForwardedHeadersOptions): Record<string, string>;
|
|
3
3
|
declare function isCodeServerHtmlResponse(options: CodeServerHtmlResponseOptions): boolean;
|
|
4
|
+
declare function buildCodeServerWebSocketHeaders(options: BuildCodeServerWebSocketHeadersOptions): Record<string, string>;
|
|
5
|
+
declare function classifyCodeServerProxyFailure(options: ClassifyCodeServerProxyFailureOptions): CodeServerProxyFailure;
|
|
4
6
|
declare function normalizeTrustedOrigin(value: string): string;
|
|
5
|
-
export { buildForwardedHeaders, isCodeServerHtmlResponse, normalizeTrustedOrigin, };
|
|
7
|
+
export { buildCodeServerWebSocketHeaders, buildForwardedHeaders, classifyCodeServerProxyFailure, isCodeServerHtmlResponse, normalizeTrustedOrigin, };
|
|
6
8
|
//# sourceMappingURL=proxy.d.ts.map
|
package/dist/proxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sCAAsC,EACtC,4BAA4B,EAC5B,qCAAqC,EACrC,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,iBAAS,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB5F;AAED,iBAAS,wBAAwB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CASjF;AAED,iBAAS,+BAA+B,CAAC,OAAO,EAAE,sCAAsC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMhH;AAED,iBAAS,8BAA8B,CAAC,OAAO,EAAE,qCAAqC,GAAG,sBAAsB,CA0D9G;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYrD;AAmDD,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,8BAA8B,EAC9B,wBAAwB,EACxB,sBAAsB,GACvB,CAAC"}
|
package/dist/proxy.js
CHANGED
|
@@ -31,6 +31,67 @@ function isCodeServerHtmlResponse(options) {
|
|
|
31
31
|
const contentType = normalizeContentType(options);
|
|
32
32
|
return contentType.startsWith("text/html") || contentType.startsWith("application/xhtml+xml");
|
|
33
33
|
}
|
|
34
|
+
function buildCodeServerWebSocketHeaders(options) {
|
|
35
|
+
return {
|
|
36
|
+
...buildForwardedHeaders(options),
|
|
37
|
+
"connection": normalizeOptionalString(options.connection) ?? "Upgrade",
|
|
38
|
+
"upgrade": normalizeOptionalString(options.upgrade) ?? "websocket",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function classifyCodeServerProxyFailure(options) {
|
|
42
|
+
const errorCode = typeof options.error === "object" && options.error && "code" in options.error
|
|
43
|
+
? String(options.error.code)
|
|
44
|
+
: null;
|
|
45
|
+
const statusCode = options.statusCode ?? null;
|
|
46
|
+
if (errorCode === "ECONNREFUSED" || statusCode === 502) {
|
|
47
|
+
return {
|
|
48
|
+
category: "refused",
|
|
49
|
+
details: {
|
|
50
|
+
code: errorCode,
|
|
51
|
+
statusCode,
|
|
52
|
+
},
|
|
53
|
+
message: "The code-server upstream refused the connection.",
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (errorCode === "ECONNRESET") {
|
|
57
|
+
return {
|
|
58
|
+
category: "reset",
|
|
59
|
+
details: {
|
|
60
|
+
code: errorCode,
|
|
61
|
+
statusCode,
|
|
62
|
+
},
|
|
63
|
+
message: "The code-server upstream reset the connection.",
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (errorCode === "ETIMEDOUT" || statusCode === 504) {
|
|
67
|
+
return {
|
|
68
|
+
category: "timeout",
|
|
69
|
+
details: {
|
|
70
|
+
code: errorCode,
|
|
71
|
+
statusCode,
|
|
72
|
+
},
|
|
73
|
+
message: "The code-server upstream timed out.",
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (statusCode && statusCode >= 500) {
|
|
77
|
+
return {
|
|
78
|
+
category: "upstream_failure",
|
|
79
|
+
details: {
|
|
80
|
+
code: errorCode,
|
|
81
|
+
statusCode,
|
|
82
|
+
},
|
|
83
|
+
message: "The code-server upstream returned an error.",
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
category: "unknown",
|
|
88
|
+
details: {
|
|
89
|
+
code: errorCode,
|
|
90
|
+
statusCode,
|
|
91
|
+
},
|
|
92
|
+
message: "The code-server upstream request failed.",
|
|
93
|
+
};
|
|
94
|
+
}
|
|
34
95
|
function normalizeTrustedOrigin(value) {
|
|
35
96
|
try {
|
|
36
97
|
const origin = new URL(value).origin;
|
|
@@ -88,5 +149,5 @@ function normalizeOptionalString(value) {
|
|
|
88
149
|
const normalized = value.trim();
|
|
89
150
|
return normalized ? normalized : null;
|
|
90
151
|
}
|
|
91
|
-
export { buildForwardedHeaders, isCodeServerHtmlResponse, normalizeTrustedOrigin, };
|
|
152
|
+
export { buildCodeServerWebSocketHeaders, buildForwardedHeaders, classifyCodeServerProxyFailure, isCodeServerHtmlResponse, normalizeTrustedOrigin, };
|
|
92
153
|
//# sourceMappingURL=proxy.js.map
|
package/dist/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/resolve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAuB,sBAAsB,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAQpH,iBAAS,6BAA6B,CACpC,OAAO,GAAE,oCAAyC,GACjD,sBAAsB,CAuDxB;AAuFD,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
package/dist/resolve.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { createRequire } from "node:module";
|
|
4
3
|
import { CodeServerBinaryNotFoundError, CodeServerPackageResolutionError } from "./errors.js";
|
|
4
|
+
import { resolveCodeServerPackageJsonPath } from "./package-resolution.js";
|
|
5
|
+
import { getCodeServerPreparationStatus } from "./preparation.js";
|
|
5
6
|
function resolveCodeServerInstallation(options = {}) {
|
|
6
7
|
const packageJsonPath = resolveCodeServerPackageJsonPath(options.resolveFrom);
|
|
7
8
|
const packageRoot = path.dirname(packageJsonPath);
|
|
@@ -16,43 +17,45 @@ function resolveCodeServerInstallation(options = {}) {
|
|
|
16
17
|
packageRoot,
|
|
17
18
|
});
|
|
18
19
|
}
|
|
20
|
+
const supportRoot = resolveSupportRoot(packageRoot);
|
|
21
|
+
const preparationStatus = getCodeServerPreparationStatus({
|
|
22
|
+
resolveFrom: options.resolveFrom,
|
|
23
|
+
strictWatchdog: options.strictWatchdog,
|
|
24
|
+
});
|
|
19
25
|
return {
|
|
26
|
+
defaultCwd: packageRoot,
|
|
27
|
+
defaultEnv: {},
|
|
28
|
+
entryArgs: [],
|
|
29
|
+
entryCommand: detectEntryKind(entryPoint) === "node_script"
|
|
30
|
+
? process.execPath
|
|
31
|
+
: entryPoint,
|
|
20
32
|
entryKind: detectEntryKind(entryPoint),
|
|
21
33
|
entryPoint,
|
|
22
34
|
entryRelativePath,
|
|
23
35
|
packageJsonPath,
|
|
36
|
+
packageManagerHints: {
|
|
37
|
+
installCommand: "npm install",
|
|
38
|
+
packageManager: "npm",
|
|
39
|
+
},
|
|
24
40
|
packageRoot,
|
|
25
|
-
|
|
41
|
+
preparationStatus,
|
|
42
|
+
recommendedReadablePaths: uniquePaths([
|
|
43
|
+
packageRoot,
|
|
44
|
+
entryPoint,
|
|
45
|
+
supportRoot,
|
|
46
|
+
]),
|
|
47
|
+
supportBindings: supportRoot
|
|
48
|
+
? [{
|
|
49
|
+
access: "read",
|
|
50
|
+
hostPath: supportRoot,
|
|
51
|
+
mountPath: supportRoot,
|
|
52
|
+
reason: "code-server support root",
|
|
53
|
+
}]
|
|
54
|
+
: [],
|
|
55
|
+
supportRoot,
|
|
26
56
|
version: typeof packageJson.version === "string" ? packageJson.version : undefined,
|
|
27
57
|
};
|
|
28
58
|
}
|
|
29
|
-
function resolveCodeServerPackageJsonPath(resolveFrom) {
|
|
30
|
-
const anchorPath = createResolutionAnchor(resolveFrom);
|
|
31
|
-
const requireFrom = createRequire(anchorPath);
|
|
32
|
-
try {
|
|
33
|
-
return requireFrom.resolve("code-server/package.json");
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
throw new CodeServerPackageResolutionError("Could not resolve the installed code-server package.", {
|
|
37
|
-
cause: error instanceof Error ? error.message : String(error),
|
|
38
|
-
resolveFrom: resolveFrom ? path.resolve(resolveFrom) : process.cwd(),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function createResolutionAnchor(resolveFrom) {
|
|
43
|
-
const resolved = path.resolve(resolveFrom ?? process.cwd());
|
|
44
|
-
try {
|
|
45
|
-
const stats = fs.statSync(resolved);
|
|
46
|
-
return stats.isDirectory()
|
|
47
|
-
? path.join(resolved, "__code_server_kit__.js")
|
|
48
|
-
: resolved;
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
return path.extname(resolved)
|
|
52
|
-
? resolved
|
|
53
|
-
: path.join(resolved, "__code_server_kit__.js");
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
59
|
function readCodeServerPackageJson(packageJsonPath) {
|
|
57
60
|
try {
|
|
58
61
|
return JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
@@ -102,6 +105,18 @@ function resolveSupportRoot(packageRoot) {
|
|
|
102
105
|
const supportRoot = path.join(packageRoot, "lib", "vscode");
|
|
103
106
|
return isDirectory(supportRoot) ? supportRoot : null;
|
|
104
107
|
}
|
|
108
|
+
function uniquePaths(values) {
|
|
109
|
+
const normalized = [];
|
|
110
|
+
for (const value of values) {
|
|
111
|
+
if (typeof value !== "string")
|
|
112
|
+
continue;
|
|
113
|
+
const nextValue = path.resolve(value);
|
|
114
|
+
if (!normalized.includes(nextValue)) {
|
|
115
|
+
normalized.push(nextValue);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return normalized;
|
|
119
|
+
}
|
|
105
120
|
function isDirectory(value) {
|
|
106
121
|
try {
|
|
107
122
|
return fs.statSync(value).isDirectory();
|
package/dist/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { CodeServerSessionDiagnostics, CodeServerSessionManager, CodeServerSessionManagerOptions, CodeServerSessionRequest, CodeServerSessionRestartResult, CodeServerSessionStartResult, CodeServerSessionStatus, CodeServerSessionStopResult } from "./types.js";
|
|
2
2
|
declare function createCodeServerSessionManager(options?: CodeServerSessionManagerOptions): CodeServerSessionManager;
|
|
3
3
|
declare function startCodeServerSession(options: CodeServerSessionRequest): Promise<CodeServerSessionStartResult>;
|
|
4
|
-
declare function stopCodeServerSession(options: Pick<CodeServerSessionRequest, "logger" | "loggerAdapter" | "profile" | "sessionKey" | "stateRoot"> & {
|
|
4
|
+
declare function stopCodeServerSession(options: Pick<CodeServerSessionRequest, "logger" | "loggerAdapter" | "profile" | "sanitizer" | "sessionKey" | "stateRoot"> & {
|
|
5
5
|
signal?: NodeJS.Signals | number;
|
|
6
6
|
}): Promise<CodeServerSessionStopResult | null>;
|
|
7
7
|
declare function restartCodeServerSession(options: CodeServerSessionRequest): Promise<CodeServerSessionRestartResult>;
|
|
8
|
-
declare function getCodeServerSessionStatus(options: Pick<CodeServerSessionRequest, "logger" | "loggerAdapter" | "sessionKey" | "stateRoot">): Promise<CodeServerSessionStatus | null>;
|
|
9
|
-
declare function readCodeServerSessionDiagnostics(options: Pick<CodeServerSessionRequest, "sessionKey" | "stateRoot">): Promise<CodeServerSessionDiagnostics | null>;
|
|
8
|
+
declare function getCodeServerSessionStatus(options: Pick<CodeServerSessionRequest, "logger" | "loggerAdapter" | "sanitizer" | "sessionKey" | "stateRoot">): Promise<CodeServerSessionStatus | null>;
|
|
9
|
+
declare function readCodeServerSessionDiagnostics(options: Pick<CodeServerSessionRequest, "sanitizer" | "sessionKey" | "stateRoot">): Promise<CodeServerSessionDiagnostics | null>;
|
|
10
10
|
export { createCodeServerSessionManager, getCodeServerSessionStatus, readCodeServerSessionDiagnostics, restartCodeServerSession, startCodeServerSession, stopCodeServerSession, };
|
|
11
11
|
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAKV,4BAA4B,EAI5B,wBAAwB,EACxB,+BAA+B,EAE/B,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAE5B,uBAAuB,EACvB,2BAA2B,EAG5B,MAAM,YAAY,CAAC;AAWpB,iBAAS,8BAA8B,CAAC,OAAO,GAAE,+BAAoC,GAAG,wBAAwB,CAyD/G;AAED,iBAAe,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAS9G;AAED,iBAAe,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG;IAChK,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAK9C;AAED,iBAAe,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAOlH;AAED,iBAAe,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAKjM;AAED,iBAAe,gCAAgC,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAY/K;AAivBD,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,CAAC"}
|