brighterscript 0.69.10 → 0.69.12

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.
@@ -1,12 +1,15 @@
1
1
  import 'array-flat-polyfill';
2
2
  import type { CompletionItem, DidChangeWatchedFilesParams, InitializeParams, TextDocumentPositionParams, ExecuteCommandParams, WorkspaceSymbolParams, DocumentSymbolParams, ReferenceParams, SignatureHelpParams, CodeActionParams, HandlerResult, InitializeError, InitializeResult, CompletionParams, ResultProgressReporter, WorkDoneProgressReporter, CompletionList, CancellationToken, DidChangeConfigurationParams } from 'vscode-languageserver/node';
3
3
  import { LogLevel } from './logging';
4
- import type { WorkspaceConfig } from './lsp/ProjectManager';
5
4
  export declare class LanguageServer {
6
5
  /**
7
6
  * The default threading setting for the language server. Can be overridden by per-workspace settings
8
7
  */
9
8
  static enableThreadingDefault: boolean;
9
+ /**
10
+ * The default project discovery setting for the language server. Can be overridden by per-workspace settings
11
+ */
12
+ static enableProjectDiscoveryDefault: boolean;
10
13
  /**
11
14
  * The language server protocol connection, used to send and receive all requests and responses
12
15
  */
@@ -64,6 +67,10 @@ export declare class LanguageServer {
64
67
  * Get only the settings for the workspace that are relevant to the language server. We do this so we can cache this object for use in change detection in the future.
65
68
  */
66
69
  private getWorkspaceConfigs;
70
+ /**
71
+ * Extract project paths from settings' projects list, expanding the workspaceFolder variable if necessary
72
+ */
73
+ private normalizeProjectPaths;
67
74
  private workspaceConfigsCache;
68
75
  onDidChangeConfiguration(args: DidChangeConfigurationParams): Promise<void>;
69
76
  onHover(params: TextDocumentPositionParams): Promise<import("vscode-languageserver-types").Hover>;
@@ -94,6 +101,7 @@ export declare class LanguageServer {
94
101
  * Ask the client for the list of `files.exclude` patterns. Useful when determining if we should process a file
95
102
  */
96
103
  private getWorkspaceExcludeGlobs;
104
+ private extractExcludes;
97
105
  /**
98
106
  * Ask the project manager to sync all projects found within the list of workspaces
99
107
  * @param forceReload if true, all projects are discarded and recreated from scratch
@@ -128,11 +136,17 @@ declare type Handler<T> = {
128
136
  export declare type OnHandler<T> = {
129
137
  [K in keyof Handler<T>]: Handler<T>[K] extends (arg: infer U) => void ? U : never;
130
138
  };
131
- export declare type WorkspaceConfigWithExtras = WorkspaceConfig & {
132
- bsconfigPath: string;
139
+ export interface BrightScriptProjectConfiguration {
140
+ name?: string;
141
+ path: string;
142
+ disabled?: boolean;
143
+ }
144
+ export interface BrightScriptClientConfiguration {
145
+ projects?: (string | BrightScriptProjectConfiguration)[];
133
146
  languageServer: {
134
147
  enableThreading: boolean;
135
- logLevel: LogLevel | string | undefined;
148
+ enableProjectDiscovery: boolean;
149
+ logLevel: LogLevel | string;
136
150
  };
137
- };
151
+ }
138
152
  export {};
@@ -64,13 +64,12 @@ class LanguageServer {
64
64
  // and may not have the latest unsaved file changes. Any existing projects that already use these files will just ignore the changes
65
65
  // because the file contents haven't changed.
66
66
  this.projectManager.on('project-activate', (event) => {
67
- var _a;
68
67
  //keep logLevel in sync with the most verbose log level found across all projects
69
68
  this.syncLogLevel().catch(logAndIgnoreError);
70
69
  //resend all open document changes
71
70
  const documents = [...this.documents.all()];
72
71
  if (documents.length > 0) {
73
- this.logger.log(`[${(_a = event.project) === null || _a === void 0 ? void 0 : _a.projectIdentifier}] loaded or changed. Resending all open document changes.`, documents.map(x => x.uri));
72
+ this.logger.log(`[${util_1.util.getProjectLogName(event.project)}] loaded or changed. Resending all open document changes.`, documents.map(x => x.uri));
74
73
  for (const document of this.documents.all()) {
75
74
  this.onTextDocumentDidChangeContent({
76
75
  document: document
@@ -311,21 +310,38 @@ class LanguageServer {
311
310
  var _a;
312
311
  //get all workspace folders (we'll use these to get settings)
313
312
  let workspaces = await Promise.all(((_a = await this.connection.workspace.getWorkspaceFolders()) !== null && _a !== void 0 ? _a : []).map(async (x) => {
314
- var _a, _b, _c;
313
+ var _a, _b, _c, _d, _e;
315
314
  const workspaceFolder = util_1.util.uriToPath(x.uri);
316
315
  const brightscriptConfig = await this.getClientConfiguration(x.uri, 'brightscript');
317
316
  return {
318
317
  workspaceFolder: workspaceFolder,
319
318
  excludePatterns: await this.getWorkspaceExcludeGlobs(workspaceFolder),
320
- bsconfigPath: brightscriptConfig.configFile,
319
+ projects: this.normalizeProjectPaths(workspaceFolder, brightscriptConfig.projects),
321
320
  languageServer: {
322
321
  enableThreading: (_b = (_a = brightscriptConfig.languageServer) === null || _a === void 0 ? void 0 : _a.enableThreading) !== null && _b !== void 0 ? _b : LanguageServer.enableThreadingDefault,
323
- logLevel: (_c = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _c === void 0 ? void 0 : _c.logLevel
322
+ enableProjectDiscovery: (_d = (_c = brightscriptConfig.languageServer) === null || _c === void 0 ? void 0 : _c.enableProjectDiscovery) !== null && _d !== void 0 ? _d : LanguageServer.enableProjectDiscoveryDefault,
323
+ logLevel: (_e = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _e === void 0 ? void 0 : _e.logLevel
324
324
  }
325
325
  };
326
326
  }));
327
327
  return workspaces;
328
328
  }
329
+ /**
330
+ * Extract project paths from settings' projects list, expanding the workspaceFolder variable if necessary
331
+ */
332
+ normalizeProjectPaths(workspaceFolder, projects) {
333
+ return projects === null || projects === void 0 ? void 0 : projects.reduce((acc, project) => {
334
+ if (typeof project === 'string') {
335
+ acc.push({ path: project });
336
+ }
337
+ else if (typeof project.path === 'string') {
338
+ acc.push(project);
339
+ }
340
+ return acc;
341
+ }, []).map(project => (Object.assign(Object.assign({}, project), {
342
+ // eslint-disable-next-line no-template-curly-in-string
343
+ path: util_1.util.standardizePath(project.path.replace('${workspaceFolder}', workspaceFolder)) })));
344
+ }
329
345
  async onDidChangeConfiguration(args) {
330
346
  this.logger.log('onDidChangeConfiguration', 'Reloading all projects');
331
347
  const configs = new Map((await this.getWorkspaceConfigs()).map(x => [x.workspaceFolder, x]));
@@ -431,14 +447,11 @@ class LanguageServer {
431
447
  index: this.busyStatusIndex,
432
448
  activeRuns: [
433
449
  //extract only specific information from the active run so we know what's going on
434
- ...this.projectManager.busyStatusTracker.activeRuns.map(x => {
435
- var _a;
436
- return ({
437
- scope: (_a = x.scope) === null || _a === void 0 ? void 0 : _a.projectIdentifier,
438
- label: x.label,
439
- startTime: x.startTime.getTime()
440
- });
441
- })
450
+ ...this.projectManager.busyStatusTracker.activeRuns.map(x => ({
451
+ scope: util_1.util.getProjectLogName(x.scope),
452
+ label: x.label,
453
+ startTime: x.startTime.getTime()
454
+ }))
442
455
  ]
443
456
  })) === null || _a === void 0 ? void 0 : _a.catch(logAndIgnoreError);
444
457
  }
@@ -487,11 +500,19 @@ class LanguageServer {
487
500
  * Ask the client for the list of `files.exclude` patterns. Useful when determining if we should process a file
488
501
  */
489
502
  async getWorkspaceExcludeGlobs(workspaceFolder) {
490
- var _a;
491
- const config = await this.getClientConfiguration(workspaceFolder, 'files');
492
- const result = Object
493
- .keys((_a = config === null || config === void 0 ? void 0 : config.exclude) !== null && _a !== void 0 ? _a : {})
494
- .filter(x => { var _a; return (_a = config === null || config === void 0 ? void 0 : config.exclude) === null || _a === void 0 ? void 0 : _a[x]; })
503
+ const filesConfig = await this.getClientConfiguration(workspaceFolder, 'files');
504
+ const fileExcludes = this.extractExcludes(filesConfig);
505
+ const searchConfig = await this.getClientConfiguration(workspaceFolder, 'search');
506
+ const searchExcludes = this.extractExcludes(searchConfig);
507
+ return [...fileExcludes, ...searchExcludes];
508
+ }
509
+ extractExcludes(config) {
510
+ if (!(config === null || config === void 0 ? void 0 : config.exclude)) {
511
+ return [];
512
+ }
513
+ return Object
514
+ .keys(config.exclude)
515
+ .filter(x => config.exclude[x])
495
516
  //vscode files.exclude patterns support ignoring folders without needing to add `**/*`. So for our purposes, we need to
496
517
  //append **/* to everything without a file extension or magic at the end
497
518
  .map(pattern => [
@@ -501,7 +522,6 @@ class LanguageServer {
501
522
  `${pattern}/**/*`
502
523
  ])
503
524
  .flat(1);
504
- return result;
505
525
  }
506
526
  /**
507
527
  * Ask the project manager to sync all projects found within the list of workspaces
@@ -560,6 +580,10 @@ class LanguageServer {
560
580
  * The default threading setting for the language server. Can be overridden by per-workspace settings
561
581
  */
562
582
  LanguageServer.enableThreadingDefault = true;
583
+ /**
584
+ * The default project discovery setting for the language server. Can be overridden by per-workspace settings
585
+ */
586
+ LanguageServer.enableProjectDiscoveryDefault = true;
563
587
  __decorate([
564
588
  AddStackToErrorMessage
565
589
  ], LanguageServer.prototype, "onInitialize", null);
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":"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"}
@@ -42,18 +42,24 @@ class BrsFileValidator {
42
42
  this.validateDeclarationLocations(node, 'enum', () => util_1.default.createBoundingRange(node.tokens.enum, node.tokens.name));
43
43
  this.validateEnumDeclaration(node);
44
44
  //register this enum declaration
45
- (_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.tokens.name.text, node.tokens.name.range, DynamicType_1.DynamicType.instance);
45
+ if (node.tokens.name) {
46
+ (_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.tokens.name.text, node.tokens.name.range, DynamicType_1.DynamicType.instance);
47
+ }
46
48
  },
47
49
  ClassStatement: (node) => {
48
50
  var _a;
49
51
  this.validateDeclarationLocations(node, 'class', () => util_1.default.createBoundingRange(node.classKeyword, node.name));
50
52
  //register this class
51
- (_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.name.text, node.name.range, DynamicType_1.DynamicType.instance);
53
+ if (node.name) {
54
+ (_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.name.text, node.name.range, DynamicType_1.DynamicType.instance);
55
+ }
52
56
  },
53
57
  AssignmentStatement: (node) => {
54
58
  var _a;
55
59
  //register this variable
56
- (_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.name.text, node.name.range, DynamicType_1.DynamicType.instance);
60
+ if (node.name) {
61
+ (_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.name.text, node.name.range, DynamicType_1.DynamicType.instance);
62
+ }
57
63
  },
58
64
  DottedSetStatement: (node) => {
59
65
  this.validateNoOptionalChainingInVarSet(node, [node.obj]);
@@ -68,7 +74,9 @@ class BrsFileValidator {
68
74
  },
69
75
  NamespaceStatement: (node) => {
70
76
  this.validateDeclarationLocations(node, 'namespace', () => util_1.default.createBoundingRange(node.keyword, node.nameExpression));
71
- node.parent.getSymbolTable().addSymbol(node.name.split('.')[0], node.nameExpression.range, DynamicType_1.DynamicType.instance);
77
+ if (node.name) {
78
+ node.parent.getSymbolTable().addSymbol(node.name.split('.')[0], node.nameExpression.range, DynamicType_1.DynamicType.instance);
79
+ }
72
80
  },
73
81
  FunctionStatement: (node) => {
74
82
  var _a;
@@ -83,7 +91,9 @@ class BrsFileValidator {
83
91
  const transpiledNamespaceFunctionName = node.getName(Parser_1.ParseMode.BrightScript);
84
92
  const funcType = node.func.getFunctionType();
85
93
  funcType.setName(transpiledNamespaceFunctionName);
86
- this.event.file.parser.ast.symbolTable.addSymbol(transpiledNamespaceFunctionName, node.name.range, funcType);
94
+ if (node.name) {
95
+ this.event.file.parser.ast.symbolTable.addSymbol(transpiledNamespaceFunctionName, node.name.range, funcType);
96
+ }
87
97
  }
88
98
  },
89
99
  FunctionExpression: (node) => {
@@ -93,19 +103,24 @@ class BrsFileValidator {
93
103
  this.validateFunctionParameterCount(node);
94
104
  },
95
105
  FunctionParameterExpression: (node) => {
96
- var _a;
97
- const paramName = (_a = node.name) === null || _a === void 0 ? void 0 : _a.text;
98
- const symbolTable = node.getSymbolTable();
99
- symbolTable === null || symbolTable === void 0 ? void 0 : symbolTable.addSymbol(paramName, node.name.range, node.type);
106
+ if (node.name) {
107
+ const paramName = node.name.text;
108
+ const symbolTable = node.getSymbolTable();
109
+ symbolTable === null || symbolTable === void 0 ? void 0 : symbolTable.addSymbol(paramName, node.name.range, node.type);
110
+ }
100
111
  },
101
112
  InterfaceStatement: (node) => {
102
113
  var _a, _b;
103
114
  this.validateDeclarationLocations(node, 'interface', () => util_1.default.createBoundingRange(node.tokens.interface, node.tokens.name));
104
- (_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.getSymbolTable()) === null || _b === void 0 ? void 0 : _b.addSymbol(node.tokens.name.text, node.tokens.name.range, new InterfaceType_1.InterfaceType(new Map()));
115
+ if (node.tokens.name) {
116
+ (_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.getSymbolTable()) === null || _b === void 0 ? void 0 : _b.addSymbol(node.tokens.name.text, node.tokens.name.range, new InterfaceType_1.InterfaceType(new Map()));
117
+ }
105
118
  },
106
119
  ConstStatement: (node) => {
107
120
  this.validateDeclarationLocations(node, 'const', () => util_1.default.createBoundingRange(node.tokens.const, node.tokens.name));
108
- node.parent.getSymbolTable().addSymbol(node.tokens.name.text, node.tokens.name.range, DynamicType_1.DynamicType.instance);
121
+ if (node.tokens.name) {
122
+ node.parent.getSymbolTable().addSymbol(node.tokens.name.text, node.tokens.name.range, DynamicType_1.DynamicType.instance);
123
+ }
109
124
  },
110
125
  CatchStatement: (node) => {
111
126
  node.parent.getSymbolTable().addSymbol(node.exceptionVariable.text, node.exceptionVariable.range, DynamicType_1.DynamicType.instance);
@@ -1 +1 @@
1
- {"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":"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"}
@@ -20,17 +20,19 @@ export interface LspProject {
20
20
  */
21
21
  activateOptions: ProjectConfig;
22
22
  /**
23
- * The path to where the project resides
23
+ * A unique key to represent this project. The format of this key may change, but it will always be unique to this project and can be used for comparison purposes.
24
+ *
25
+ * For directory-only projects, this is the path to the dir. For bsconfig.json projects, this is the path to the config file (typically bsconfig.json).
24
26
  */
25
- projectPath: string;
27
+ projectKey: string;
26
28
  /**
27
- * A unique number for this project, generated during this current language server session. Mostly used so we can identify which project is doing logging
29
+ * The directory for the root of this project (typically where the bsconfig.json or manifest is located)
28
30
  */
29
- projectNumber: number;
31
+ projectDir: string;
30
32
  /**
31
- * A unique name for this project used in logs to help keep track of everything
33
+ * A unique number for this project, generated during this current language server session. Mostly used so we can identify which project is doing logging
32
34
  */
33
- projectIdentifier: string;
35
+ projectNumber: number;
34
36
  /**
35
37
  * The root directory of the project.
36
38
  * Only available after `.activate()` has completed
@@ -171,9 +173,15 @@ export interface LspProject {
171
173
  }
172
174
  export interface ProjectConfig {
173
175
  /**
174
- * Path to the project
176
+ * A unique key to represent this project. The format of this key may change, but it will always be unique to this project and can be used for comparison purposes.
177
+ *
178
+ * For directory-only projects, this is the path to the dir. For bsconfig.json projects, this is the path to the config file (typically bsconfig.json).
179
+ */
180
+ projectKey: string;
181
+ /**
182
+ * The directory for the root of this project (typically where the bsconfig.json or manifest is located)
175
183
  */
176
- projectPath: string;
184
+ projectDir: string;
177
185
  /**
178
186
  * Path to the workspace in which all project files reside or are referenced by
179
187
  */
@@ -189,7 +197,7 @@ export interface ProjectConfig {
189
197
  /**
190
198
  * Path to a bsconfig that should be used instead of the auto-discovery algorithm. If this is present, no bsconfig discovery should be used. and an error should be emitted if this file is missing
191
199
  */
192
- bsconfigPath?: string;
200
+ bsconfigPath: string | undefined;
193
201
  /**
194
202
  * Should this project run in its own dedicated worker thread
195
203
  * TODO - is there a better name for this?
@@ -9,7 +9,6 @@ import type { Logger } from '../logging';
9
9
  export declare class Project implements LspProject {
10
10
  constructor(options?: {
11
11
  logger?: Logger;
12
- projectIdentifier?: string;
13
12
  });
14
13
  /**
15
14
  * Activates this project. Every call to `activate` should completely reset the project, clear all used ram and start from scratch.
@@ -130,17 +129,19 @@ export declare class Project implements LspProject {
130
129
  */
131
130
  private builder;
132
131
  /**
133
- * The path to where the project resides
132
+ * A unique key to represent this project. The format of this key may change, but it will always be unique to this project and can be used for comparison purposes.
133
+ *
134
+ * For directory-only projects, this is the path to the dir. For bsconfig.json projects, this is the path to the config file (typically bsconfig.json).
134
135
  */
135
- projectPath: string;
136
+ projectKey: string;
136
137
  /**
137
- * A unique number for this project, generated during this current language server session. Mostly used so we can identify which project is doing logging
138
+ * The directory for the root of this project (typically where the bsconfig.json or manifest is located)
138
139
  */
139
- projectNumber: number;
140
+ projectDir: string;
140
141
  /**
141
- * A unique name for this project used in logs to help keep track of everything
142
+ * A unique number for this project, generated during this current language server session. Mostly used so we can identify which project is doing logging
142
143
  */
143
- projectIdentifier: string;
144
+ projectNumber: number;
144
145
  /**
145
146
  * The path to the workspace where this project resides. A workspace can have multiple projects (by adding a bsconfig.json to each folder).
146
147
  * Defaults to `.projectPath` if not set
@@ -15,7 +15,7 @@ const logging_1 = require("../logging");
15
15
  const fsExtra = require("fs-extra");
16
16
  class Project {
17
17
  constructor(options) {
18
- var _a, _b;
18
+ var _a;
19
19
  this.isStandaloneProject = false;
20
20
  /**
21
21
  * Gets resolved when the project has finished activating
@@ -27,15 +27,15 @@ class Project {
27
27
  //when running inside a worker thread, we don't want to use colors
28
28
  enableColor: false
29
29
  });
30
- this.projectIdentifier = (_b = options === null || options === void 0 ? void 0 : options.projectIdentifier) !== null && _b !== void 0 ? _b : '';
31
30
  }
32
31
  /**
33
32
  * Activates this project. Every call to `activate` should completely reset the project, clear all used ram and start from scratch.
34
33
  */
35
34
  async activate(options) {
36
- this.logger.info('Project.activate', options.projectPath);
35
+ this.logger.info(`Project.activate. projectKey: ${options.projectKey}`);
37
36
  this.activateOptions = options;
38
- this.projectPath = options.projectPath ? util_1.default.standardizePath(options.projectPath) : options.projectPath;
37
+ this.projectKey = options.projectKey ? util_1.default.standardizePath(options.projectKey) : options.projectKey;
38
+ this.projectDir = options.projectDir ? util_1.default.standardizePath(options.projectDir) : options.projectDir;
39
39
  this.workspaceFolder = options.workspaceFolder ? util_1.default.standardizePath(options.workspaceFolder) : options.workspaceFolder;
40
40
  this.projectNumber = options.projectNumber;
41
41
  this.bsconfigPath = await this.getConfigFilePath(options);
@@ -43,7 +43,7 @@ class Project {
43
43
  //share our logger with ProgramBuilder, which will keep our level in sync with the one in the program
44
44
  logger: this.logger
45
45
  });
46
- this.builder.logger.prefix = `[${this.projectIdentifier}]`;
46
+ this.builder.logger.prefix = util_1.default.getProjectLogName(this);
47
47
  this.disposables.push(this.builder);
48
48
  let cwd;
49
49
  //if the config file exists, use it and its folder as cwd
@@ -56,7 +56,7 @@ class Project {
56
56
  catch (_a) { }
57
57
  }
58
58
  else {
59
- cwd = this.projectPath;
59
+ cwd = this.projectDir;
60
60
  //config file doesn't exist...let `brighterscript` resolve the default way
61
61
  this.bsconfigPath = undefined;
62
62
  }
@@ -379,32 +379,32 @@ class Project {
379
379
  * @returns path to bsconfig.json, or undefined if unable to find it
380
380
  */
381
381
  async getConfigFilePath(config) {
382
- let configFilePath;
382
+ let bsconfigPath;
383
383
  //if there's a setting, we need to find the file or show error if it can't be found
384
- if (config === null || config === void 0 ? void 0 : config.configFilePath) {
385
- configFilePath = path.resolve(config.projectPath, config.configFilePath);
386
- if (await util_1.default.pathExists(configFilePath)) {
387
- return util_1.default.standardizePath(configFilePath);
384
+ if (config === null || config === void 0 ? void 0 : config.bsconfigPath) {
385
+ bsconfigPath = path.resolve(config.projectDir, config.bsconfigPath);
386
+ if (await util_1.default.pathExists(bsconfigPath)) {
387
+ return util_1.default.standardizePath(bsconfigPath);
388
388
  }
389
389
  else {
390
390
  this.emit('critical-failure', {
391
- message: `Cannot find config file specified in user or workspace settings at '${configFilePath}'`
391
+ message: `Cannot find config file specified in user or workspace settings at '${bsconfigPath}'`
392
392
  });
393
393
  }
394
394
  }
395
- //the rest of these require a projectPath, so return early if we don't have one
396
- if (!(config === null || config === void 0 ? void 0 : config.projectPath)) {
395
+ //the rest of these require a path to a project directory, so return early if we don't have one
396
+ if (!(config === null || config === void 0 ? void 0 : config.projectDir)) {
397
397
  return undefined;
398
398
  }
399
399
  //default to config file path found in the root of the workspace
400
- configFilePath = (0, util_1.standardizePath) `${config.projectPath}/bsconfig.json`;
401
- if (await util_1.default.pathExists(configFilePath)) {
402
- return util_1.default.standardizePath(configFilePath);
400
+ bsconfigPath = (0, util_1.standardizePath) `${config.projectDir}/bsconfig.json`;
401
+ if (await util_1.default.pathExists(bsconfigPath)) {
402
+ return util_1.default.standardizePath(bsconfigPath);
403
403
  }
404
404
  //look for the deprecated `brsconfig.json` file
405
- configFilePath = (0, util_1.standardizePath) `${config.projectPath}/brsconfig.json`;
406
- if (await util_1.default.pathExists(configFilePath)) {
407
- return util_1.default.standardizePath(configFilePath);
405
+ bsconfigPath = (0, util_1.standardizePath) `${config.projectDir}/brsconfig.json`;
406
+ if (await util_1.default.pathExists(bsconfigPath)) {
407
+ return util_1.default.standardizePath(bsconfigPath);
408
408
  }
409
409
  //no config file could be found
410
410
  return undefined;