Skip to content

Commit d46bf61

Browse files
authored
Merge pull request #9 from OpenForgeProject/update-trunk
feat: Delete Reports, Github-Workflows, Release 1.7.0
2 parents df15c28 + a273e47 commit d46bf61

File tree

11 files changed

+142
-12
lines changed

11 files changed

+142
-12
lines changed

.github/ workflows/test.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
15+
strategy:
16+
matrix:
17+
node-version: [16.x]
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v2
22+
23+
- name: Set up Node.js
24+
uses: actions/setup-node@v2
25+
with:
26+
node-version: ${{ matrix.node-version }}
27+
28+
- name: Install dependencies
29+
run: npm install
30+
31+
- name: Compile the extension
32+
run: npm run compile
33+
34+
- name: Run tests
35+
run: npm test

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ logs/
1010

1111
# VS Code
1212
.vscode/
13+
.vscode-test/
14+
out/
1315

1416
# Build directories
1517
dist/

.vscodeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ vsc-extension-quickstart.md
1212
**/*.map
1313
**/*.ts
1414
**/.vscode-test.*
15+
.trunk/**

CHANGELOG.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,20 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
66

77
## [Unreleased]
88

9-
## [1.6.0] - 2023-10-07
9+
## [1.7.0] - 2024-12-08
10+
11+
### Added
12+
13+
- Added a right click context menu to delete report files
14+
- Added tests to check the extension features automaticly
15+
16+
### Changed
17+
18+
- Changed `README.md` with latest features
19+
- Changed Extension Logo
20+
- Changed Changelog Dates for 1.6.0 Release Date
21+
22+
## [1.6.0] - 2024-12-07
1023

1124
### Added
1225

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ The Magento Log Viewer extension for Visual Studio Code provides a convenient wa
1616
- Status bar showing total log entries
1717
- Real-time log file monitoring
1818
- Badge in the tree view showing the total number of log entries
19+
- Improved report file titles by parsing content for better readability
1920

2021
## Setup
2122

package.json

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "magento-log-viewer",
33
"displayName": "Magento Log Viewer",
44
"description": "A Visual Studio Code extension to view and manage Magento log files.",
5-
"version": "1.6.0",
5+
"version": "1.7.0",
66
"publisher": "MathiasElle",
77
"icon": "resources/logo.png",
88
"repository": {
@@ -39,6 +39,11 @@
3939
"command": "magento-log-viewer.refreshReportFiles",
4040
"title": "Refresh Report Files",
4141
"icon": "$(refresh)"
42+
},
43+
{
44+
"command": "magento-log-viewer.deleteReportFile",
45+
"title": "Delete Report File",
46+
"icon": "$(trash)"
4247
}
4348
],
4449
"configuration": {
@@ -47,7 +52,11 @@
4752
"properties": {
4853
"magentoLogViewer.isMagentoProject": {
4954
"type": "string",
50-
"enum": ["Yes", "No", "Please select"],
55+
"enum": [
56+
"Yes",
57+
"No",
58+
"Please select"
59+
],
5160
"default": "Please select",
5261
"description": "This is a Magento project",
5362
"scope": "resource"
@@ -113,6 +122,13 @@
113122
"when": "view == reportFiles && magentoLogViewer.hasMagentoRoot",
114123
"group": "navigation"
115124
}
125+
],
126+
"view/item/context": [
127+
{
128+
"command": "magento-log-viewer.deleteReportFile",
129+
"when": "view == reportFiles && viewItem == reportItem",
130+
"group": "navigation"
131+
}
116132
]
117133
}
118134
},

resources/logo.png

678 KB
Loading

src/extension.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as vscode from 'vscode';
2-
import { promptMagentoProjectSelection, showErrorMessage, activateExtension, isValidPath } from './helpers';
2+
import { promptMagentoProjectSelection, showErrorMessage, activateExtension, isValidPath, deleteReportFile } from './helpers';
3+
import { LogItem, ReportViewerProvider } from './logViewer';
34

45
export function activate(context: vscode.ExtensionContext): void {
56
const config = vscode.workspace.getConfiguration();
@@ -13,7 +14,18 @@ export function activate(context: vscode.ExtensionContext): void {
1314
showErrorMessage('Magento root path is not set or is not a directory.');
1415
return;
1516
}
16-
activateExtension(context, magentoRoot);
17+
const reportViewerProvider = new ReportViewerProvider(magentoRoot);
18+
activateExtension(context, magentoRoot, reportViewerProvider);
19+
20+
vscode.commands.registerCommand('magento-log-viewer.deleteReportFile', (logItem: LogItem) => {
21+
if (logItem && logItem.command && logItem.command.arguments && logItem.command.arguments[0]) {
22+
const filePath = logItem.command.arguments[0];
23+
deleteReportFile(filePath);
24+
reportViewerProvider.refresh();
25+
} else {
26+
showErrorMessage('Failed to delete report file: Invalid file path.');
27+
}
28+
});
1729
}
1830
}
1931

src/helpers.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export function selectMagentoRootFolder(config: vscode.WorkspaceConfiguration, c
2525
updateConfig(config, 'magentoLogViewer.magentoRoot', folderUri[0].fsPath).then(() => {
2626
showInformationMessage('Magento root folder successfully saved!');
2727
updateConfig(config, 'magentoLogViewer.isMagentoProject', 'Yes');
28-
activateExtension(context, folderUri[0].fsPath);
28+
activateExtension(context, folderUri[0].fsPath, new ReportViewerProvider(folderUri[0].fsPath));
2929
});
3030
}
3131
});
@@ -57,9 +57,8 @@ export function showErrorMessage(message: string): void {
5757
}
5858

5959
// Activates the extension by setting up the log viewer and file system watcher.
60-
export function activateExtension(context: vscode.ExtensionContext, magentoRoot: string): void {
60+
export function activateExtension(context: vscode.ExtensionContext, magentoRoot: string, reportViewerProvider: ReportViewerProvider): void {
6161
const logViewerProvider = new LogViewerProvider(magentoRoot);
62-
const reportViewerProvider = new ReportViewerProvider(magentoRoot);
6362

6463
const logTreeView = vscode.window.createTreeView('logFiles', { treeDataProvider: logViewerProvider });
6564
const reportTreeView = vscode.window.createTreeView('reportFiles', { treeDataProvider: reportViewerProvider });
@@ -127,6 +126,16 @@ export function clearAllLogFiles(logViewerProvider: LogViewerProvider, magentoRo
127126
});
128127
}
129128

129+
// Deletes a report file.
130+
export function deleteReportFile(filePath: string): void {
131+
try {
132+
fs.unlinkSync(filePath);
133+
showInformationMessage(`Report file ${filePath} deleted successfully.`);
134+
} catch (error) {
135+
showErrorMessage(`Failed to delete report file ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
136+
}
137+
}
138+
130139
// Updates the badge count for the tree view based on the number of log entries.
131140
export function updateBadge(treeView: vscode.TreeView<unknown>, logViewerProvider: LogViewerProvider, reportViewerProvider: ReportViewerProvider, magentoRoot: string): void {
132141
const updateBadgeCount = () => {

src/logViewer.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,10 @@ export class ReportViewerProvider implements vscode.TreeDataProvider<LogItem>, v
235235
}
236236

237237
private getLogItems(dir: string, label: string): LogItem[] {
238-
return getLogItems(dir, parseReportTitle, getIconForReport);
238+
return getLogItems(dir, parseReportTitle, getIconForReport).map(item => {
239+
item.contextValue = 'reportItem';
240+
return item;
241+
});
239242
}
240243

241244
getLogFilesWithoutUpdatingBadge(dir: string): LogItem[] {

0 commit comments

Comments
 (0)