Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
cef31cf1ff | |||
74ecdde1ac |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -16,4 +16,6 @@ node_modules/
|
|||||||
dist/
|
dist/
|
||||||
dist_*/
|
dist_*/
|
||||||
|
|
||||||
#------# custom
|
#------# custom
|
||||||
|
.serena
|
||||||
|
test-output.json
|
||||||
|
78
changelog.md
78
changelog.md
@@ -1,6 +1,15 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-08-08 - 1.16.9 - fix(format)
|
||||||
|
Improve concurrency control in cache and rollback modules, refine gitignore custom section handling, and enhance Prettier file processing
|
||||||
|
|
||||||
|
- Added mutex locking in ChangeCache and RollbackManager to prevent race conditions during manifest updates
|
||||||
|
- Updated gitignore logic to detect and preserve existing custom sections from various markers
|
||||||
|
- Simplified Prettier formatter to process files sequentially, skip files without extensions, and log detailed status
|
||||||
|
- Minor refactoring in base formatter and tsconfig file updates for improved reliability
|
||||||
|
|
||||||
## 2025-08-08 - 1.16.8 - fix(format)
|
## 2025-08-08 - 1.16.8 - fix(format)
|
||||||
|
|
||||||
Improve concurrency control in cache and rollback management with mutex locking and refine formatting details
|
Improve concurrency control in cache and rollback management with mutex locking and refine formatting details
|
||||||
|
|
||||||
- Added 'withMutex' functions in ChangeCache and RollbackManager to synchronize file I/O operations
|
- Added 'withMutex' functions in ChangeCache and RollbackManager to synchronize file I/O operations
|
||||||
@@ -8,6 +17,7 @@ Improve concurrency control in cache and rollback management with mutex locking
|
|||||||
- Fixed minor formatting issues in commit info and package.json
|
- Fixed minor formatting issues in commit info and package.json
|
||||||
|
|
||||||
## 2025-08-08 - 1.16.7 - fix(core)
|
## 2025-08-08 - 1.16.7 - fix(core)
|
||||||
|
|
||||||
Improve formatting, logging, and rollback integrity in core modules
|
Improve formatting, logging, and rollback integrity in core modules
|
||||||
|
|
||||||
- Add .claude/settings.local.json with defined permissions for allowed commands
|
- Add .claude/settings.local.json with defined permissions for allowed commands
|
||||||
@@ -16,6 +26,7 @@ Improve formatting, logging, and rollback integrity in core modules
|
|||||||
- Enhance logging messages and overall code clarity in CLI and commit modules
|
- Enhance logging messages and overall code clarity in CLI and commit modules
|
||||||
|
|
||||||
## 2025-08-08 - 1.16.6 - fix(changecache)
|
## 2025-08-08 - 1.16.6 - fix(changecache)
|
||||||
|
|
||||||
Improve cache manifest validation and atomic file writes; add local settings and overrides
|
Improve cache manifest validation and atomic file writes; add local settings and overrides
|
||||||
|
|
||||||
- Add manifest structure validation and default fallback in getManifest
|
- Add manifest structure validation and default fallback in getManifest
|
||||||
@@ -25,6 +36,7 @@ Improve cache manifest validation and atomic file writes; add local settings and
|
|||||||
- Add an empty assets/overrides.json file for future overrides
|
- Add an empty assets/overrides.json file for future overrides
|
||||||
|
|
||||||
## 2025-08-08 - 1.16.5 - fix(prettier)
|
## 2025-08-08 - 1.16.5 - fix(prettier)
|
||||||
|
|
||||||
Improve file selection in Prettier formatter, remove legacy package overrides, and update CI template indentation
|
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
|
- Added .claude/settings.local.json with updated permission settings for local commands
|
||||||
@@ -33,12 +45,14 @@ Improve file selection in Prettier formatter, remove legacy package overrides, a
|
|||||||
- Refined Prettier formatter logic by defining include directories, root config files, and filtering duplicates instead of manual exclusion
|
- 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)
|
## 2025-08-08 - 1.16.4 - fix(prettier)
|
||||||
|
|
||||||
Improve file exclusion in the Prettier formatter to skip unnecessary files and directories.
|
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.
|
- 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.
|
- Optimized filtering logic to ensure only valid files are processed.
|
||||||
|
|
||||||
## 2025-08-08 - 1.16.3 - fix(changecache/prettier)
|
## 2025-08-08 - 1.16.3 - fix(changecache/prettier)
|
||||||
|
|
||||||
Skip directories during file processing to prevent errors in changecache and prettier formatting
|
Skip directories during file processing to prevent errors in changecache and prettier formatting
|
||||||
|
|
||||||
- Removed unnecessary await on synchronous file reads in changecache
|
- Removed unnecessary await on synchronous file reads in changecache
|
||||||
@@ -46,18 +60,21 @@ Skip directories during file processing to prevent errors in changecache and pre
|
|||||||
- Filtered out directories in prettier formatter to avoid processing non-files
|
- 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
|
||||||
|
|
||||||
- Fixed bug where format command always showed "cancelled" even when user confirmed
|
- Fixed bug where format command always showed "cancelled" even when user confirmed
|
||||||
- Changed response check from `response.proceed` to `response.value` for SmartInteract compatibility
|
- Changed response check from `response.proceed` to `response.value` for SmartInteract compatibility
|
||||||
|
|
||||||
## 2025-08-04 - 1.16.1 - fix(package/config)
|
## 2025-08-04 - 1.16.1 - fix(package/config)
|
||||||
|
|
||||||
Move smartdiff dependency to runtime and add local bash permissions settings
|
Move smartdiff dependency to runtime and add local bash permissions settings
|
||||||
|
|
||||||
- Moved '@push.rocks/smartdiff' from devDependencies to dependencies in package.json
|
- Moved '@push.rocks/smartdiff' from devDependencies to dependencies in package.json
|
||||||
- Added .claude/settings.local.json with allowed bash commands (grep, mkdir, find, ls)
|
- Added .claude/settings.local.json with allowed bash commands (grep, mkdir, find, ls)
|
||||||
|
|
||||||
## 2025-05-19 - 1.16.0 - feat(format)
|
## 2025-05-19 - 1.16.0 - feat(format)
|
||||||
|
|
||||||
Enhance format module with rollback, diff reporting, and improved parallel execution
|
Enhance format module with rollback, diff reporting, and improved parallel execution
|
||||||
|
|
||||||
- Implemented rollback functionality with backup management and automatic rollback on error
|
- Implemented rollback functionality with backup management and automatic rollback on error
|
||||||
@@ -68,12 +85,14 @@ Enhance format module with rollback, diff reporting, and improved parallel execu
|
|||||||
- Updated package.json to include new dependency '@push.rocks/smartdiff'
|
- Updated package.json to include new dependency '@push.rocks/smartdiff'
|
||||||
|
|
||||||
## 2025-05-14 - 1.15.5 - fix(dependencies)
|
## 2025-05-14 - 1.15.5 - fix(dependencies)
|
||||||
|
|
||||||
Update @git.zone/tsdoc to ^1.5.0 and @types/node to ^22.15.18
|
Update @git.zone/tsdoc to ^1.5.0 and @types/node to ^22.15.18
|
||||||
|
|
||||||
- Bumped @git.zone/tsdoc from ^1.4.5 to ^1.5.0
|
- Bumped @git.zone/tsdoc from ^1.4.5 to ^1.5.0
|
||||||
- Bumped @types/node from ^22.15.17 to ^22.15.18
|
- Bumped @types/node from ^22.15.17 to ^22.15.18
|
||||||
|
|
||||||
## 2025-05-13 - 1.15.4 - fix(package.json)
|
## 2025-05-13 - 1.15.4 - fix(package.json)
|
||||||
|
|
||||||
Update dependency versions: bump @git.zone/tsdoc, @push.rocks/lik, @push.rocks/smartlog, and @types/node to their latest releases
|
Update dependency versions: bump @git.zone/tsdoc, @push.rocks/lik, @push.rocks/smartlog, and @types/node to their latest releases
|
||||||
|
|
||||||
- Upgrade @git.zone/tsdoc from ^1.4.4 to ^1.4.5
|
- Upgrade @git.zone/tsdoc from ^1.4.4 to ^1.4.5
|
||||||
@@ -82,6 +101,7 @@ Update dependency versions: bump @git.zone/tsdoc, @push.rocks/lik, @push.rocks/s
|
|||||||
- Upgrade @types/node from ^22.14.1 to ^22.15.17
|
- Upgrade @types/node from ^22.14.1 to ^22.15.17
|
||||||
|
|
||||||
## 2025-04-15 - 1.15.3 - fix(deps)
|
## 2025-04-15 - 1.15.3 - fix(deps)
|
||||||
|
|
||||||
update dependency versions and improve website template variable handling
|
update dependency versions and improve website template variable handling
|
||||||
|
|
||||||
- Bumped @git.zone/tsbuild from ^2.2.1 to ^2.3.2 and @types/node to ^22.14.1
|
- Bumped @git.zone/tsbuild from ^2.2.1 to ^2.3.2 and @types/node to ^22.14.1
|
||||||
@@ -89,56 +109,65 @@ update dependency versions and improve website template variable handling
|
|||||||
- Refactored website template update to correctly supply variables with added logging
|
- Refactored website template update to correctly supply variables with added logging
|
||||||
|
|
||||||
## 2025-04-15 - 1.15.2 - fix(website_update)
|
## 2025-04-15 - 1.15.2 - fix(website_update)
|
||||||
|
|
||||||
Await supplyVariables call in website update template
|
Await supplyVariables call in website update template
|
||||||
|
|
||||||
- Changed website template update to properly await the supplyVariables method
|
- Changed website template update to properly await the supplyVariables method
|
||||||
- Ensured asynchronous consistency in updating website template variables
|
- Ensured asynchronous consistency in updating website template variables
|
||||||
|
|
||||||
## 2025-04-15 - 1.15.1 - fix(cli)
|
## 2025-04-15 - 1.15.1 - fix(cli)
|
||||||
|
|
||||||
Refresh internal CLI tooling and configuration for consistency.
|
Refresh internal CLI tooling and configuration for consistency.
|
||||||
|
|
||||||
|
|
||||||
## 2025-04-15 - 1.15.0 - feat(config/template)
|
## 2025-04-15 - 1.15.0 - feat(config/template)
|
||||||
|
|
||||||
Add assetbrokerUrl and legalUrl fields to module config and update website template to supply these values
|
Add assetbrokerUrl and legalUrl fields to module config and update website template to supply these values
|
||||||
|
|
||||||
- Added assetbrokerUrl and legalUrl properties in ts/classes.gitzoneconfig.ts
|
- Added assetbrokerUrl and legalUrl properties in ts/classes.gitzoneconfig.ts
|
||||||
- Updated ts/mod_format/format.templates.ts to pass assetbrokerUrl and legalUrl to website template
|
- Updated ts/mod_format/format.templates.ts to pass assetbrokerUrl and legalUrl to website template
|
||||||
|
|
||||||
## 2025-04-15 - 1.14.1 - fix(package.json)
|
## 2025-04-15 - 1.14.1 - fix(package.json)
|
||||||
|
|
||||||
Add packageManager field to specify pnpm version for consistent package management
|
Add packageManager field to specify pnpm version for consistent package management
|
||||||
|
|
||||||
- Inserted packageManager property in package.json with pnpm version info to ensure reproducible dependency installs
|
- Inserted packageManager property in package.json with pnpm version info to ensure reproducible dependency installs
|
||||||
|
|
||||||
## 2025-04-15 - 1.14.0 - feat(tsconfig_update)
|
## 2025-04-15 - 1.14.0 - feat(tsconfig_update)
|
||||||
|
|
||||||
Add runafter directive to trigger gitzone format after tsconfig update
|
Add runafter directive to trigger gitzone format after tsconfig update
|
||||||
|
|
||||||
- Added runafter configuration in assets/templates/tsconfig_update/.smartscaf.yml to automate formatting task
|
- Added runafter configuration in assets/templates/tsconfig_update/.smartscaf.yml to automate formatting task
|
||||||
|
|
||||||
## 2025-03-07 - 1.13.1 - fix(cli)
|
## 2025-03-07 - 1.13.1 - fix(cli)
|
||||||
|
|
||||||
Improve commit message logging
|
Improve commit message logging
|
||||||
|
|
||||||
- Updated logging to display recommended next commit details.
|
- Updated logging to display recommended next commit details.
|
||||||
- Enabled interactive prompt for choosing commit type and scope.
|
- Enabled interactive prompt for choosing commit type and scope.
|
||||||
|
|
||||||
## 2025-02-28 - 1.13.0 - feat(templates)
|
## 2025-02-28 - 1.13.0 - feat(templates)
|
||||||
|
|
||||||
Updated and added new TypeScript template files for npm projects
|
Updated and added new TypeScript template files for npm projects
|
||||||
|
|
||||||
- Added new paths.ts and plugins.ts template files for npm projects.
|
- Added new paths.ts and plugins.ts template files for npm projects.
|
||||||
- Removed outdated some.plugins.ts template file.
|
- Removed outdated some.plugins.ts template file.
|
||||||
|
|
||||||
## 2025-02-25 - 1.12.8 - fix(metadata)
|
## 2025-02-25 - 1.12.8 - fix(metadata)
|
||||||
|
|
||||||
Updated package and npmextra json description and keywords for enhanced development workflow clarity
|
Updated package and npmextra json description and keywords for enhanced development workflow clarity
|
||||||
|
|
||||||
- Updated the description in package.json to focus on project setup and management.
|
- Updated the description in package.json to focus on project setup and management.
|
||||||
- Aligned the keywords in both package.json and npmextra.json to include more relevant terms such as gitzone utilities, template management, and CI/CD.
|
- Aligned the keywords in both package.json and npmextra.json to include more relevant terms such as gitzone utilities, template management, and CI/CD.
|
||||||
|
|
||||||
## 2025-02-25 - 1.12.7 - fix(meta)
|
## 2025-02-25 - 1.12.7 - fix(meta)
|
||||||
|
|
||||||
Fix issues in project metadata and configuration.
|
Fix issues in project metadata and configuration.
|
||||||
|
|
||||||
- Updated package metadata to ensure accurate project description and licensing.
|
- Updated package metadata to ensure accurate project description and licensing.
|
||||||
- Ensured npm access level configuration consistency within npmextra.json.
|
- Ensured npm access level configuration consistency within npmextra.json.
|
||||||
|
|
||||||
## 2025-02-25 - 1.12.7 - fix(ci)
|
## 2025-02-25 - 1.12.7 - fix(ci)
|
||||||
|
|
||||||
Updated dependencies and added CI/CD workflows.
|
Updated dependencies and added CI/CD workflows.
|
||||||
|
|
||||||
- Updated several dependencies in package.json for compatibility and security.
|
- Updated several dependencies in package.json for compatibility and security.
|
||||||
@@ -147,6 +176,7 @@ Updated dependencies and added CI/CD workflows.
|
|||||||
- Ensured consistent formatting with Prettier and TypeScript configurations.
|
- Ensured consistent formatting with Prettier and TypeScript configurations.
|
||||||
|
|
||||||
## 2025-01-29 - 1.12.6 - fix(project)
|
## 2025-01-29 - 1.12.6 - fix(project)
|
||||||
|
|
||||||
Minor fixes and cleanup
|
Minor fixes and cleanup
|
||||||
|
|
||||||
- Removed outdated pages/ directory entry in .gitignore.
|
- Removed outdated pages/ directory entry in .gitignore.
|
||||||
@@ -155,6 +185,7 @@ Minor fixes and cleanup
|
|||||||
- Fixed formatting issues across various TypeScript files.
|
- Fixed formatting issues across various TypeScript files.
|
||||||
|
|
||||||
## 2025-01-29 - 1.12.5 - fix(cli)
|
## 2025-01-29 - 1.12.5 - fix(cli)
|
||||||
|
|
||||||
Initial implementation of CLI utility with project management features
|
Initial implementation of CLI utility with project management features
|
||||||
|
|
||||||
- Integration of various plugins for logging, command-line interactions, and project management.
|
- Integration of various plugins for logging, command-line interactions, and project management.
|
||||||
@@ -162,34 +193,40 @@ Initial implementation of CLI utility with project management features
|
|||||||
- Implement commands for packaging, versioning, and deprecating npm packages.
|
- Implement commands for packaging, versioning, and deprecating npm packages.
|
||||||
|
|
||||||
## 2025-01-29 - 1.12.2 - fix(format)
|
## 2025-01-29 - 1.12.2 - fix(format)
|
||||||
|
|
||||||
Add overrides for peek-readable in package.json formatting
|
Add overrides for peek-readable in package.json formatting
|
||||||
|
|
||||||
- Added a URL correction in the packageJson repository information.
|
- Added a URL correction in the packageJson repository information.
|
||||||
- Introduced support for pnpm overrides by including an `overrides.json` file.
|
- Introduced support for pnpm overrides by including an `overrides.json` file.
|
||||||
|
|
||||||
## 2025-01-18 - 1.12.1 - fix(dependencies)
|
## 2025-01-18 - 1.12.1 - fix(dependencies)
|
||||||
|
|
||||||
Update various package dependencies and Dockerfile base image
|
Update various package dependencies and Dockerfile base image
|
||||||
|
|
||||||
- Updated Dockerfile base image from 'alpinenpmci' to 'alpine_npmci'.
|
- Updated Dockerfile base image from 'alpinenpmci' to 'alpine_npmci'.
|
||||||
- Upgraded @git.zone/tsbuild, @git.zone/tsrun, @git.zone/tsdoc, and other dependencies to their latest versions.
|
- Upgraded @git.zone/tsbuild, @git.zone/tsrun, @git.zone/tsdoc, and other dependencies to their latest versions.
|
||||||
|
|
||||||
## 2025-01-17 - 1.12.0 - feat(build)
|
## 2025-01-17 - 1.12.0 - feat(build)
|
||||||
|
|
||||||
Update TypeScript configuration to support emit decorator metadata
|
Update TypeScript configuration to support emit decorator metadata
|
||||||
|
|
||||||
- Added emitDecoratorMetadata to the tsconfig.json template in assets/templates/tsconfig_update.
|
- Added emitDecoratorMetadata to the tsconfig.json template in assets/templates/tsconfig_update.
|
||||||
|
|
||||||
## 2025-01-08 - 1.11.0 - feat(cli)
|
## 2025-01-08 - 1.11.0 - feat(cli)
|
||||||
|
|
||||||
Add Docker command for cleaning up Docker system and extend deprecation command for multiple registries
|
Add Docker command for cleaning up Docker system and extend deprecation command for multiple registries
|
||||||
|
|
||||||
- Added a new command 'docker' to handle Docker system cleanup operations.
|
- Added a new command 'docker' to handle Docker system cleanup operations.
|
||||||
- Improved the 'deprecate' command to support deprecating packages across multiple npm registry URLs.
|
- Improved the 'deprecate' command to support deprecating packages across multiple npm registry URLs.
|
||||||
|
|
||||||
## 2025-01-01 - 1.10.10 - fix(templates)
|
## 2025-01-01 - 1.10.10 - fix(templates)
|
||||||
|
|
||||||
Corrected typo in template file comment
|
Corrected typo in template file comment
|
||||||
|
|
||||||
- Fixed repeated comment in the template file for services under 'assets/templates/service/ts/some.plugins.ts'.
|
- Fixed repeated comment in the template file for services under 'assets/templates/service/ts/some.plugins.ts'.
|
||||||
|
|
||||||
## 2025-01-01 - 1.10.9 - fix(templates)
|
## 2025-01-01 - 1.10.9 - fix(templates)
|
||||||
|
|
||||||
Correct template file paths and organization for service projects
|
Correct template file paths and organization for service projects
|
||||||
|
|
||||||
- Moved 'some.classes.some.ts' to 'classes.some.ts'
|
- Moved 'some.classes.some.ts' to 'classes.some.ts'
|
||||||
@@ -197,60 +234,70 @@ Correct template file paths and organization for service projects
|
|||||||
- Resolved incorrect import paths in service templates
|
- Resolved incorrect import paths in service templates
|
||||||
|
|
||||||
## 2025-01-01 - 1.10.8 - fix(assets/templates)
|
## 2025-01-01 - 1.10.8 - fix(assets/templates)
|
||||||
|
|
||||||
Update CI template configurations to use module.githost
|
Update CI template configurations to use module.githost
|
||||||
|
|
||||||
- Replaced occurrences of {{git.host}} with {{module.githost}} in CI workflow files
|
- Replaced occurrences of {{git.host}} with {{module.githost}} in CI workflow files
|
||||||
- Updated package dependencies for service template
|
- Updated package dependencies for service template
|
||||||
|
|
||||||
## 2024-12-26 - 1.10.7 - fix(assets)
|
## 2024-12-26 - 1.10.7 - fix(assets)
|
||||||
|
|
||||||
Correct URLs in templates and fix TypeScript declaration
|
Correct URLs in templates and fix TypeScript declaration
|
||||||
|
|
||||||
- Updated incorrect URLs in Dockerfile templates to 'host.today'.
|
- Updated incorrect URLs in Dockerfile templates to 'host.today'.
|
||||||
- Fixed type declaration for 'TemplateResult' in header.ts file.
|
- Fixed type declaration for 'TemplateResult' in header.ts file.
|
||||||
|
|
||||||
## 2024-12-08 - 1.10.6 - fix(ci)
|
## 2024-12-08 - 1.10.6 - fix(ci)
|
||||||
|
|
||||||
Corrected Docker image URL in CI templates
|
Corrected Docker image URL in CI templates
|
||||||
|
|
||||||
- Updated Docker image URL from 'code.foss.global/hosttoday' to 'code.foss.global/host.today' in default_nottags.yaml and default_tags.yaml.
|
- Updated Docker image URL from 'code.foss.global/hosttoday' to 'code.foss.global/host.today' in default_nottags.yaml and default_tags.yaml.
|
||||||
- Adjusted gitignore template to include a custom section delineation.
|
- Adjusted gitignore template to include a custom section delineation.
|
||||||
|
|
||||||
## 2024-12-02 - 1.10.5 - fix(assets)
|
## 2024-12-02 - 1.10.5 - fix(assets)
|
||||||
|
|
||||||
Update .gitignore template to remove pages directory
|
Update .gitignore template to remove pages directory
|
||||||
|
|
||||||
- Removed 'pages/' from the ignored directories in the .gitignore template.
|
- Removed 'pages/' from the ignored directories in the .gitignore template.
|
||||||
|
|
||||||
## 2024-11-05 - 1.10.4 - fix(mod_format)
|
## 2024-11-05 - 1.10.4 - fix(mod_format)
|
||||||
|
|
||||||
Correct file extension for TypeScript path configuration
|
Correct file extension for TypeScript path configuration
|
||||||
|
|
||||||
- Fixed the TypeScript configuration to use correct file extensions for module subdirectories.
|
- Fixed the TypeScript configuration to use correct file extensions for module subdirectories.
|
||||||
|
|
||||||
## 2024-10-27 - 1.10.3 - fix(mod_format)
|
## 2024-10-27 - 1.10.3 - fix(mod_format)
|
||||||
|
|
||||||
Reorder TypeScript formatting steps in mod_format module
|
Reorder TypeScript formatting steps in mod_format module
|
||||||
|
|
||||||
- Moved TypeScript configuration formatting earlier in the sequence for better logical consistency.
|
- Moved TypeScript configuration formatting earlier in the sequence for better logical consistency.
|
||||||
|
|
||||||
## 2024-10-27 - 1.10.2 - fix(format)
|
## 2024-10-27 - 1.10.2 - fix(format)
|
||||||
|
|
||||||
Add logging for tsconfig.json formatting
|
Add logging for tsconfig.json formatting
|
||||||
|
|
||||||
- Added an info log message for tsconfig.json formatting in format.tsconfig.ts.
|
- Added an info log message for tsconfig.json formatting in format.tsconfig.ts.
|
||||||
|
|
||||||
## 2024-10-27 - 1.10.1 - fix(format)
|
## 2024-10-27 - 1.10.1 - fix(format)
|
||||||
|
|
||||||
Fixed async issue in tsconfig module lookup and corrected property access
|
Fixed async issue in tsconfig module lookup and corrected property access
|
||||||
|
|
||||||
|
|
||||||
## 2024-10-27 - 1.10.0 - feat(mod_format)
|
## 2024-10-27 - 1.10.0 - feat(mod_format)
|
||||||
|
|
||||||
Add support for tsconfig.json formatting
|
Add support for tsconfig.json formatting
|
||||||
|
|
||||||
- Added a new script to format tsconfig.json.
|
- Added a new script to format tsconfig.json.
|
||||||
- Updated package.json to include `@git.zone/tspublish` as a dependency.
|
- Updated package.json to include `@git.zone/tspublish` as a dependency.
|
||||||
|
|
||||||
## 2024-10-23 - 1.9.126 - fix(format)
|
## 2024-10-23 - 1.9.126 - fix(format)
|
||||||
|
|
||||||
Remove redundant package.json property checks
|
Remove redundant package.json property checks
|
||||||
|
|
||||||
- Removed property checks for `main`, `typings`, and `browserslist` from format.packagejson.ts
|
- Removed property checks for `main`, `typings`, and `browserslist` from format.packagejson.ts
|
||||||
- This change streamlines the formatting process by removing unnecessary exits
|
- This change streamlines the formatting process by removing unnecessary exits
|
||||||
|
|
||||||
## 2024-09-29 - 1.9.125 - fix(cli)
|
## 2024-09-29 - 1.9.125 - fix(cli)
|
||||||
|
|
||||||
Fix package version configuration and formatting issues
|
Fix package version configuration and formatting issues
|
||||||
|
|
||||||
- Updated metadata fields in package.json (repository URL, bugs URL, and homepage).
|
- Updated metadata fields in package.json (repository URL, bugs URL, and homepage).
|
||||||
@@ -258,15 +305,17 @@ Fix package version configuration and formatting issues
|
|||||||
- Added missing Prettier default TypeScript and Markdown configurations.
|
- Added missing Prettier default TypeScript and Markdown configurations.
|
||||||
|
|
||||||
## 2024-09-27 - 1.9.124 - fix(cli)
|
## 2024-09-27 - 1.9.124 - fix(cli)
|
||||||
|
|
||||||
Ensured proper existence and initialization of readme files
|
Ensured proper existence and initialization of readme files
|
||||||
|
|
||||||
- Ensured readme.md and readme.hints.md files are created and initialized if they do not exist.
|
- Ensured readme.md and readme.hints.md files are created and initialized if they do not exist.
|
||||||
|
|
||||||
## 2024-09-27 - 1.9.123 - fix(core)
|
## 2024-09-27 - 1.9.123 - fix(core)
|
||||||
|
|
||||||
No changes detected
|
No changes detected
|
||||||
|
|
||||||
|
|
||||||
## 2024-09-27 - 1.9.123 - fix(core)
|
## 2024-09-27 - 1.9.123 - fix(core)
|
||||||
|
|
||||||
Update dependencies and improve build configurations
|
Update dependencies and improve build configurations
|
||||||
|
|
||||||
- Updated several dependencies in package.json for better compatibility
|
- Updated several dependencies in package.json for better compatibility
|
||||||
@@ -277,88 +326,111 @@ Update dependencies and improve build configurations
|
|||||||
- Provided initial structure for readme and readme hints
|
- Provided initial structure for readme and readme hints
|
||||||
|
|
||||||
## 2024-06-24 - 1.9.122 - fix(mod_commit)
|
## 2024-06-24 - 1.9.122 - fix(mod_commit)
|
||||||
|
|
||||||
Update package.json dependencies: @git.zone/tsdoc and @push.rocks/smartpromise to latest versions.
|
Update package.json dependencies: @git.zone/tsdoc and @push.rocks/smartpromise to latest versions.
|
||||||
|
|
||||||
- - Updated @git.zone/tsdoc to ^1.3.12
|
- - Updated @git.zone/tsdoc to ^1.3.12
|
||||||
- - Updated @push.rocks/smartfile to ^11.0.21
|
- - Updated @push.rocks/smartfile to ^11.0.21
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.121 - fix(mod_commit)
|
## 2024-06-23 - 1.9.121 - fix(mod_commit)
|
||||||
|
|
||||||
Fix changelog template rendering by removing extra new line when no version details are provided.
|
Fix changelog template rendering by removing extra new line when no version details are provided.
|
||||||
|
|
||||||
- Update package.json dependencies: @git.zone/tsdoc and @push.rocks/smartpromise to latest versions.
|
- Update package.json dependencies: @git.zone/tsdoc and @push.rocks/smartpromise to latest versions.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.120 - fix(mod_commit)
|
## 2024-06-23 - 1.9.120 - fix(mod_commit)
|
||||||
|
|
||||||
Handle edge case for empty version details in changelog formatting
|
Handle edge case for empty version details in changelog formatting
|
||||||
|
|
||||||
- Added check for the length of the recommendedNextVersionDetails array
|
- Added check for the length of the recommendedNextVersionDetails array
|
||||||
- Ensure no extra newline in changelog if there are no version details
|
- Ensure no extra newline in changelog if there are no version details
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.119 - fix(dependencies)
|
## 2024-06-23 - 1.9.119 - fix(dependencies)
|
||||||
|
|
||||||
Update @git.zone/tsdoc to v1.3.8
|
Update @git.zone/tsdoc to v1.3.8
|
||||||
|
|
||||||
- Updated @git.zone/tsdoc from v1.3.7 to v1.3.8 in package.json
|
- Updated @git.zone/tsdoc from v1.3.7 to v1.3.8 in package.json
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.118 - fix(dependencies)
|
## 2024-06-23 - 1.9.118 - fix(dependencies)
|
||||||
|
|
||||||
Update @git.zone/tsdoc to version 1.3.7
|
Update @git.zone/tsdoc to version 1.3.7
|
||||||
|
|
||||||
- Bump @git.zone/tsdoc from 1.3.6 to 1.3.7 in both package.json and pnpm-lock.yaml
|
- Bump @git.zone/tsdoc from 1.3.6 to 1.3.7 in both package.json and pnpm-lock.yaml
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.117 - fix(dependencies)
|
## 2024-06-23 - 1.9.117 - fix(dependencies)
|
||||||
|
|
||||||
Update @git.zone/tsdoc dependency to v1.3.6
|
Update @git.zone/tsdoc dependency to v1.3.6
|
||||||
|
|
||||||
- Updated @git.zone/tsdoc version from 1.3.5 to 1.3.6 in package.json
|
- Updated @git.zone/tsdoc version from 1.3.5 to 1.3.6 in package.json
|
||||||
- Updated pnpm-lock.yaml to reflect the new version of @git.zone/tsdoc
|
- Updated pnpm-lock.yaml to reflect the new version of @git.zone/tsdoc
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.116 - fix(dependencies)
|
## 2024-06-23 - 1.9.116 - fix(dependencies)
|
||||||
|
|
||||||
Update @git.zone/tsdoc to version 1.3.5
|
Update @git.zone/tsdoc to version 1.3.5
|
||||||
|
|
||||||
- Updated the @git.zone/tsdoc dependency in package.json and pnpm-lock.yaml from version 1.3.4 to 1.3.5
|
- Updated the @git.zone/tsdoc dependency in package.json and pnpm-lock.yaml from version 1.3.4 to 1.3.5
|
||||||
- Removed the outdated changelog.md file.
|
- Removed the outdated changelog.md file.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.114 - fix(format)
|
## 2024-06-23 - 1.9.114 - fix(format)
|
||||||
|
|
||||||
Fixed formatting issues across multiple TypeScript files.
|
Fixed formatting issues across multiple TypeScript files.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.113 - fix(mod_commit)
|
## 2024-06-23 - 1.9.113 - fix(mod_commit)
|
||||||
|
|
||||||
Remove extra new lines in changelog.
|
Remove extra new lines in changelog.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.112 - fix(core)
|
## 2024-06-23 - 1.9.112 - fix(core)
|
||||||
|
|
||||||
Update changelog formatting and remove outdated entries.
|
Update changelog formatting and remove outdated entries.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.111 - fix(changelog)
|
## 2024-06-23 - 1.9.111 - fix(changelog)
|
||||||
|
|
||||||
Remove outdated changelog entries and update formatting.
|
Remove outdated changelog entries and update formatting.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.110 - fix(dependencies)
|
## 2024-06-23 - 1.9.110 - fix(dependencies)
|
||||||
|
|
||||||
Update @git.zone/tsdoc to version 1.3.4.
|
Update @git.zone/tsdoc to version 1.3.4.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.109 - fix(changelog)
|
## 2024-06-23 - 1.9.109 - fix(changelog)
|
||||||
|
|
||||||
Remove outdated entries and adjust formatting in changelog.
|
Remove outdated entries and adjust formatting in changelog.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.108 - fix(dependencies)
|
## 2024-06-23 - 1.9.108 - fix(dependencies)
|
||||||
|
|
||||||
Update @git.zone/tsdoc dependency to version 1.3.2.
|
Update @git.zone/tsdoc dependency to version 1.3.2.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.107 - fix(changelog)
|
## 2024-06-23 - 1.9.107 - fix(changelog)
|
||||||
|
|
||||||
Remove placeholder entries and adjust formatting in changelog.
|
Remove placeholder entries and adjust formatting in changelog.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.106 - fix(dependencies)
|
## 2024-06-23 - 1.9.106 - fix(dependencies)
|
||||||
|
|
||||||
Updated @git.zone/tsdoc from version 1.3.0 to 1.3.1.
|
Updated @git.zone/tsdoc from version 1.3.0 to 1.3.1.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.105 - fix(dependencies)
|
## 2024-06-23 - 1.9.105 - fix(dependencies)
|
||||||
|
|
||||||
Updated @git.zone/tsdoc dependency from 1.2.2 to 1.3.0 in package.json and pnpm-lock.yaml.
|
Updated @git.zone/tsdoc dependency from 1.2.2 to 1.3.0 in package.json and pnpm-lock.yaml.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.104 - fix(changelog)
|
## 2024-06-23 - 1.9.104 - fix(changelog)
|
||||||
|
|
||||||
Remove placeholder entries and adjust formatting in changelog.
|
Remove placeholder entries and adjust formatting in changelog.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.103 - fix(changelog)
|
## 2024-06-23 - 1.9.103 - fix(changelog)
|
||||||
|
|
||||||
Fix changelog to remove placeholder entries and adjust formatting.
|
Fix changelog to remove placeholder entries and adjust formatting.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.102 - fix(logging)
|
## 2024-06-23 - 1.9.102 - fix(logging)
|
||||||
|
|
||||||
Optimize logger instantiation and configuration.
|
Optimize logger instantiation and configuration.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.101 - fix(metadata)
|
## 2024-06-23 - 1.9.101 - fix(metadata)
|
||||||
|
|
||||||
Ensure accurate project metadata in package.json.
|
Ensure accurate project metadata in package.json.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.100 - fix(dependencies)
|
## 2024-06-23 - 1.9.100 - fix(dependencies)
|
||||||
|
|
||||||
Updated @git.zone/tsdoc dependency version to ^1.2.2 in package.json and pnpm-lock.yaml.
|
Updated @git.zone/tsdoc dependency version to ^1.2.2 in package.json and pnpm-lock.yaml.
|
||||||
|
|
||||||
## 2024-06-23 - 1.9.99 - fix(mod_commit)
|
## 2024-06-23 - 1.9.99 - fix(mod_commit)
|
||||||
|
|
||||||
Fix variable reassignment issue in changelog writing step.
|
Fix variable reassignment issue in changelog writing step.
|
||||||
|
@@ -36,4 +36,4 @@
|
|||||||
"tsdoc": {
|
"tsdoc": {
|
||||||
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@git.zone/cli",
|
"name": "@git.zone/cli",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "1.16.8",
|
"version": "1.16.9",
|
||||||
"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",
|
||||||
|
@@ -1,10 +1,11 @@
|
|||||||
# Gitzone CLI - Development Hints
|
# Gitzone CLI - Development Hints
|
||||||
|
|
||||||
* the cli of the git.zone project.
|
- the cli of the git.zone project.
|
||||||
|
|
||||||
## Project Overview
|
## Project Overview
|
||||||
|
|
||||||
Gitzone CLI (`@git.zone/cli`) is a comprehensive toolbelt for streamlining local development cycles. It provides utilities for:
|
Gitzone CLI (`@git.zone/cli`) is a comprehensive toolbelt for streamlining local development cycles. It provides utilities for:
|
||||||
|
|
||||||
- Project initialization and templating (via smartscaf)
|
- Project initialization and templating (via smartscaf)
|
||||||
- Code formatting and standardization
|
- Code formatting and standardization
|
||||||
- Version control and commit management
|
- Version control and commit management
|
||||||
@@ -14,12 +15,14 @@ Gitzone CLI (`@git.zone/cli`) is a comprehensive toolbelt for streamlining local
|
|||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
### Core Structure
|
### Core Structure
|
||||||
|
|
||||||
- Main CLI entry: `cli.ts` / `cli.child.ts`
|
- Main CLI entry: `cli.ts` / `cli.child.ts`
|
||||||
- Modular architecture with separate modules in `ts/mod_*` directories
|
- Modular architecture with separate modules in `ts/mod_*` directories
|
||||||
- Each module handles specific functionality (format, commit, docker, etc.)
|
- Each module handles specific functionality (format, commit, docker, etc.)
|
||||||
- Extensive use of plugins pattern via `plugins.ts` files
|
- Extensive use of plugins pattern via `plugins.ts` files
|
||||||
|
|
||||||
### Configuration Management
|
### Configuration Management
|
||||||
|
|
||||||
- Uses `npmextra.json` for all tool configuration
|
- Uses `npmextra.json` for all tool configuration
|
||||||
- Configuration stored under `gitzone` key in npmextra
|
- Configuration stored under `gitzone` key in npmextra
|
||||||
- No separate `.gitzonerc` file - everything in npmextra.json
|
- No separate `.gitzonerc` file - everything in npmextra.json
|
||||||
@@ -30,6 +33,7 @@ Gitzone CLI (`@git.zone/cli`) is a comprehensive toolbelt for streamlining local
|
|||||||
The format module is responsible for project standardization:
|
The format module is responsible for project standardization:
|
||||||
|
|
||||||
#### Current Modules:
|
#### Current Modules:
|
||||||
|
|
||||||
1. **cleanup** - Removes obsolete files (yarn.lock, tslint.json, etc.)
|
1. **cleanup** - Removes obsolete files (yarn.lock, tslint.json, etc.)
|
||||||
2. **copy** - File copying with glob patterns (fully implemented)
|
2. **copy** - File copying with glob patterns (fully implemented)
|
||||||
3. **gitignore** - Creates/updates .gitignore from templates
|
3. **gitignore** - Creates/updates .gitignore from templates
|
||||||
@@ -42,6 +46,7 @@ The format module is responsible for project standardization:
|
|||||||
10. **tsconfig** - Formats TypeScript configuration
|
10. **tsconfig** - Formats TypeScript configuration
|
||||||
|
|
||||||
#### Execution Order (Dependency-Based):
|
#### Execution Order (Dependency-Based):
|
||||||
|
|
||||||
- Modules are now executed in parallel groups based on dependencies
|
- Modules are now executed in parallel groups based on dependencies
|
||||||
- Independent modules run concurrently for better performance
|
- Independent modules run concurrently for better performance
|
||||||
- Dependency analyzer ensures correct execution order
|
- Dependency analyzer ensures correct execution order
|
||||||
@@ -182,7 +187,7 @@ gitzone format --clean-backups
|
|||||||
|
|
||||||
## API Changes
|
## API Changes
|
||||||
|
|
||||||
- smartfile API updated to use fs.* and memory.* namespaces
|
- smartfile API updated to use fs._ and memory._ namespaces
|
||||||
- smartnpm requires instance creation: `new NpmRegistry()`
|
- smartnpm requires instance creation: `new NpmRegistry()`
|
||||||
- All file operations now use updated APIs
|
- All file operations now use updated APIs
|
||||||
- Type imports use `import type` for proper verbatim module syntax
|
- Type imports use `import type` for proper verbatim module syntax
|
||||||
|
33
readme.md
33
readme.md
@@ -47,12 +47,14 @@ gitzone template [template-name]
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Available templates:**
|
**Available templates:**
|
||||||
|
|
||||||
- **`npm`** - TypeScript npm package with testing, CI/CD, and full tooling
|
- **`npm`** - TypeScript npm package with testing, CI/CD, and full tooling
|
||||||
- **`service`** - Microservice architecture with Docker support
|
- **`service`** - Microservice architecture with Docker support
|
||||||
- **`website`** - Modern web application with LitElement and service workers
|
- **`website`** - Modern web application with LitElement and service workers
|
||||||
- **`wcc`** - Web Component Collection for reusable UI components
|
- **`wcc`** - Web Component Collection for reusable UI components
|
||||||
|
|
||||||
Each template comes pre-configured with:
|
Each template comes pre-configured with:
|
||||||
|
|
||||||
- ✅ TypeScript with modern configurations
|
- ✅ TypeScript with modern configurations
|
||||||
- ✅ Automated testing setup
|
- ✅ Automated testing setup
|
||||||
- ✅ CI/CD pipelines (GitLab/GitHub)
|
- ✅ CI/CD pipelines (GitLab/GitHub)
|
||||||
@@ -81,6 +83,7 @@ gitzone format --verbose
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Format features:**
|
**Format features:**
|
||||||
|
|
||||||
- 🔄 **Smart caching** - Only processes changed files
|
- 🔄 **Smart caching** - Only processes changed files
|
||||||
- 🛡️ **Rollback support** - Undo formatting changes if needed
|
- 🛡️ **Rollback support** - Undo formatting changes if needed
|
||||||
- 📊 **Detailed reporting** - See exactly what changed
|
- 📊 **Detailed reporting** - See exactly what changed
|
||||||
@@ -88,6 +91,7 @@ gitzone format --verbose
|
|||||||
- 🎯 **Module-specific formatting** - Target specific formatters
|
- 🎯 **Module-specific formatting** - Target specific formatters
|
||||||
|
|
||||||
**Rollback capabilities:**
|
**Rollback capabilities:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# List all available backups
|
# List all available backups
|
||||||
gitzone format --list-backups
|
gitzone format --list-backups
|
||||||
@@ -103,6 +107,7 @@ gitzone format --clean-backups
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Formatters included:**
|
**Formatters included:**
|
||||||
|
|
||||||
- **Prettier** - JavaScript/TypeScript code formatting
|
- **Prettier** - JavaScript/TypeScript code formatting
|
||||||
- **License** - Ensure proper licensing
|
- **License** - Ensure proper licensing
|
||||||
- **Package.json** - Standardize package configurations
|
- **Package.json** - Standardize package configurations
|
||||||
@@ -121,6 +126,7 @@ gitzone commit
|
|||||||
```
|
```
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
- 📝 Interactive commit message builder
|
- 📝 Interactive commit message builder
|
||||||
- 🏷️ Automatic version bumping (major/minor/patch)
|
- 🏷️ Automatic version bumping (major/minor/patch)
|
||||||
- 📜 Changelog generation
|
- 📜 Changelog generation
|
||||||
@@ -128,6 +134,7 @@ Features:
|
|||||||
- 🎯 Conventional commit compliance
|
- 🎯 Conventional commit compliance
|
||||||
|
|
||||||
The commit wizard guides you through:
|
The commit wizard guides you through:
|
||||||
|
|
||||||
1. **Type selection** (feat/fix/docs/style/refactor/perf/test/chore)
|
1. **Type selection** (feat/fix/docs/style/refactor/perf/test/chore)
|
||||||
2. **Scope definition** (component/module affected)
|
2. **Scope definition** (component/module affected)
|
||||||
3. **Description crafting**
|
3. **Description crafting**
|
||||||
@@ -153,6 +160,7 @@ gitzone meta remove [name]
|
|||||||
```
|
```
|
||||||
|
|
||||||
Perfect for:
|
Perfect for:
|
||||||
|
|
||||||
- Monorepo management
|
- Monorepo management
|
||||||
- Multi-package projects
|
- Multi-package projects
|
||||||
- Coordinated deployments
|
- Coordinated deployments
|
||||||
@@ -168,6 +176,7 @@ gitzone docker prune
|
|||||||
```
|
```
|
||||||
|
|
||||||
This command removes:
|
This command removes:
|
||||||
|
|
||||||
- Stopped containers
|
- Stopped containers
|
||||||
- Unused images
|
- Unused images
|
||||||
- Dangling volumes
|
- Dangling volumes
|
||||||
@@ -196,6 +205,7 @@ gitzone deprecate
|
|||||||
```
|
```
|
||||||
|
|
||||||
Interactive wizard for:
|
Interactive wizard for:
|
||||||
|
|
||||||
- Setting deprecation notices
|
- Setting deprecation notices
|
||||||
- Guiding users to replacements
|
- Guiding users to replacements
|
||||||
- Updating registry metadata
|
- Updating registry metadata
|
||||||
@@ -210,6 +220,7 @@ gitzone start
|
|||||||
```
|
```
|
||||||
|
|
||||||
Automatically:
|
Automatically:
|
||||||
|
|
||||||
- Checks out master branch
|
- Checks out master branch
|
||||||
- Pulls latest changes
|
- Pulls latest changes
|
||||||
- Installs dependencies
|
- Installs dependencies
|
||||||
@@ -266,18 +277,21 @@ Customize gitzone behavior through `npmextra.json`:
|
|||||||
## 🏆 Best Practices
|
## 🏆 Best Practices
|
||||||
|
|
||||||
### For New Projects
|
### For New Projects
|
||||||
|
|
||||||
1. Start with a template: `gitzone template npm`
|
1. Start with a template: `gitzone template npm`
|
||||||
2. Customize the generated structure
|
2. Customize the generated structure
|
||||||
3. Run initial format: `gitzone format`
|
3. Run initial format: `gitzone format`
|
||||||
4. Set up CI/CD: `gitzone open ci`
|
4. Set up CI/CD: `gitzone open ci`
|
||||||
|
|
||||||
### For Existing Projects
|
### For Existing Projects
|
||||||
|
|
||||||
1. Initialize: `gitzone start`
|
1. Initialize: `gitzone start`
|
||||||
2. Format codebase: `gitzone format --dry-run` (preview first!)
|
2. Format codebase: `gitzone format --dry-run` (preview first!)
|
||||||
3. Apply formatting: `gitzone format --yes`
|
3. Apply formatting: `gitzone format --yes`
|
||||||
4. Commit changes: `gitzone commit`
|
4. Commit changes: `gitzone commit`
|
||||||
|
|
||||||
### For Teams
|
### For Teams
|
||||||
|
|
||||||
1. Document format preferences in `npmextra.json`
|
1. Document format preferences in `npmextra.json`
|
||||||
2. Use `--save-plan` for reviewable format changes
|
2. Use `--save-plan` for reviewable format changes
|
||||||
3. Enable rollback for safety
|
3. Enable rollback for safety
|
||||||
@@ -286,6 +300,7 @@ Customize gitzone behavior through `npmextra.json`:
|
|||||||
## 🎯 Common Workflows
|
## 🎯 Common Workflows
|
||||||
|
|
||||||
### Clean Development Cycle
|
### Clean Development Cycle
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Start fresh
|
# 1. Start fresh
|
||||||
gitzone start
|
gitzone start
|
||||||
@@ -304,6 +319,7 @@ gitzone commit
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Multi-Repository Management
|
### Multi-Repository Management
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Set up meta repository
|
# 1. Set up meta repository
|
||||||
gitzone meta init
|
gitzone meta init
|
||||||
@@ -318,6 +334,7 @@ gitzone meta update
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Safe Formatting with Rollback
|
### Safe Formatting with Rollback
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Preview changes
|
# 1. Preview changes
|
||||||
gitzone format --dry-run
|
gitzone format --dry-run
|
||||||
@@ -335,17 +352,20 @@ gitzone format --rollback
|
|||||||
## 🔌 Integrations
|
## 🔌 Integrations
|
||||||
|
|
||||||
### CI/CD Platforms
|
### CI/CD Platforms
|
||||||
|
|
||||||
- **GitLab CI** - Full pipeline support with templates
|
- **GitLab CI** - Full pipeline support with templates
|
||||||
- **GitHub Actions** - Automated workflows
|
- **GitHub Actions** - Automated workflows
|
||||||
- **Docker** - Container-based deployments
|
- **Docker** - Container-based deployments
|
||||||
|
|
||||||
### Development Tools
|
### Development Tools
|
||||||
|
|
||||||
- **TypeScript** - First-class support
|
- **TypeScript** - First-class support
|
||||||
- **Prettier** - Code formatting
|
- **Prettier** - Code formatting
|
||||||
- **ESLint** - Linting (via format modules)
|
- **ESLint** - Linting (via format modules)
|
||||||
- **npm/pnpm** - Package management
|
- **npm/pnpm** - Package management
|
||||||
|
|
||||||
### Version Control
|
### Version Control
|
||||||
|
|
||||||
- **Git** - Deep integration
|
- **Git** - Deep integration
|
||||||
- **Semantic Versioning** - Automatic version bumping
|
- **Semantic Versioning** - Automatic version bumping
|
||||||
- **Conventional Commits** - Standardized commit messages
|
- **Conventional Commits** - Standardized commit messages
|
||||||
@@ -361,19 +381,25 @@ gitzone format --rollback
|
|||||||
## 🐛 Troubleshooting
|
## 🐛 Troubleshooting
|
||||||
|
|
||||||
### Format Command Shows "Cancelled"
|
### Format Command Shows "Cancelled"
|
||||||
|
|
||||||
If the format command shows cancelled even after confirming:
|
If the format command shows cancelled even after confirming:
|
||||||
|
|
||||||
- Check your `npmextra.json` configuration
|
- Check your `npmextra.json` configuration
|
||||||
- Try with `--yes` flag to skip confirmation
|
- Try with `--yes` flag to skip confirmation
|
||||||
- Use `--verbose` for detailed output
|
- Use `--verbose` for detailed output
|
||||||
|
|
||||||
### Docker Commands Fail
|
### Docker Commands Fail
|
||||||
|
|
||||||
Ensure Docker daemon is running:
|
Ensure Docker daemon is running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker info
|
docker info
|
||||||
```
|
```
|
||||||
|
|
||||||
### Template Creation Issues
|
### Template Creation Issues
|
||||||
|
|
||||||
Verify npm/pnpm is properly configured:
|
Verify npm/pnpm is properly configured:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm config get registry
|
npm config get registry
|
||||||
```
|
```
|
||||||
@@ -381,6 +407,7 @@ npm config get registry
|
|||||||
## 📈 Performance
|
## 📈 Performance
|
||||||
|
|
||||||
gitzone is optimized for speed:
|
gitzone is optimized for speed:
|
||||||
|
|
||||||
- **Parallel processing** for format operations
|
- **Parallel processing** for format operations
|
||||||
- **Smart caching** to avoid redundant work
|
- **Smart caching** to avoid redundant work
|
||||||
- **Incremental updates** for meta repositories
|
- **Incremental updates** for meta repositories
|
||||||
@@ -388,7 +415,7 @@ gitzone is optimized for speed:
|
|||||||
|
|
||||||
## License and Legal Information
|
## License and Legal Information
|
||||||
|
|
||||||
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
||||||
|
|
||||||
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
|
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
@@ -403,4 +430,4 @@ Registered at District court Bremen HRB 35230 HB, Germany
|
|||||||
|
|
||||||
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
|
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
|
||||||
|
|
||||||
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
||||||
|
@@ -3,11 +3,13 @@
|
|||||||
Please reread /home/philkunz/.claude/CLAUDE.md before proceeding with any implementation.
|
Please reread /home/philkunz/.claude/CLAUDE.md before proceeding with any implementation.
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This plan outlines improvements for the gitzone format module to enhance its functionality, reliability, and maintainability.
|
This plan outlines improvements for the gitzone format module to enhance its functionality, reliability, and maintainability.
|
||||||
|
|
||||||
## Phase 1: Core Improvements (High Priority) - COMPLETED ✅
|
## Phase 1: Core Improvements (High Priority) - COMPLETED ✅
|
||||||
|
|
||||||
### 1. Enhanced Error Handling & Recovery ✅
|
### 1. Enhanced Error Handling & Recovery ✅
|
||||||
|
|
||||||
- [x] Implement rollback mechanism for failed format operations
|
- [x] Implement rollback mechanism for failed format operations
|
||||||
- [x] Add detailed error messages with recovery suggestions
|
- [x] Add detailed error messages with recovery suggestions
|
||||||
- [x] Create a `--dry-run` flag to preview changes before applying
|
- [x] Create a `--dry-run` flag to preview changes before applying
|
||||||
@@ -15,12 +17,14 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
- [x] Implement plan → action workflow as default behavior
|
- [x] Implement plan → action workflow as default behavior
|
||||||
|
|
||||||
### 2. Complete Missing Functionality ✅
|
### 2. Complete Missing Functionality ✅
|
||||||
|
|
||||||
- [x] Implement the `ensureDependency` function in format.packagejson.ts
|
- [x] Implement the `ensureDependency` function in format.packagejson.ts
|
||||||
- [x] Develop the copy module for file pattern-based copying
|
- [x] Develop the copy module for file pattern-based copying
|
||||||
- [x] Add dependency version constraint management
|
- [x] Add dependency version constraint management
|
||||||
- [x] Support workspace/monorepo configurations (via configuration)
|
- [x] Support workspace/monorepo configurations (via configuration)
|
||||||
|
|
||||||
### 3. Configuration & Flexibility ✅
|
### 3. Configuration & Flexibility ✅
|
||||||
|
|
||||||
- [x] Extend npmextra.json gitzone configuration section
|
- [x] Extend npmextra.json gitzone configuration section
|
||||||
- [x] Allow custom license exclusion/inclusion lists
|
- [x] Allow custom license exclusion/inclusion lists
|
||||||
- [x] Make format steps configurable (skip/include specific modules)
|
- [x] Make format steps configurable (skip/include specific modules)
|
||||||
@@ -28,6 +32,7 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
- [x] Add format profiles for different project types
|
- [x] Add format profiles for different project types
|
||||||
|
|
||||||
### 4. Architecture Changes ✅
|
### 4. Architecture Changes ✅
|
||||||
|
|
||||||
- [x] Introduce a `FormatContext` class to manage state across modules
|
- [x] Introduce a `FormatContext` class to manage state across modules
|
||||||
- [x] Create abstract `BaseFormatter` class for consistent module structure
|
- [x] Create abstract `BaseFormatter` class for consistent module structure
|
||||||
- [x] Implement event system for inter-module communication (via context)
|
- [x] Implement event system for inter-module communication (via context)
|
||||||
@@ -37,12 +42,14 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
## Phase 2: Performance & Reporting (Medium Priority) - COMPLETED ✅
|
## Phase 2: Performance & Reporting (Medium Priority) - COMPLETED ✅
|
||||||
|
|
||||||
### 5. Performance Optimizations ✅
|
### 5. Performance Optimizations ✅
|
||||||
|
|
||||||
- [x] Implement parallel execution for independent format modules
|
- [x] Implement parallel execution for independent format modules
|
||||||
- [x] Add file change detection to skip unchanged files
|
- [x] Add file change detection to skip unchanged files
|
||||||
- [x] Create format cache to track last formatted state
|
- [x] Create format cache to track last formatted state
|
||||||
- [x] Optimize Prettier runs by batching files
|
- [x] Optimize Prettier runs by batching files
|
||||||
|
|
||||||
### 6. Enhanced Reporting & Visibility ✅
|
### 6. Enhanced Reporting & Visibility ✅
|
||||||
|
|
||||||
- [x] Generate comprehensive format report showing all changes
|
- [x] Generate comprehensive format report showing all changes
|
||||||
- [x] Add diff view for file modifications
|
- [x] Add diff view for file modifications
|
||||||
- [x] Create verbose logging option
|
- [x] Create verbose logging option
|
||||||
@@ -51,30 +58,35 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
## Phase 3: Advanced Features (Lower Priority) - PARTIALLY COMPLETED
|
## Phase 3: Advanced Features (Lower Priority) - PARTIALLY COMPLETED
|
||||||
|
|
||||||
### 7. Better Integration & Extensibility ⏳
|
### 7. Better Integration & Extensibility ⏳
|
||||||
|
|
||||||
- [ ] Create plugin system for custom format modules
|
- [ ] Create plugin system for custom format modules
|
||||||
- [ ] Add hooks for pre/post format operations
|
- [ ] Add hooks for pre/post format operations
|
||||||
- [ ] Support custom validation rules
|
- [ ] Support custom validation rules
|
||||||
- [ ] Integrate with git hooks for pre-commit formatting
|
- [ ] Integrate with git hooks for pre-commit formatting
|
||||||
|
|
||||||
### 8. Improved Template Integration ⏳
|
### 8. Improved Template Integration ⏳
|
||||||
|
|
||||||
- [ ] Better error handling when smartscaf operations fail
|
- [ ] Better error handling when smartscaf operations fail
|
||||||
- [ ] Add pre/post template hooks for custom processing
|
- [ ] Add pre/post template hooks for custom processing
|
||||||
- [ ] Validate template results before proceeding with format
|
- [ ] Validate template results before proceeding with format
|
||||||
- [ ] Support skipping template updates via configuration
|
- [ ] Support skipping template updates via configuration
|
||||||
|
|
||||||
### 9. Enhanced License Management ⏳
|
### 9. Enhanced License Management ⏳
|
||||||
|
|
||||||
- [ ] Make license checking configurable (partial)
|
- [ ] Make license checking configurable (partial)
|
||||||
- [ ] Add license compatibility matrix
|
- [ ] Add license compatibility matrix
|
||||||
- [x] Support license exceptions for specific packages
|
- [x] Support license exceptions for specific packages
|
||||||
- [ ] Generate license report for compliance
|
- [ ] Generate license report for compliance
|
||||||
|
|
||||||
### 10. Better Package.json Management ⏳
|
### 10. Better Package.json Management ⏳
|
||||||
|
|
||||||
- [ ] Smart dependency sorting and grouping
|
- [ ] Smart dependency sorting and grouping
|
||||||
- [ ] Automated script generation based on project type
|
- [ ] Automated script generation based on project type
|
||||||
- [ ] Support for pnpm workspace configurations
|
- [ ] Support for pnpm workspace configurations
|
||||||
- [ ] Validation of package.json schema
|
- [ ] Validation of package.json schema
|
||||||
|
|
||||||
### 11. Quality of Life Improvements ⏳
|
### 11. Quality of Life Improvements ⏳
|
||||||
|
|
||||||
- [ ] Interactive mode for format configuration
|
- [ ] Interactive mode for format configuration
|
||||||
- [ ] Undo/redo capability for format operations
|
- [ ] Undo/redo capability for format operations
|
||||||
- [ ] Format presets for common scenarios
|
- [ ] Format presets for common scenarios
|
||||||
@@ -85,28 +97,33 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
### ✅ Completed Features
|
### ✅ Completed Features
|
||||||
|
|
||||||
1. **Rollback Mechanism**
|
1. **Rollback Mechanism**
|
||||||
|
|
||||||
- Full backup/restore functionality
|
- Full backup/restore functionality
|
||||||
- Manifest tracking and integrity checks
|
- Manifest tracking and integrity checks
|
||||||
- CLI commands for rollback operations
|
- CLI commands for rollback operations
|
||||||
|
|
||||||
2. **Plan → Action Workflow**
|
2. **Plan → Action Workflow**
|
||||||
|
|
||||||
- Two-phase approach (analyze then execute)
|
- Two-phase approach (analyze then execute)
|
||||||
- Interactive confirmation
|
- Interactive confirmation
|
||||||
- Dry-run support
|
- Dry-run support
|
||||||
|
|
||||||
3. **Configuration System**
|
3. **Configuration System**
|
||||||
|
|
||||||
- Comprehensive npmextra.json support
|
- Comprehensive npmextra.json support
|
||||||
- Module control (skip/only/order)
|
- Module control (skip/only/order)
|
||||||
- Cache configuration
|
- Cache configuration
|
||||||
- Parallel execution settings
|
- Parallel execution settings
|
||||||
|
|
||||||
4. **Performance Improvements**
|
4. **Performance Improvements**
|
||||||
|
|
||||||
- Parallel execution by dependency analysis
|
- Parallel execution by dependency analysis
|
||||||
- File change caching
|
- File change caching
|
||||||
- Prettier batching
|
- Prettier batching
|
||||||
- Execution time tracking
|
- Execution time tracking
|
||||||
|
|
||||||
5. **Reporting & Statistics**
|
5. **Reporting & Statistics**
|
||||||
|
|
||||||
- Detailed diff views
|
- Detailed diff views
|
||||||
- Execution statistics
|
- Execution statistics
|
||||||
- Verbose logging mode
|
- Verbose logging mode
|
||||||
@@ -121,6 +138,7 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
### 🚧 Partially Completed
|
### 🚧 Partially Completed
|
||||||
|
|
||||||
1. **License Management**
|
1. **License Management**
|
||||||
|
|
||||||
- Basic configuration support
|
- Basic configuration support
|
||||||
- Exception handling for specific packages
|
- Exception handling for specific packages
|
||||||
- Need: compatibility matrix, compliance reports
|
- Need: compatibility matrix, compliance reports
|
||||||
@@ -132,11 +150,13 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
### ⏳ Not Started
|
### ⏳ Not Started
|
||||||
|
|
||||||
1. **Plugin System**
|
1. **Plugin System**
|
||||||
|
|
||||||
- Need to design plugin API
|
- Need to design plugin API
|
||||||
- Hook system for pre/post operations
|
- Hook system for pre/post operations
|
||||||
- Custom validation rules
|
- Custom validation rules
|
||||||
|
|
||||||
2. **Git Integration**
|
2. **Git Integration**
|
||||||
|
|
||||||
- Pre-commit hooks
|
- Pre-commit hooks
|
||||||
- Automatic formatting on commit
|
- Automatic formatting on commit
|
||||||
|
|
||||||
@@ -167,4 +187,4 @@ This plan outlines improvements for the gitzone format module to enhance its fun
|
|||||||
- ✅ Faster execution through parallel processing and caching
|
- ✅ Faster execution through parallel processing and caching
|
||||||
- ✅ Enhanced user control through configuration
|
- ✅ Enhanced user control through configuration
|
||||||
- ✅ Better visibility through reporting and statistics
|
- ✅ Better visibility through reporting and statistics
|
||||||
- ✅ Improved maintainability through better architecture
|
- ✅ Improved maintainability through better architecture
|
||||||
|
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@git.zone/cli',
|
name: '@git.zone/cli',
|
||||||
version: '1.16.8',
|
version: '1.16.9',
|
||||||
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.'
|
||||||
}
|
}
|
||||||
|
@@ -53,7 +53,19 @@ export abstract class BaseFormatter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected async modifyFile(filepath: string, content: string): Promise<void> {
|
protected async modifyFile(filepath: string, content: string): Promise<void> {
|
||||||
await plugins.smartfile.memory.toFs(content, filepath);
|
// Validate filepath before writing
|
||||||
|
if (!filepath || filepath.trim() === '') {
|
||||||
|
throw new Error(`Invalid empty filepath in modifyFile`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure we have a proper path with directory component
|
||||||
|
// If the path has no directory component (e.g., "package.json"), prepend "./"
|
||||||
|
let normalizedPath = filepath;
|
||||||
|
if (!plugins.path.parse(filepath).dir) {
|
||||||
|
normalizedPath = './' + filepath;
|
||||||
|
}
|
||||||
|
|
||||||
|
await plugins.smartfile.memory.toFs(content, normalizedPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async createFile(filepath: string, content: string): Promise<void> {
|
protected async createFile(filepath: string, content: string): Promise<void> {
|
||||||
|
@@ -8,15 +8,40 @@ const gitignorePath = plugins.path.join(paths.cwd, './.gitignore');
|
|||||||
|
|
||||||
export const run = async (projectArg: Project) => {
|
export const run = async (projectArg: Project) => {
|
||||||
const gitignoreExists = await plugins.smartfile.fs.fileExists(gitignorePath);
|
const gitignoreExists = await plugins.smartfile.fs.fileExists(gitignorePath);
|
||||||
const templateModule = await import('../mod_template/index.js');
|
let customContent = '';
|
||||||
const ciTemplate = await templateModule.getTemplate('gitignore');
|
|
||||||
if (gitignoreExists) {
|
if (gitignoreExists) {
|
||||||
// lets get the existing gitignore file
|
// lets get the existing gitignore file
|
||||||
const existingGitIgnoreString =
|
const existingGitIgnoreString =
|
||||||
plugins.smartfile.fs.toStringSync(gitignorePath);
|
plugins.smartfile.fs.toStringSync(gitignorePath);
|
||||||
let customPart = existingGitIgnoreString.split('# custom\n')[1];
|
|
||||||
customPart ? null : (customPart = '');
|
// Check for different custom section markers
|
||||||
|
const customMarkers = ['#------# custom', '# custom'];
|
||||||
|
for (const marker of customMarkers) {
|
||||||
|
const splitResult = existingGitIgnoreString.split(marker);
|
||||||
|
if (splitResult.length > 1) {
|
||||||
|
// Get everything after the marker (excluding the marker itself)
|
||||||
|
customContent = splitResult[1].trim();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write the template
|
||||||
|
const templateModule = await import('../mod_template/index.js');
|
||||||
|
const ciTemplate = await templateModule.getTemplate('gitignore');
|
||||||
|
await ciTemplate.writeToDisk(paths.cwd);
|
||||||
|
|
||||||
|
// Append the custom content if it exists
|
||||||
|
if (customContent) {
|
||||||
|
const newGitignoreContent =
|
||||||
|
plugins.smartfile.fs.toStringSync(gitignorePath);
|
||||||
|
// The template already ends with "#------# custom", so just append the content
|
||||||
|
const finalContent =
|
||||||
|
newGitignoreContent.trimEnd() + '\n' + customContent + '\n';
|
||||||
|
await plugins.smartfile.fs.toFs(finalContent, gitignorePath);
|
||||||
|
logger.log('info', 'Updated .gitignore while preserving custom section!');
|
||||||
|
} else {
|
||||||
|
logger.log('info', 'Added a .gitignore!');
|
||||||
}
|
}
|
||||||
ciTemplate.writeToDisk(paths.cwd);
|
|
||||||
logger.log('info', 'Added a .gitignore!');
|
|
||||||
};
|
};
|
||||||
|
@@ -29,8 +29,9 @@ export class PrettierFormatter extends BaseFormatter {
|
|||||||
'README.md',
|
'README.md',
|
||||||
'changelog.md',
|
'changelog.md',
|
||||||
'CHANGELOG.md',
|
'CHANGELOG.md',
|
||||||
'license',
|
// Skip files without extensions as prettier can't infer parser
|
||||||
'LICENSE',
|
// 'license',
|
||||||
|
// 'LICENSE',
|
||||||
'*.md',
|
'*.md',
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -102,40 +103,26 @@ export class PrettierFormatter extends BaseFormatter {
|
|||||||
try {
|
try {
|
||||||
await this.preExecute();
|
await this.preExecute();
|
||||||
|
|
||||||
// Batch process files
|
logVerbose(`Processing ${changes.length} files sequentially`);
|
||||||
const batchSize = 10; // Process 10 files at a time
|
|
||||||
const batches: IPlannedChange[][] = [];
|
|
||||||
|
|
||||||
for (let i = 0; i < changes.length; i += batchSize) {
|
// Process files sequentially to avoid prettier cache/state issues
|
||||||
batches.push(changes.slice(i, i + batchSize));
|
for (let i = 0; i < changes.length; i++) {
|
||||||
}
|
const change = changes[i];
|
||||||
|
|
||||||
logVerbose(
|
|
||||||
`Processing ${changes.length} files in ${batches.length} batches`,
|
|
||||||
);
|
|
||||||
|
|
||||||
for (let i = 0; i < batches.length; i++) {
|
|
||||||
const batch = batches[i];
|
|
||||||
logVerbose(
|
logVerbose(
|
||||||
`Processing batch ${i + 1}/${batches.length} (${batch.length} files)`,
|
`Processing file ${i + 1}/${changes.length}: ${change.path}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Process batch in parallel
|
try {
|
||||||
const promises = batch.map(async (change) => {
|
await this.applyChange(change);
|
||||||
try {
|
this.stats.recordFileOperation(this.name, change.type, true);
|
||||||
await this.applyChange(change);
|
} catch (error) {
|
||||||
this.stats.recordFileOperation(this.name, change.type, true);
|
this.stats.recordFileOperation(this.name, change.type, false);
|
||||||
} catch (error) {
|
logger.log(
|
||||||
this.stats.recordFileOperation(this.name, change.type, false);
|
'error',
|
||||||
logger.log(
|
`Failed to format ${change.path}: ${error.message}`,
|
||||||
'error',
|
);
|
||||||
`Failed to format ${change.path}: ${error.message}`,
|
// Don't throw - continue with other files
|
||||||
);
|
}
|
||||||
// Don't throw - continue with other files
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
await Promise.all(promises);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.postExecute();
|
await this.postExecute();
|
||||||
@@ -151,25 +138,71 @@ export class PrettierFormatter extends BaseFormatter {
|
|||||||
if (change.type !== 'modify') return;
|
if (change.type !== 'modify') return;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// Validate the path before processing
|
||||||
|
if (!change.path || change.path.trim() === '') {
|
||||||
|
logger.log(
|
||||||
|
'error',
|
||||||
|
`Invalid empty path in change: ${JSON.stringify(change)}`,
|
||||||
|
);
|
||||||
|
throw new Error('Invalid empty path');
|
||||||
|
}
|
||||||
|
|
||||||
// Read current content
|
// Read current content
|
||||||
const content = 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');
|
||||||
const formatted = await prettier.format(content, {
|
|
||||||
filepath: change.path,
|
|
||||||
...(await this.getPrettierConfig()),
|
|
||||||
});
|
|
||||||
|
|
||||||
// Only write if content actually changed
|
// Skip files that prettier can't parse without explicit parser
|
||||||
if (formatted !== content) {
|
const fileExt = plugins.path.extname(change.path).toLowerCase();
|
||||||
await this.modifyFile(change.path, formatted);
|
if (!fileExt || fileExt === '') {
|
||||||
logVerbose(`Formatted ${change.path}`);
|
// Files without extensions need explicit parser
|
||||||
} else {
|
logVerbose(
|
||||||
logVerbose(`No formatting changes for ${change.path}`);
|
`Skipping ${change.path} - no file extension for parser inference`,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const formatted = await prettier.format(content, {
|
||||||
|
filepath: change.path,
|
||||||
|
...(await this.getPrettierConfig()),
|
||||||
|
});
|
||||||
|
|
||||||
|
// Only write if content actually changed
|
||||||
|
if (formatted !== content) {
|
||||||
|
// Debug: log the path being written
|
||||||
|
logVerbose(`Writing formatted content to: ${change.path}`);
|
||||||
|
await this.modifyFile(change.path, formatted);
|
||||||
|
logVerbose(`Formatted ${change.path}`);
|
||||||
|
} else {
|
||||||
|
logVerbose(`No formatting changes for ${change.path}`);
|
||||||
|
}
|
||||||
|
} catch (prettierError) {
|
||||||
|
// Check if it's a parser error
|
||||||
|
if (
|
||||||
|
prettierError.message &&
|
||||||
|
prettierError.message.includes('No parser could be inferred')
|
||||||
|
) {
|
||||||
|
logVerbose(`Skipping ${change.path} - ${prettierError.message}`);
|
||||||
|
return; // Skip this file silently
|
||||||
|
}
|
||||||
|
throw prettierError;
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.log('error', `Failed to format ${change.path}: ${error.message}`);
|
// Log the full error stack for debugging mkdir issues
|
||||||
|
if (error.message && error.message.includes('mkdir')) {
|
||||||
|
logger.log(
|
||||||
|
'error',
|
||||||
|
`Failed to format ${change.path}: ${error.message}`,
|
||||||
|
);
|
||||||
|
logger.log('error', `Error stack: ${error.stack}`);
|
||||||
|
} else {
|
||||||
|
logger.log(
|
||||||
|
'error',
|
||||||
|
`Failed to format ${change.path}: ${error.message}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -185,5 +185,8 @@ export const handleListBackups = async (): Promise<void> => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const handleCleanBackups = async (): Promise<void> => {
|
export const handleCleanBackups = async (): Promise<void> => {
|
||||||
logger.log('info', 'Backup cleaning has been disabled - backup system removed');
|
logger.log(
|
||||||
|
'info',
|
||||||
|
'Backup cleaning has been disabled - backup system removed',
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
@@ -10,7 +10,5 @@
|
|||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {}
|
"paths": {}
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": ["dist_*/**/*.d.ts"]
|
||||||
"dist_*/**/*.d.ts"
|
}
|
||||||
]
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user