Compare commits

...

6 Commits

Author SHA1 Message Date
5f561527f9 1.16.5
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:34:54 +00:00
9f5f568c3f fix(prettier): Improve file selection in Prettier formatter, remove legacy package overrides, and update CI template indentation 2025-08-08 05:34:54 +00:00
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
4003944139 1.16.3
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:18:19 +00:00
83d374dffd fix(changecache/prettier): Skip directories during file processing to prevent errors in changecache and prettier formatting 2025-08-08 05:18:19 +00:00
10 changed files with 110 additions and 19 deletions

View File

@@ -1 +0,0 @@
{}

View File

@@ -2,4 +2,3 @@ runafter:
- git add -A && git commit -m initial - git add -A && git commit -m initial
- git push origin master - git push origin master
- gitzone meta update - gitzone meta update

View File

@@ -1,5 +1,26 @@
# Changelog # 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.
- 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
- Removed unnecessary await on synchronous file reads in changecache
- Added directory checks in changecache to immediately skip directories
- Filtered out directories in prettier formatter to avoid processing non-files
## 2025-08-07 - 1.16.2 - fix(format) ## 2025-08-07 - 1.16.2 - fix(format)
Fix format command confirmation prompt to correctly check user response Fix format command confirmation prompt to correctly check user response

View File

@@ -1,7 +1,7 @@
{ {
"name": "@git.zone/cli", "name": "@git.zone/cli",
"private": false, "private": false,
"version": "1.16.2", "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.", "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", "main": "dist_ts/index.ts",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",
@@ -113,9 +113,7 @@
"last 1 chrome versions" "last 1 chrome versions"
], ],
"pnpm": { "pnpm": {
"overrides": { "overrides": {}
"peek-readable": "5.3.1"
}
}, },
"packageManager": "pnpm@10.7.0+sha512.6b865ad4b62a1d9842b61d674a393903b871d9244954f652b8842c2b553c72176b278f64c463e52d40fff8aba385c235c8c9ecf5cc7de4fd78b8bb6d49633ab6" "packageManager": "pnpm@10.7.0+sha512.6b865ad4b62a1d9842b61d674a393903b871d9244954f652b8842c2b553c72176b278f64c463e52d40fff8aba385c235c8c9ecf5cc7de4fd78b8bb6d49633ab6"
} }

View File

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

@@ -38,7 +38,7 @@ export class ChangeCache {
}; };
} }
const content = await plugins.smartfile.fs.toStringSync(this.manifestPath); const content = plugins.smartfile.fs.toStringSync(this.manifestPath);
return JSON.parse(content); return JSON.parse(content);
} }
@@ -59,7 +59,13 @@ export class ChangeCache {
// Get current file stats // Get current file stats
const stats = await plugins.smartfile.fs.stat(absolutePath); const stats = await plugins.smartfile.fs.stat(absolutePath);
const content = await plugins.smartfile.fs.toStringSync(absolutePath);
// Skip directories
if (stats.isDirectory()) {
return false; // Directories are not processed
}
const content = plugins.smartfile.fs.toStringSync(absolutePath);
const currentChecksum = this.calculateChecksum(content); const currentChecksum = this.calculateChecksum(content);
// Get cached info // Get cached info
@@ -83,6 +89,12 @@ export class ChangeCache {
// Get current file stats // Get current file stats
const stats = await plugins.smartfile.fs.stat(absolutePath); const stats = await plugins.smartfile.fs.stat(absolutePath);
// Skip directories
if (stats.isDirectory()) {
return; // Don't cache directories
}
const content = await plugins.smartfile.fs.toStringSync(absolutePath); const content = await plugins.smartfile.fs.toStringSync(absolutePath);
const checksum = this.calculateChecksum(content); const checksum = this.calculateChecksum(content);

View File

@@ -10,13 +10,75 @@ export class PrettierFormatter extends BaseFormatter {
async analyze(): Promise<IPlannedChange[]> { async analyze(): Promise<IPlannedChange[]> {
const changes: IPlannedChange[] = []; const changes: IPlannedChange[] = [];
const globPattern = '**/*.{ts,tsx,js,jsx,json,md,css,scss,html,xml,yaml,yml}';
// Define directories to format (TypeScript directories by default)
const includeDirs = [
'ts',
'ts_*',
'test',
'tests'
];
// File extensions to format
const extensions = '{ts,tsx,js,jsx,json,md,css,scss,html,xml,yaml,yml}';
// 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 // Get all files that match the pattern
const files = await plugins.smartfile.fs.listFileTree('.', globPattern); const files = uniqueFiles;
// Ensure we only process actual files (not directories)
const validFiles: string[] = [];
for (const file of files) {
try {
const stats = await plugins.smartfile.fs.stat(file);
if (!stats.isDirectory()) {
validFiles.push(file);
}
} catch (error) {
// Skip files that can't be accessed
logVerbose(`Skipping ${file} - cannot access: ${error.message}`);
}
}
// Check which files need formatting // Check which files need formatting
for (const file of files) { for (const file of validFiles) {
// Skip files that haven't changed // Skip files that haven't changed
if (!await this.shouldProcessFile(file)) { if (!await this.shouldProcessFile(file)) {
logVerbose(`Skipping ${file} - no changes detected`); logVerbose(`Skipping ${file} - no changes detected`);
@@ -85,7 +147,7 @@ export class PrettierFormatter extends BaseFormatter {
try { try {
// Read current content // Read current content
const content = await plugins.smartfile.fs.toStringSync(change.path); const content = plugins.smartfile.fs.toStringSync(change.path);
// Format with prettier // Format with prettier
const prettier = await import('prettier'); const prettier = await import('prettier');