Merge pull request #3 from tailormade-eu/copilot/improve-console-methods

Address Obsidian review feedback for v1.0.2 release
This commit is contained in:
RaoulJacobs 2025-11-15 09:51:16 +01:00 committed by GitHub
commit c1aa33783a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 34 additions and 31 deletions

View file

@ -1,7 +1,7 @@
{
"id": "task-export-to-csv",
"name": "Task Export Tool",
"version": "1.0.1",
"version": "1.0.2",
"minAppVersion": "1.0.0",
"description": "Export outstanding tasks to CSV for time tracking integration (e.g. ManicTime).",
"author": "Raoul Jacobs",

View file

@ -1,6 +1,6 @@
{
"name": "obsidian-task-export-plugin",
"version": "1.0.1",
"version": "1.0.2",
"description": "Export outstanding tasks from Obsidian vault to CSV for ManicTime integration",
"main": "main.js",
"scripts": {

View file

@ -52,7 +52,7 @@ export class TaskExporter {
}
if (verbose) {
console.log(`Processing: ${customerName} / ${projectName}`);
console.debug(`Processing: ${customerName} / ${projectName}`);
}
try {
@ -63,7 +63,7 @@ export class TaskExporter {
allTasks.push(...tasks);
if (verbose) {
console.log(` Found ${tasks.length} task(s)`);
console.debug(` Found ${tasks.length} task(s)`);
}
}
} catch (ex) {

View file

@ -81,13 +81,13 @@ export default class TaskExportPlugin extends Plugin {
// Update file watcher state
this.updateFileWatcher();
console.log('Task Export Plugin loaded');
console.debug('Task Export Plugin loaded');
}
onunload() {
// Disable file watcher
this.fileWatcher.disable();
console.log('Task Export Plugin unloaded');
console.debug('Task Export Plugin unloaded');
}
async loadSettings() {

View file

@ -1,4 +1,4 @@
import { App, PluginSettingTab, Setting } from 'obsidian';
import { PluginSettingTab, Setting } from 'obsidian';
import TaskExportPlugin from './main';
/**
@ -7,7 +7,7 @@ import TaskExportPlugin from './main';
export class TaskExportSettingTab extends PluginSettingTab {
plugin: TaskExportPlugin;
constructor(app: App, plugin: TaskExportPlugin) {
constructor(app: any, plugin: TaskExportPlugin) {
super(app, plugin);
this.plugin = plugin;
}
@ -17,7 +17,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
containerEl.empty();
containerEl.createEl('h2', { text: 'Task Export Tool Settings' });
new Setting(containerEl)
.setName('Task Export Tool Settings')
.setHeading();
// Output Path
new Setting(containerEl)
@ -26,9 +28,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.addText(text => text
.setPlaceholder('outstanding_tasks.csv')
.setValue(this.plugin.settings.outputPath)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.outputPath = value || 'outstanding_tasks.csv';
await this.plugin.saveSettings();
void this.plugin.saveSettings();
}));
// Customers Folder
@ -38,9 +40,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.addText(text => text
.setPlaceholder('Customers')
.setValue(this.plugin.settings.customersFolder)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.customersFolder = value || 'Customers';
await this.plugin.saveSettings();
void this.plugin.saveSettings();
this.plugin.updateFileWatcher();
}));
@ -50,9 +52,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.setDesc('Automatically export tasks when files change')
.addToggle(toggle => toggle
.setValue(this.plugin.settings.autoExport)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.autoExport = value;
await this.plugin.saveSettings();
void this.plugin.saveSettings();
this.plugin.updateFileWatcher();
}));
@ -62,9 +64,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.setDesc('Trigger export when files are saved')
.addToggle(toggle => toggle
.setValue(this.plugin.settings.exportOnSave)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.exportOnSave = value;
await this.plugin.saveSettings();
void this.plugin.saveSettings();
}));
// Export on Modify
@ -73,9 +75,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.setDesc('Trigger export when files are modified (more frequent)')
.addToggle(toggle => toggle
.setValue(this.plugin.settings.exportOnModify)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.exportOnModify = value;
await this.plugin.saveSettings();
void this.plugin.saveSettings();
}));
// Show Notifications
@ -84,9 +86,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.setDesc('Display notifications on export completion')
.addToggle(toggle => toggle
.setValue(this.plugin.settings.showNotifications)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.showNotifications = value;
await this.plugin.saveSettings();
void this.plugin.saveSettings();
}));
// Compress Levels
@ -95,9 +97,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.setDesc('Remove empty hierarchy columns from CSV output')
.addToggle(toggle => toggle
.setValue(this.plugin.settings.compressLevels)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.compressLevels = value;
await this.plugin.saveSettings();
void this.plugin.saveSettings();
}));
// Include Header
@ -106,22 +108,22 @@ export class TaskExportSettingTab extends PluginSettingTab {
.setDesc('Include CSV header row in output')
.addToggle(toggle => toggle
.setValue(this.plugin.settings.includeHeader)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.includeHeader = value;
await this.plugin.saveSettings();
void this.plugin.saveSettings();
}));
// CSV Delimiter
new Setting(containerEl)
.setName('CSV Delimiter')
.setName('CSV delimiter')
.setDesc('Choose delimiter for CSV output. Comma is standard, semicolon is common in Europe.')
.addDropdown(dropdown => dropdown
.addOption(',', 'Comma (,)')
.addOption(';', 'Semicolon (;)')
.setValue(this.plugin.settings.delimiter)
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.delimiter = value as ',' | ';';
await this.plugin.saveSettings();
void this.plugin.saveSettings();
}));
// Debounce Delay
@ -132,9 +134,9 @@ export class TaskExportSettingTab extends PluginSettingTab {
.setLimits(1, 30, 1)
.setValue(this.plugin.settings.debounceDelay)
.setDynamicTooltip()
.onChange(async (value) => {
.onChange((value) => {
this.plugin.settings.debounceDelay = value;
await this.plugin.saveSettings();
void this.plugin.saveSettings();
this.plugin.updateFileWatcher();
}));
}

View file

@ -1,4 +1,5 @@
{
"1.0.0": "1.0.0",
"1.0.1": "1.0.0"
"1.0.1": "1.0.0",
"1.0.2": "1.0.0"
}