mirror of https://github.com/coder/code-server.git
Fix import of server-main.js
This commit is contained in:
parent
184800a94f
commit
97c561a713
|
@ -276,14 +276,12 @@ Index: code-server/lib/vscode/src/server-main.js
|
||||||
===================================================================
|
===================================================================
|
||||||
--- code-server.orig/lib/vscode/src/server-main.js
|
--- code-server.orig/lib/vscode/src/server-main.js
|
||||||
+++ code-server/lib/vscode/src/server-main.js
|
+++ code-server/lib/vscode/src/server-main.js
|
||||||
@@ -339,4 +339,9 @@ function prompt(question) {
|
@@ -339,4 +339,7 @@ function prompt(question) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
-start();
|
-start();
|
||||||
+async function loadCodeWithNls() {
|
+export async function loadCodeWithNls() {
|
||||||
+ const nlsConfiguration = await resolveNLSConfiguration({ userLocale: 'en', osLocale: 'en', commit: product.commit, userDataPath: '', nlsMetadataPath: __dirname });
|
+ const nlsConfiguration = await resolveNLSConfiguration({ userLocale: 'en', osLocale: 'en', commit: product.commit, userDataPath: '', nlsMetadataPath: __dirname });
|
||||||
+ return loadCode(nlsConfiguration);
|
+ return loadCode(nlsConfiguration);
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
+module.exports.loadCodeWithNls = loadCodeWithNls;
|
|
||||||
|
|
|
@ -41,19 +41,24 @@ export interface IVSCodeServerAPI {
|
||||||
*/
|
*/
|
||||||
export type VSCodeModule = {
|
export type VSCodeModule = {
|
||||||
// See ../../../lib/vscode/src/server-main.js:339.
|
// See ../../../lib/vscode/src/server-main.js:339.
|
||||||
loadCodeWithNls(): {
|
loadCodeWithNls(): Promise<{
|
||||||
// See ../../../lib/vscode/src/vs/server/node/server.main.ts:72.
|
// See ../../../lib/vscode/src/vs/server/node/server.main.ts:72.
|
||||||
createServer(address: string | net.AddressInfo | null, args: CodeArgs): Promise<IVSCodeServerAPI>
|
createServer(address: string | net.AddressInfo | null, args: CodeArgs): Promise<IVSCodeServerAPI>
|
||||||
// See ../../../lib/vscode/src/vs/server/node/server.main.ts:65.
|
// See ../../../lib/vscode/src/vs/server/node/server.main.ts:65.
|
||||||
spawnCli(args: CodeArgs): Promise<void>
|
spawnCli(args: CodeArgs): Promise<void>
|
||||||
}
|
}>
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load then create the VS Code server.
|
* Load then create the VS Code server.
|
||||||
*/
|
*/
|
||||||
async function loadVSCode(req: express.Request): Promise<IVSCodeServerAPI> {
|
async function loadVSCode(req: express.Request): Promise<IVSCodeServerAPI> {
|
||||||
const mod = require(path.join(vsRootPath, "out/server-main")) as VSCodeModule
|
// TypeScript transpiles `import` into `require`, and this is not valid for
|
||||||
|
// ESM, which server-main.js is. Ideally we convert to ESM, but doing so has
|
||||||
|
// been an endless pit of misery and despair so I am shelving the conversion
|
||||||
|
// and will try again later. For now, jank it with `eval`.
|
||||||
|
const modulePath = path.join(vsRootPath, "out/server-main.js")
|
||||||
|
const mod = await eval(`import("${modulePath}")`)
|
||||||
const serverModule = await mod.loadCodeWithNls()
|
const serverModule = await mod.loadCodeWithNls()
|
||||||
return serverModule.createServer(null, {
|
return serverModule.createServer(null, {
|
||||||
...(await toCodeArgs(req.args)),
|
...(await toCodeArgs(req.args)),
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "es6",
|
"target": "es2022",
|
||||||
"lib": ["es2020", "dom", "dom.iterable"],
|
"lib": ["es2022", "dom", "dom.iterable"],
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
|
|
Loading…
Reference in New Issue