From f1b8a6d1d4a79692d11e3d82a44e25549c65c538 Mon Sep 17 00:00:00 2001 From: Lucian Ghinet Date: Mon, 19 Jan 2026 09:55:32 +0200 Subject: [PATCH 1/2] fix: improve file watcher configuration and code formatting --- .changeset/spicy-monkeys-buy.md | 5 +++++ .../src/keyPerFileConfiguration.ts | 16 ++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 .changeset/spicy-monkeys-buy.md diff --git a/.changeset/spicy-monkeys-buy.md b/.changeset/spicy-monkeys-buy.md new file mode 100644 index 0000000..6a30cc3 --- /dev/null +++ b/.changeset/spicy-monkeys-buy.md @@ -0,0 +1,5 @@ +--- +'@totalsoft/key-per-file-configuration': minor +--- + +fix keyPerFileConfiguration watcher diff --git a/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts b/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts index 2448cc4..93ac2f6 100644 --- a/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts +++ b/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts @@ -23,7 +23,11 @@ export function load(options?: Options): ConfigWatcher { // Watch for file changes const watcher = chokidar - .watch(configFolderPath, { awaitWriteFinish: true /*, usePolling: true*/ }) + .watch(configFolderPath, { + awaitWriteFinish: true, + ignored: (filePath) => path.basename(filePath).startsWith('..') //ignore kubernetes folders + /*, usePolling: true*/ + }) .on('unlink', _removeValue) .on('add', loadValue) .on('change', loadValue) @@ -43,13 +47,13 @@ function _getAbsolutePath(configPath = KEY_PER_FILE_CONFIG_PATH || defaultConfig function _getFilePaths(configPath: string) { - if (!fs.existsSync(configPath) || fs.lstatSync(configPath).isDirectory()) { - configPath = path.join(configPath, '**') - } + if (!fs.existsSync(configPath) || fs.lstatSync(configPath).isDirectory()) { + configPath = path.join(configPath, '**') + } - configPath = configPath.replace(/\\/g, '/') + configPath = configPath.replace(/\\/g, '/') - return glob.sync(configPath, { nodir: true }) + return glob.sync(configPath, { nodir: true }) } function _loadValue(logger: Logger) { From f2670e79fcb9a4315227462eb38c3ba273e8fa88 Mon Sep 17 00:00:00 2001 From: Lucian Ghinet Date: Mon, 19 Jan 2026 10:54:48 +0200 Subject: [PATCH 2/2] fix: correct file watcher configuration to ignore permission errors --- .../key-per-file-configuration/src/keyPerFileConfiguration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts b/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts index 93ac2f6..b0d8b36 100644 --- a/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts +++ b/packages/key-per-file-configuration/src/keyPerFileConfiguration.ts @@ -25,7 +25,7 @@ export function load(options?: Options): ConfigWatcher { const watcher = chokidar .watch(configFolderPath, { awaitWriteFinish: true, - ignored: (filePath) => path.basename(filePath).startsWith('..') //ignore kubernetes folders + ignorePermissionErrors: true /*, usePolling: true*/ }) .on('unlink', _removeValue)