项目作者: aseem2625

项目描述 :
Automate compression + Inline JS, CSS, HTML and Images for Static website.
高级语言: JavaScript
项目地址: git://github.com/aseem2625/goalup-minify.git
创建时间: 2019-01-01T16:07:51Z
项目社区:https://github.com/aseem2625/goalup-minify

开源协议:GNU Lesser General Public License v3.0

下载





Get Set Deploy! Generate production-ready code for Static websites



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:

  1. npm install -g goalup-minify

Getting Started:

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