diff --git a/CHANGELOG.md b/CHANGELOG.md index f76027e..bec03d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,9 @@ All notable changes to the "vscode-maven" extension will be documented in this f - [0.0.1](#001) ## Unreleased +- Fixed vulnerabilities in package dependencies. +- Formatted filepath for WSL Bash. +- Added entry for historical commands in context menu. ## Released ### 0.8.0 diff --git a/images/view_context.png b/images/view_context.png index 4c246c1..7447985 100644 Binary files a/images/view_context.png and b/images/view_context.png differ diff --git a/package-lock.json b/package-lock.json index 17eafbb..68b8399 100644 --- a/package-lock.json +++ b/package-lock.json @@ -115,7 +115,7 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", "dev": true }, "arr-union": { @@ -413,7 +413,7 @@ "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", "dev": true, "requires": { "ms": "2.0.0" @@ -822,7 +822,7 @@ "growl": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "integrity": "sha1-GSa6kM8+3+KttJJ/WIC8IsZseQ8=", "dev": true }, "gulp-chmod": { @@ -1052,7 +1052,7 @@ "queue": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/queue/-/queue-4.4.2.tgz", - "integrity": "sha512-fSMRXbwhMwipcDZ08enW2vl+YDmAmhcNcr43sCJL8DIg+CFOsoRLG23ctxA+fwNk1w55SePSiS7oqQQSgQoVJQ==", + "integrity": "sha1-Wpcz2ai4vRs26TS8nFWribKOKcc=", "dev": true, "requires": { "inherits": "~2.0.0" @@ -1749,7 +1749,7 @@ "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", "dev": true, "requires": { "is-equal-shallow": "^0.1.3" @@ -1825,7 +1825,7 @@ "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "dev": true, "requires": { "glob": "^7.0.5" @@ -1855,7 +1855,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true }, "source-map-support": { diff --git a/package.json b/package.json index 335d605..fb7eb93 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ }, { "command": "maven.history", - "title": "Command history", + "title": "History ...", "category": "Maven" }, { @@ -220,52 +220,57 @@ { "command": "maven.goal.custom", "when": "view == mavenProjects && viewItem == ProjectItem", + "group": "1-lifecycle@5" + }, + { + "command": "maven.history", + "when": "view == mavenProjects && viewItem == ProjectItem", "group": "1-lifecycle@0" }, { "command": "maven.goal.clean", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@1" + "group": "1-lifecycle@10" }, { "command": "maven.goal.package", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@2" + "group": "1-lifecycle@20" }, { "command": "maven.goal.install", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@3" + "group": "1-lifecycle@30" }, { "command": "maven.goal.compile", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@4" + "group": "1-lifecycle@40" }, { "command": "maven.goal.validate", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@5" + "group": "1-lifecycle@50" }, { "command": "maven.goal.verify", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@6" + "group": "1-lifecycle@60" }, { "command": "maven.goal.test", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@7" + "group": "1-lifecycle@70" }, { "command": "maven.goal.site", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@8" + "group": "1-lifecycle@80" }, { "command": "maven.goal.deploy", "when": "view == mavenProjects && viewItem == ProjectItem", - "group": "1-lifecycle@9" + "group": "1-lifecycle@90" }, { "command": "maven.project.openPom", diff --git a/src/ProjectDataProvider.ts b/src/ProjectDataProvider.ts index 5248429..bff21d8 100644 --- a/src/ProjectDataProvider.ts +++ b/src/ProjectDataProvider.ts @@ -158,9 +158,9 @@ export class ProjectDataProvider implements TreeDataProvider { } } - public async historicalGoals(): Promise { + public async historicalGoals(projectPomPath?: string): Promise { const selected: IHistory = await VSCodeUI.getQuickPick( - Utils.getLRUCommands(), + Utils.getLRUCommands(projectPomPath), (x: IHistory) => x.command, null, (x: IHistory) => x.pomfile, diff --git a/src/Utils.ts b/src/Utils.ts index b96f537..b00ea3b 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -230,7 +230,7 @@ export namespace Utils { updateLRUCommands(command, pomfile); } - export async function getLRUCommands(): Promise<{ command: string, pomfile: string }[]> { + export async function getLRUCommands(pomfile?: string): Promise<{ command: string, pomfile: string }[]> { const filepath: string = getCommandHistoryCachePath(); if (await fse.pathExists(filepath)) { const content: string = (await fse.readFile(filepath)).toString().trim(); @@ -240,7 +240,7 @@ export namespace Utils { const items: string[] = line.split(","); return { command: items[0], pomfile: items[1] }; } - ); + ).filter((item: { command: string, pomfile: string }) => !pomfile || pomfile === item.pomfile); } } return []; diff --git a/src/extension.ts b/src/extension.ts index 3c1f532..b3adb2c 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -64,8 +64,8 @@ export async function activate(context: vscode.ExtensionContext): Promise }); })); - context.subscriptions.push(TelemetryWrapper.registerCommand("maven.history", async () => { - await mavenProjectsTreeDataProvider.historicalGoals(); + context.subscriptions.push(TelemetryWrapper.registerCommand("maven.history", async (item: ProjectItem | undefined) => { + await mavenProjectsTreeDataProvider.historicalGoals(item && item.abosolutePath); })); context.subscriptions.push(TelemetryWrapper.registerCommand("maven.goal.execute", async () => {