Compare commits

...

2 Commits

Author SHA1 Message Date
39a31a4304 1.16.4
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-08-08 05:28:02 +00:00
b629a7d70b fix(prettier): Improve file exclusion in the Prettier formatter to skip unnecessary files and directories. 2025-08-08 05:28:01 +00:00
4 changed files with 45 additions and 3 deletions

View File

@@ -1,5 +1,11 @@
# Changelog
## 2025-08-08 - 1.16.4 - fix(prettier)
Improve file exclusion in the Prettier formatter to skip unnecessary files and directories.
- Added exclusion patterns for node_modules, .git, dist, .nogit, coverage, .nyc_output, vendor, bower_components, jspm_packages, and minified files.
- Optimized filtering logic to ensure only valid files are processed.
## 2025-08-08 - 1.16.3 - fix(changecache/prettier)
Skip directories during file processing to prevent errors in changecache and prettier formatting

View File

@@ -1,7 +1,7 @@
{
"name": "@git.zone/cli",
"private": false,
"version": "1.16.3",
"version": "1.16.4",
"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.",
"main": "dist_ts/index.ts",
"typings": "dist_ts/index.d.ts",

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/cli',
version: '1.16.3',
version: '1.16.4',
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.'
}

View File

@@ -12,12 +12,48 @@ export class PrettierFormatter extends BaseFormatter {
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'
];
// Get all files that match the pattern
const files = await plugins.smartfile.fs.listFileTree('.', globPattern);
// Filter out any potential directories and ensure we only process files
// Filter out excluded directories and ensure we only process files
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()) {