html/json: compute server module without server package.json

This commit is contained in:
Martin Aeschlimann
2020-06-11 14:59:51 +02:00
parent 4b9f0916af
commit 6af2987903
2 changed files with 16 additions and 38 deletions

View File

@@ -3,7 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as path from 'path';
import * as fs from 'fs';
import * as nls from 'vscode-nls';
const localize = nls.loadMessageBundle();
@@ -51,6 +50,7 @@ interface IPackageInfo {
name: string;
version: string;
aiKey: string;
main: string;
}
let telemetryReporter: TelemetryReporter | null;
@@ -59,11 +59,11 @@ let telemetryReporter: TelemetryReporter | null;
export function activate(context: ExtensionContext) {
let toDispose = context.subscriptions;
let packageInfo = getPackageInfo(context);
telemetryReporter = packageInfo && new TelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
let clientPackageJSON = getPackageInfo(context);
telemetryReporter = new TelemetryReporter(clientPackageJSON.name, clientPackageJSON.version, clientPackageJSON.aiKey);
let serverMain = readJSONFile(context.asAbsolutePath('./server/package.json')).main;
let serverModule = context.asAbsolutePath(path.join('server', serverMain));
const serverMain = `./server/${clientPackageJSON.main.indexOf('/dist/') !== -1 ? 'dist' : 'out'}/htmlServerMain`;
const serverModule = context.asAbsolutePath(serverMain);
// The debug options for the server
let debugOptions = { execArgv: ['--nolazy', '--inspect=6045'] };
@@ -320,25 +320,13 @@ export function activate(context: ExtensionContext) {
toDispose.push();
}
function getPackageInfo(context: ExtensionContext): IPackageInfo | null {
let extensionPackage = readJSONFile(context.asAbsolutePath('./package.json'));
if (extensionPackage) {
return {
name: extensionPackage.name,
version: extensionPackage.version,
aiKey: extensionPackage.aiKey
};
}
return null;
}
function readJSONFile(location: string) {
function getPackageInfo(context: ExtensionContext): IPackageInfo {
const location = context.asAbsolutePath('./package.json');
try {
return JSON.parse(fs.readFileSync(location).toString());
} catch (e) {
console.log(`Problems reading ${location}: ${e}`);
return {};
return { name: '', version: '', aiKey: '', main: '' };
}
}