From 9f5f568c3faef1df53bd1b84821d39030b90d0ef Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Fri, 8 Aug 2025 05:34:54 +0000 Subject: [PATCH] fix(prettier): Improve file selection in Prettier formatter, remove legacy package overrides, and update CI template indentation --- assets/overrides.json | 1 - .../ci_default_gitlab/.gitlab-ci.yml | 4 +- .../ci_default_private_gitlab/.gitlab-ci.yml | 4 +- .../templates/ci_docker_gitlab/.gitlab-ci.yml | 4 +- assets/templates/meta/.smartscaf.yml | 1 - changelog.md | 8 ++ package.json | 6 +- ts/00_commitinfo_data.ts | 2 +- .../formatters/prettier.formatter.ts | 88 +++++++++++-------- 9 files changed, 67 insertions(+), 51 deletions(-) delete mode 100644 assets/overrides.json diff --git a/assets/overrides.json b/assets/overrides.json deleted file mode 100644 index 9e26dfe..0000000 --- a/assets/overrides.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/assets/templates/ci_default_gitlab/.gitlab-ci.yml b/assets/templates/ci_default_gitlab/.gitlab-ci.yml index c599722..16a3835 100644 --- a/assets/templates/ci_default_gitlab/.gitlab-ci.yml +++ b/assets/templates/ci_default_gitlab/.gitlab-ci.yml @@ -27,8 +27,8 @@ auditProductionDependencies: image: code.foss.global/hosttoday/ht-docker-node:npmci stage: security script: - - npmci command npm config set registry https://registry.npmjs.org - - npmci command pnpm audit --audit-level=high --prod + - npmci command npm config set registry https://registry.npmjs.org + - npmci command pnpm audit --audit-level=high --prod tags: - private - docker diff --git a/assets/templates/ci_default_private_gitlab/.gitlab-ci.yml b/assets/templates/ci_default_private_gitlab/.gitlab-ci.yml index f3e0fb4..599af4a 100644 --- a/assets/templates/ci_default_private_gitlab/.gitlab-ci.yml +++ b/assets/templates/ci_default_private_gitlab/.gitlab-ci.yml @@ -27,8 +27,8 @@ auditProductionDependencies: image: code.foss.global/hosttoday/ht-docker-node:npmci stage: security script: - - npmci command npm config set registry https://registry.npmjs.org - - npmci command pnpm audit --audit-level=high --prod + - npmci command npm config set registry https://registry.npmjs.org + - npmci command pnpm audit --audit-level=high --prod tags: - private - docker diff --git a/assets/templates/ci_docker_gitlab/.gitlab-ci.yml b/assets/templates/ci_docker_gitlab/.gitlab-ci.yml index 43e54c3..f6bc02a 100644 --- a/assets/templates/ci_docker_gitlab/.gitlab-ci.yml +++ b/assets/templates/ci_docker_gitlab/.gitlab-ci.yml @@ -25,8 +25,8 @@ auditProductionDependencies: image: code.foss.global/hosttoday/ht-docker-node:npmci stage: security script: - - npmci command npm config set registry https://registry.npmjs.org - - npmci command pnpm audit --audit-level=high --prod + - npmci command npm config set registry https://registry.npmjs.org + - npmci command pnpm audit --audit-level=high --prod tags: - private - docker diff --git a/assets/templates/meta/.smartscaf.yml b/assets/templates/meta/.smartscaf.yml index a3e0e48..bfb20b5 100644 --- a/assets/templates/meta/.smartscaf.yml +++ b/assets/templates/meta/.smartscaf.yml @@ -2,4 +2,3 @@ runafter: - git add -A && git commit -m initial - git push origin master - gitzone meta update - \ No newline at end of file diff --git a/changelog.md b/changelog.md index 4cdd4a2..bdab3a2 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ # Changelog +## 2025-08-08 - 1.16.5 - fix(prettier) +Improve file selection in Prettier formatter, remove legacy package overrides, and update CI template indentation + +- Added .claude/settings.local.json with updated permission settings for local commands +- Removed unnecessary overrides from assets/overrides.json and cleared packageManager overrides in package.json +- Adjusted CI template files (ci_default_gitlab, ci_default_private_gitlab, ci_docker_gitlab) for consistent indentation and formatting +- Refined Prettier formatter logic by defining include directories, root config files, and filtering duplicates instead of manual exclusion + ## 2025-08-08 - 1.16.4 - fix(prettier) Improve file exclusion in the Prettier formatter to skip unnecessary files and directories. diff --git a/package.json b/package.json index 13a7348..4824f1b 100644 --- a/package.json +++ b/package.json @@ -113,9 +113,7 @@ "last 1 chrome versions" ], "pnpm": { - "overrides": { - "peek-readable": "5.3.1" - } + "overrides": {} }, "packageManager": "pnpm@10.7.0+sha512.6b865ad4b62a1d9842b61d674a393903b871d9244954f652b8842c2b553c72176b278f64c463e52d40fff8aba385c235c8c9ecf5cc7de4fd78b8bb6d49633ab6" -} +} \ No newline at end of file diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 34224f8..a1c7b6a 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@git.zone/cli', - version: '1.16.4', + version: '1.16.5', description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.' } diff --git a/ts/mod_format/formatters/prettier.formatter.ts b/ts/mod_format/formatters/prettier.formatter.ts index 995d65e..bfab5cd 100644 --- a/ts/mod_format/formatters/prettier.formatter.ts +++ b/ts/mod_format/formatters/prettier.formatter.ts @@ -10,50 +10,62 @@ export class PrettierFormatter extends BaseFormatter { async analyze(): Promise { const changes: IPlannedChange[] = []; - const globPattern = '**/*.{ts,tsx,js,jsx,json,md,css,scss,html,xml,yaml,yml}'; - // Directories to exclude from formatting - const excludePatterns = [ - 'node_modules/**', - '.git/**', - 'dist/**', - 'dist_*/**', - '.nogit/**', - 'coverage/**', - '.nyc_output/**', - 'vendor/**', - 'bower_components/**', - 'jspm_packages/**', - '*.min.js', - '*.min.css' + // Define directories to format (TypeScript directories by default) + const includeDirs = [ + 'ts', + 'ts_*', + 'test', + 'tests' ]; - // Get all files that match the pattern - const files = await plugins.smartfile.fs.listFileTree('.', globPattern); + // File extensions to format + const extensions = '{ts,tsx,js,jsx,json,md,css,scss,html,xml,yaml,yml}'; - // Filter out excluded directories and ensure we only process files + // Also format root-level config files + const rootConfigFiles = [ + 'package.json', + 'tsconfig.json', + 'npmextra.json', + '.prettierrc', + '.prettierrc.json', + '.prettierrc.js', + 'readme.md', + 'README.md', + 'changelog.md', + 'CHANGELOG.md', + 'license', + 'LICENSE', + '*.md' + ]; + + // Collect all files to format + const allFiles: string[] = []; + + // Add files from TypeScript directories + for (const dir of includeDirs) { + const globPattern = `${dir}/**/*.${extensions}`; + const dirFiles = await plugins.smartfile.fs.listFileTree('.', globPattern); + allFiles.push(...dirFiles); + } + + // Add root config files + for (const pattern of rootConfigFiles) { + const rootFiles = await plugins.smartfile.fs.listFileTree('.', pattern); + // Only include files at root level (no slashes in path) + const rootLevelFiles = rootFiles.filter(f => !f.includes('/')); + allFiles.push(...rootLevelFiles); + } + + // Remove duplicates + const uniqueFiles = [...new Set(allFiles)]; + + // Get all files that match the pattern + const files = uniqueFiles; + + // Ensure we only process actual files (not directories) const validFiles: string[] = []; for (const file of files) { - // Check if file matches any exclude pattern - let shouldExclude = false; - for (const pattern of excludePatterns) { - // Simple pattern matching for common cases - const patternBase = pattern.replace('/**', '').replace('**/', '').replace('*', ''); - if (pattern.endsWith('/**') && file.startsWith(patternBase + '/')) { - shouldExclude = true; - logVerbose(`Excluding ${file} - matches exclude pattern ${pattern}`); - break; - } else if (pattern.startsWith('*.') && file.endsWith(patternBase)) { - shouldExclude = true; - logVerbose(`Excluding ${file} - matches exclude pattern ${pattern}`); - break; - } - } - - if (shouldExclude) { - continue; - } - try { const stats = await plugins.smartfile.fs.stat(file); if (!stats.isDirectory()) {