diff --git a/package.json b/package.json index 1977237..4a9e88a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "infracost", "displayName": "Infracost", "description": "Cloud cost estimates for Terraform in your editor", - "version": "0.2.27", + "version": "0.2.28", "publisher": "Infracost", "license": "Apache-2.0", "icon": "infracost-logo.png", diff --git a/src/cli.ts b/src/cli.ts index 9e1eabc..2236c37 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -107,7 +107,7 @@ export default class CLI { INFRACOST_CLI_PLATFORM: 'vscode', INFRACOST_NO_COLOR: 'true', INFRACOST_SKIP_UPDATE_CHECK: 'true', - INFRACOST_GRAPH_EVALUATOR: 'true' + INFRACOST_GRAPH_EVALUATOR: 'true', }, }); diff --git a/src/lens.ts b/src/lens.ts index 40f2e7a..a452c10 100644 --- a/src/lens.ts +++ b/src/lens.ts @@ -1,15 +1,8 @@ -import { - CodeLens, - CodeLensProvider, - Event, - TextDocument, -} from 'vscode'; +import { CodeLens, CodeLensProvider, Event, TextDocument } from 'vscode'; import Workspace from './workspace'; -import { cleanFilename } from './utils'; import logger from './log'; import { InfracostCommand } from './command'; import context from './context'; -import path = require('path'); export default class InfracostLensProvider implements CodeLensProvider { workspace: Workspace; diff --git a/src/workspace.ts b/src/workspace.ts index b52e9da..2de3b7b 100644 --- a/src/workspace.ts +++ b/src/workspace.ts @@ -115,7 +115,14 @@ export default class Workspace { logger.debug(`detected file change for path ${filename}`); - const projects = this.filesToProjects[filename]; + const key = filename.split(path.sep).join('/'); + const projects = + this.filesToProjects[ + Object.keys(this.filesToProjects).find( + (k: string) => k.toLowerCase() === key.toLowerCase() + ) || key + ]; + if (projects === undefined) { logger.debug( `no valid projects found for path ${filename} attempting to locate project for file` @@ -156,9 +163,13 @@ export default class Workspace { // TODO: determine or allow users to switch the project they are using. project(filename: string): { [key: string]: Block } { const key = filename.split(path.sep).join('/'); - const projectKey = this.filesToProjects[Object.keys(this.filesToProjects).find((k: string) => k.toLowerCase() === key.toLowerCase()) || key]; - - + const projectKey = + this.filesToProjects[ + Object.keys(this.filesToProjects).find( + (k: string) => k.toLowerCase() === key.toLowerCase() + ) || key + ]; + if (projectKey && Object.keys(projectKey).length > 0) { const project = Object.keys(projectKey)[0]; return this.projects[project].blocks;