fix(prettier): Improve file selection in Prettier formatter, remove legacy package overrides, and update CI template indentation
This commit is contained in:
		| @@ -1 +0,0 @@ | ||||
| {} | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -2,4 +2,3 @@ runafter: | ||||
|   - git add -A && git commit -m initial | ||||
|   - git push origin master | ||||
|   - gitzone meta update | ||||
|   | ||||
| @@ -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. | ||||
|  | ||||
|   | ||||
| @@ -113,9 +113,7 @@ | ||||
|     "last 1 chrome versions" | ||||
|   ], | ||||
|   "pnpm": { | ||||
|     "overrides": { | ||||
|       "peek-readable": "5.3.1" | ||||
|     } | ||||
|     "overrides": {} | ||||
|   }, | ||||
|   "packageManager": "pnpm@10.7.0+sha512.6b865ad4b62a1d9842b61d674a393903b871d9244954f652b8842c2b553c72176b278f64c463e52d40fff8aba385c235c8c9ecf5cc7de4fd78b8bb6d49633ab6" | ||||
| } | ||||
| } | ||||
| @@ -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.' | ||||
| } | ||||
|   | ||||
| @@ -10,50 +10,62 @@ export class PrettierFormatter extends BaseFormatter { | ||||
|    | ||||
|   async analyze(): Promise<IPlannedChange[]> { | ||||
|     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()) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user