UNPKG

web-project-builder

Version:

Build your project automatically for production just using few commands

219 lines (115 loc) 6.47 kB
# Build your project for production ## Build your project automatically for production just using few commands **Services Provided** * JS Minification(Traversing through HTML) * JS Concatenation(Traversing through HTML) * JS Minification(Traversing through JS) * JS Concatenation(Traversing through JS) * CSS Minification * CSS Concatenation * CSS asset dependency injection * HTML Minification * Image Optimisation * Font File Optimisation ### JS Minification & Concatenation(Traversing through HTML) It builds 4 files * vendorHead (Vendor javaScript which should resolve before page load i.e. inside head tag) * appHead (app javaScript which should resolve before page load i.e. inside head tag) * vendorBody (Vendor javaScript which should resolve after page load i.e. inside body or after tag) * appBody (Vendor javaScript which should resolve after page load i.e. inside body or after tag) _**Commands Options**_ node myTask.js --search= Path of your parent directory where your HTML are present(It can automatically find sub-directory) --option= jsMin (For JS Minification & Concatenation Traversing through HTML) --public= path of your public directory --output= Output folder path //public will be treated as output if not provided --vendor= Vendor folder name (default values will be node_modules, bower_components) --vendor= multiple Vendor folder can be provided --version= version of your project --mangle= Boolean (default true) _Note:_ output, vendor, version are optional _Sample command_ node myTask.js --search=E:\hdd\akhilesh\dev\src\static\views --option=jsMin --public=E:\hdd\akhilesh\dev\src --output=E:\hdd\akhilesh\dev\src\tst --vendor=node_modules --vendor=bower_components --version=jc561 --mangle=true _output_ * appBodyindex_jc561.min.3.js //no. 3.. keep tracks order of script * vendorBodyindex_jc561.min.3.js ### JS Minification & Concatenation(Traversing through JS) It builds given output(default main.js) _**Commands Options**_ node myTask.js --ent= absolute path of your entry file --option= requireMin (For JS Minification & Concatenation Traversing through JS) --out= absolute path of your output file --mangle= Decide whether mangling should done or not (default is true) --clean= Decide whether output dir should cleaned or not (default is false) _Note:_ mangle, clean are optional _Sample command_ node myTask.js --ent=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static\app.js --option=requireMin --out=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static\out.js --mangle=true --clean=false _output_ * app.js ### CSS Minification / Concatenation / CSS asset dependency injection All the dependencies of css(e.g. Font files, Images etc.) will be copied with updated references in production css file It builds 4 files * vendor (Vendor style) * app (app style) _**Commands Options**_ node myTask.js --search= Path of your parent directory where your HTML are present(It can automatically find sub-directories) //preferably put public dir so some assets inconsistencies can also be removed --option= cssMin (For css Minification & Concatenation) --public= path of your public directory --output= Output folder path //public will be treated as output if not provided --vendor= Vendor folder name --vendor= multiple Vendor folder can be provided (default values will be node_modules, bower_components, Bootstrap) --version= version of your project --showCssDepErr=boolean //Show the error of css dependencies conflicts(When assets mentioned in css are not available) _Note:_ output, vendor, version, showCssDepErr are optional _Sample command_ node myTask.js --search=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static --option=cssMin --public=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo --output=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static --vendor=node_modules --vendor=bower_components --version=jc561 _output_ * appCSSindex_jc561.min.3.css //no. 3.. keep tracks order of style * vendorCSSindex_jc561.min.3.css ### HTML Minification It builds Optimised HTML file in output/public/same folder _**Commands Options**_ node myTask.js --search= Path of your parent directory where your HTML are present(It can automatically find sub-directories) --option= htmlMin (For HTML Minification) --public= path of your public directory //Same file will be treated as output if none of public/output provided --output= Output folder path //public will be treated as output if not provided _Note:_ public, output, are optional _Sample command_ node myTask.js --search=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static\views --option=htmlMin _output_ * appBodyindex_jc561.min.3.css //no. 3.. keep tracks order of style * vendorBodyindex_jc561.min.3.css ### Image optimisation It builds Optimised images in output/public folder _**Commands Options**_ node myTask.js --search= Path of your parent directory where your images are present(It can automatically find sub-directories) --option= imgMin (For Image optimisation) --output= Output folder path //search will be treated as output if not provided and replace the destination _Note:_ public, output, are optional _Sample command_ node myTask.js --search=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static --option=imgMin --output=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static\kkp _output_ Images will be created in respective Directory format after optimisation ### Font file optimisation It builds Optimised Font file in output/public folder _**Commands Options**_ node myTask.js --search= Path of your parent directory where your font file are present(It can automatically find sub-directories) --option= fontMin (For font file optimisation) --output= Output folder path //search will be treated as output if not provided and replace the destination _Sample command_ node myTask.js --search=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static --option=fontMin --output=E:\hdd\akhilesh\reqireGlp\iwoScr\iwo\static\kkp _output_ font file will be created in respective Directory format after optimisation ### Requirement * node/npm ### If using npm * use command "runBuild" in place of "node myTask.js" ### How to run * Go to directory * run the command 'npm i' * run corresponding command