Go Minifier
A lightweight command-line tool designed to simplify and streamline the minification process for CSS and JavaScript files. Minification involves the removal of unnecessary characters and spaces from code, resulting in smaller file sizes that contribute to improved web page loading times.
π Quick Start
Get up and running in under 2 minutes:
# Install the tool
go install github.com/Alitindrawan24/go-minifier
# Minify a CSS file
go-minifier -src styles.css
# Minify a JavaScript file
go-minifier -src script.js -opt js
π Requirements
π§ Installation & Setup
Option 1: Direct Installation
go install github.com/Alitindrawan24/go-minifier
Option 2: Local Development
Using HTTPS:
git clone https://github.com/Alitindrawan24/go-minifier.git
cd go-minifier
Using SSH:
git clone git@github.com:Alitindrawan24/go-minifier.git
cd go-minifier
π Usage
Minify CSS Files
Basic usage - Creates filename.min.css:
go run . -src styles.css
Custom output filename:
go run . -src styles.css -out production.min.css
Working with multiple CSS files:
# Minify multiple CSS files
go run . -src main.css
go run . -src components.css -out components.min.css
go run . -src responsive.css -out responsive.min.css
Minify JavaScript Files
Basic usage - Creates filename.min.js:
go run . -src script.js -opt js
Custom output filename:
go run . -src app.js -out app.min.js -opt js
Working with multiple JavaScript files:
# Minify multiple JS files
go run . -src main.js -opt js
go run . -src utils.js -out utils.min.js -opt js
go run . -src vendor.js -out vendor.min.js -opt js
Command Line Options
| Option |
Description |
Required |
Default |
-src |
Path to the source file |
β
|
- |
-out |
Path to the output file |
β |
filename.min.css/js |
-opt |
Minifier type (css or js) |
β |
css |
Valid values for -opt:
css - For CSS files (default)
js - For JavaScript files
π Example Output
After minification, you'll see file size statistics:
File styles.css original size: 15 KB
File styles.min.css output size: 8 KB (reduced by 46.67%)
π οΈ Development
Running Tests
make test
make fmt
Linting
make lint
π Todo
- Minify all CSS/JS files in a directory
- Batch processing capabilities
- Additional file format support