mirror of https://git.tuxpa.in/a/code-server.git
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
|
/*---------------------------------------------------------------------------------------------
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||
|
*--------------------------------------------------------------------------------------------*/
|
||
|
|
||
|
import { join, basename, dirname } from 'path';
|
||
|
import { readFileSync } from 'fs';
|
||
|
|
||
|
const contents: { [name: string]: string } = {};
|
||
|
|
||
|
const serverFolder = basename(__dirname) === 'dist' ? dirname(__dirname) : dirname(dirname(__dirname));
|
||
|
const TYPESCRIPT_LIB_SOURCE = join(serverFolder, '../../node_modules/typescript/lib');
|
||
|
const JQUERY_PATH = join(serverFolder, 'lib/jquery.d.ts');
|
||
|
|
||
|
export function loadLibrary(name: string) {
|
||
|
let content = contents[name];
|
||
|
if (typeof content !== 'string') {
|
||
|
let libPath;
|
||
|
if (name === 'jquery') {
|
||
|
libPath = JQUERY_PATH;
|
||
|
} else {
|
||
|
libPath = join(TYPESCRIPT_LIB_SOURCE, name); // from source
|
||
|
}
|
||
|
try {
|
||
|
content = readFileSync(libPath).toString();
|
||
|
} catch (e) {
|
||
|
console.log(`Unable to load library ${name} at ${libPath}: ${e.message}`);
|
||
|
content = '';
|
||
|
}
|
||
|
contents[name] = content;
|
||
|
}
|
||
|
return content;
|
||
|
}
|