Minification Station is a Python script designed to process and combine multiple files within a specified directory into a single output file. This tool is particularly useful for reducing the size of large codebases or collections of text files by removing unnecessary line breaks, comments, etc.
Minification Station is a versatile tool that processes files in a specified directory, combining them into a single output file. It supports various configurations such as specifying the directory to traverse, file extensions to include, and folders to ignore during traversal. The script logs progress and errors, ensuring transparency and ease of debugging.
To use Minification Station, follow these steps:
- Install the required dependencies by running
poetry install
. - Run Poetry shell:
poetry shell
. - Run the script using Poetry:
poetry run minification_station -d <DIRECTORY>
. - The script will process all files in the specified directory and write the combined content to an output file named after the current date and time, appended with the directory's base name.
python3 -m minification_station.main -d /path/to/directory --program_lang python
OUTPUT_PATH
: Path where the output file will be saved. Default is "output".
-d, --directory
: Directory to traverse. Required.--program_lang
: Programming language (default: python). Optional.-o, --output
: Output file path. Optional.
Q: How do I specify different languages for processing? A: Use the --program_lang
argument followed by the language name, e.g., python
, csharp
.
Q: Can I specify different file extensions or ignore certain files during traversal? A: Yes, you can customize these settings by modifying the script accordingly. Refer to the configuration section for more details on how to modify these parameters.
Q: How do I view logs generated by the script?
A: Logs are written to a file named main.log
in the 'logs' directory. You can also view real-time updates via console output if you prefer.
You can configure the script by modifying various parameters in the config
directory:
- constants.py: Contains default settings for file extensions, ignored files and folders, and size limits.
- args.py: Defines command line arguments used to run the script.
- environment_setup.py: Includes functions to initialize application environment, logging setup, and ensure output directories exist.
- logging/setup_logging.py: Contains functions to set up logging configuration with options for file rotation, console output, and error handling.
- Traverse specified directory recursively.
- Include or exclude files based on extensions.
- Ignore specific folders during traversal.
- Combine file content into a single output file.
- Logging progress and errors for easy debugging.
- File Processing
- Directory Traversal
- Logging in Python
- Command Line Interface (CLI)
- Be aware of the size limits to avoid processing files that are too large.
- Customize configurations as needed for different environments or specific use cases.