goalup-minify
v1.3.0
Published
goalup-minifier simplifies your work to uglify and compress JS, CSS, HTML and IMAGE files.
Downloads
71
Maintainers
Readme
What is goalup-minify?
This tool creates Production-ready code in just 1 command. It runs popular tools (gulp, etc.) underneath to compress JS, CSS, HTML and Images. Note: This is not a bundler. In a nutshell, files are individually processed and output to /public
directory. goalup-minify
is purposed for static websites if no bundler / build tool is integrated in your project.
You can also inline your compressed assets in html by passing inline
attribute to the link, img and script tags.
Check Ongoing section for more details.
Installation:
npm install -g goalup-minify
Getting Started:
goalup-minify [options]
- Example:
- Copy
/examples
directory to some folder - Run
goalup-minify
inside/examples
. /public
(default name) folder is generated with your minified resources, in the working directory.- Note: You can run
goalup-minify
anywhere, however, rem. that paths are relative to directory where this command is run.
- Copy
Options:
goalup-minify --help
to list all the options
Example Commands:
Note: Paths in options are relative to working directory
- Compress only the listed files.
/public
is default output directory.
goalup-minify -o hello.js index.js world.css
- Creates
dist
as output folder if doesn't exist. Compress alljs_folder/**/**.js
files present in the listed path.
goalup-minify --js ./js_folder -d ./dist
- Compress
js
files in the path and all**/**.+(css|scss|stylus) files
. It ignores all the files in excluded list if present in the aforementioned paths.
goalup-minify --js ./js_folder --style -x .js_folder/touch_me_not.js .js_folder/touch_me_not.css
Note:
--watch
option is used in development environment where compressing assets is not required. Therefore, it's not part of plan as of now. However, it can be added on request, to achieve completeness and avoid setup of any additional toolchains. This might be required if someone is serving assets from /public
directory using local server and not /src
.
Ongoing development:
- To support
--exclude
option. - To support
--only
option. - Validate arguments. To not allowing multiple arguments for any option. Also,
--dest
cannot be same as the working directory. [[CUZ THAT'S UNSAFE]] - ~~Add font-icons support~~ (Read this!)
Further plans:
- Parse .html files and add file name hashing for linked .js and .css files. (--hashing as option). This helps in browser caching
- Allow configurations for htmlmin, uglifyJS, etc. By default standard and lenient rules are added, however, custom support can be added on request.
- Can add lint rules for js and css on request.
- Create a boilerplate for static websites using CLI. (Internally would use
goalup-minify
as build tool).
TODO
- Support es6 for goalup lib for ease of development (Currently, not required as it's a V. simple tool) ;)