diff --git a/package-lock.json b/package-lock.json index e446951b..6acf3e32 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dbt-language-server", - "version": "0.30.0", + "version": "0.30.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dbt-language-server", - "version": "0.30.0", + "version": "0.30.1", "hasInstallScript": true, "license": "MIT", "devDependencies": { diff --git a/package.json b/package.json index f66a3f51..7ce14f66 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "displayName": "Wizard for dbt Core (TM)", "description": "This extension will help you work with dbt", "icon": "images/Icon.png", - "version": "0.30.0", + "version": "0.30.1", "publisher": "Fivetran", "license": "MIT", "preview": true, diff --git a/server/src/dbt_execution/DbtCli.ts b/server/src/dbt_execution/DbtCli.ts index 56be6e2a..dc0339fa 100644 --- a/server/src/dbt_execution/DbtCli.ts +++ b/server/src/dbt_execution/DbtCli.ts @@ -124,7 +124,7 @@ export class DbtCli { this.notificationSender.sendTelemetry('error', { name: 'vscodeErrorMessage', message: `${message}. - Profile: ${dbtProfileType ?? '_'}. + Profile: ${dbtProfileType ?? 'undefined'}. Python: ${this.featureFinder.pythonInfo.version?.join('.') ?? '_'}. dbt: ${JSON.stringify(this.featureFinder.versionInfo?.installedVersion)}. Adapters: ${JSON.stringify(this.featureFinder.versionInfo?.installedAdapters)}`, diff --git a/server/src/lsp_server/LspServerBase.ts b/server/src/lsp_server/LspServerBase.ts index 1fdd5981..dfaf9e9f 100644 --- a/server/src/lsp_server/LspServerBase.ts +++ b/server/src/lsp_server/LspServerBase.ts @@ -22,6 +22,7 @@ export abstract class LspServerBase { name: error.name, message: error.message, stack, + input: 'input' in error ? (error.input as string) : 'undefined', }); throw new Error('Uncaught exception. Server will be restarted.'); diff --git a/server/src/utils/JinjaUtils.ts b/server/src/utils/JinjaUtils.ts index 45428565..29d8b962 100644 --- a/server/src/utils/JinjaUtils.ts +++ b/server/src/utils/JinjaUtils.ts @@ -24,7 +24,11 @@ export function evalProfilesYmlJinjaEnvVar(text: string): string | object | numb } if (/\|\s*as_native/.test(text)) { - return JSON.parse(resultText) as object; + try { + return JSON.parse(resultText) as object; + } catch (e) { + throw new Error(`Failed to parse ${text} and ${resultText} ${e instanceof Error ? e.message : ''}}`); + } } if (/\|\s*(?:int|as_number)/.test(text)) { return Number(resultText);