1.3.0 • Published 5 years ago

goalup-minify v1.3.0

Weekly downloads
1
License
GNU Lesser Genera...
Repository
github
Last release
5 years ago

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: 1. Copy /examples directory to some folder 2. Run goalup-minify inside /examples. 3. /public(default name) folder is generated with your minified resources, in the working directory. 4. Note: You can run goalup-minify anywhere, however, rem. that paths are relative to directory where this command is run.

Options:

goalup-minify --help to list all the options

Example Commands:

Note: Paths in options are relative to working directory

  1. Compress only the listed files. /public is default output directory.

goalup-minify -o hello.js index.js world.css

  1. Creates dist as output folder if doesn't exist. Compress all js_folder/**/**.js files present in the listed path.

goalup-minify --js ./js_folder -d ./dist

  1. 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) ;)