Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(errors): All the errors will be printed if any #178

Merged
merged 1 commit into from
Mar 9, 2025
Merged

Conversation

tarampampam
Copy link
Owner

No description provided.

# This is the 1st commit message:

♻️ chore(yaml): Refactor YAML parsing and error handling

Removed deprecated code and improved the YAML parser for better error handling and performance. This includes restructuring the parsing logic and enhancing the error reporting mechanism to provide clearer feedback on parsing issues.

- Consolidated error handling for various parsing scenarios
- Improved token management and state transitions in the parser
- Enhanced support for YAML directives and comments handling

# This is the commit message #2:

✨ feat(docker): Add Dockerfile and .dockerignore for tinifier

Introduced a Dockerfile to facilitate the building and running of the tinifier application in a containerized environment. The Dockerfile includes multi-stage builds for compiling the Go application and preparing a minimal runtime image. Additionally, a .dockerignore file was created to exclude unnecessary files from the Docker context, optimizing the build process.

# This is the commit message #3:

✨ feat(pipeline): Introduce configurable options for pipeline processing

Added a new options struct to allow configuration of pipeline behavior, including maximum parallel processing, retry attempts, and error thresholds for cancellation. This enhances flexibility and control over pipeline execution, improving error handling and concurrency management.

- Implemented Apply method for options struct
- Added functions to set options: WithMaxParallel, WithRetryAttempts, WithMaxErrorsToStop
- Updated ThreeSteps function to utilize new options for better configurability

# This is the commit message #4:

✨ feat(cli): Add configurable options for file processing

Introduced a new options structure to manage configuration for the CLI application. This includes flags for API keys, file extensions, thread count, error handling, and more. The changes enhance user flexibility and allow for better customization of the file processing behavior.

- Added command-line flags for configuration
- Implemented validation for user inputs
- Integrated configuration file loading for default settings

# This is the commit message #5:

✨ feat(finder): Implement file filtering and directory traversal

Added a new package for file filtering that allows users to filter files by their extensions, supporting both case-sensitive and case-insensitive options. Implemented functionality to retrieve files from specified directories, with support for recursive searching. This enhances the application's ability to process files based on user-defined criteria.

- Introduced `FilterByExt` function for filtering files
- Added `Files` function for directory traversal
- Included tests to ensure correct functionality of file filtering and retrieval

# This is the commit message #6:

♻️ refactor(pipeline): Replace slice inputs with iter.Seq for flexibility

Updated the ThreeSteps function to accept iter.Seq instead of a slice for input values, enhancing flexibility in input handling. Adjusted related test cases to utilize slices.Values for compatibility with the new input type. This change aims to improve the pipeline's adaptability to different input structures.

# This is the commit message #7:

📝 docs(pipeline): Update comments and improve documentation clarity

Enhanced comments in the pipeline code to clarify the purpose and functionality of key components. This includes detailed descriptions for error handling, configuration options, and the execution flow of the ThreeSteps function. Improved documentation aims to facilitate better understanding and maintainability of the code.

# This is the commit message #8:

✨ feat(cli): Enhance file processing with concurrency and error handling

Updated the run method to process files concurrently using a pool of TinyPNG clients. Implemented error handling to stop processing based on a configurable maximum error threshold. Added retry logic for file uploads and downloads, improving robustness and user experience. Enhanced file filtering capabilities to support additional formats.

# This is the commit message #9:

📝 docs(readme): Enhance README with detailed features and usage examples

Updated the README to include a comprehensive features list, installation instructions, configuration options, and usage examples for the `tinifier` CLI tool. This improves user understanding and accessibility of the tool's capabilities. Added a demo GIF and a section on how to record a demo for better visual guidance.

# This is the commit message #10:

🔧 chore(golangci): Update linter prefix in configuration

Changed the linter prefix in the golangci configuration from 'describe-commit' to 'tinifier' to align with the project's current naming conventions. This update ensures consistency in linting across the codebase.

- Updated linter prefix for clarity
- Maintained existing linter settings and configurations

♻️ refactor(cli): Improve error logging and progress reporting

Refactored error handling and progress reporting in the CLI application. Removed the old progress string function and integrated progress reporting directly into the logging statements. Enhanced error messages to include the error count and maximum allowed errors, improving clarity and user feedback during file processing.

📝 docs(readme): Enhance README with TinyPNG usage details

Added information about TinyPNG's compression techniques and file handling policies to the README. This improves user understanding of the tool's functionality and the implications of using the TinyPNG API.
@tarampampam tarampampam marked this pull request as ready for review March 9, 2025 09:37
@tarampampam tarampampam merged commit 36ea976 into master Mar 9, 2025
9 checks passed
@tarampampam tarampampam deleted the v5 branch March 9, 2025 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant