Build Transform writeOptimized¶
Author: | Rawld Gill |
---|
Description¶
If the profile property layerOptimize
is a valid optimizer (see below), then, for every layer module, this transform
writes the current value of the transformed text to the destination location with the filetype ”.uncompressed.js” and
then causes the named optimizer to process the resource and write the result to the destination location.
If the profile property optimize
is a valid optimizer (see below), then, for non-layer module, this transform
writes the current value of the transformed text to the destination location with the filetype ”.uncompressed.js” and
then causes the named optimizer to process the resource and write the result to the destination location.
The profile property stripConsole
may also be set as described below to strip all console output.
When the build application is executed in the node.js environment, multiple child processes are started so that several resources may be optimized concurrently, thereby decreasing build times. This feature is not available in the Rhino environment.
Profile Knobs¶
layerOptimize
(default = “shrinksafe”)- [falsy] Layer modules are not optimized; the
stripConsole
profile property, if any, is ignored. - [“comments.keeplines”] All comments are removed fromm all layer modules; new-lines are preserved; the
stripConsole
profile property, if any, is ignored. - [“comments”] All comments are removed form all layer modules; new-lines are not preserved; the
stripConsole
profile property, if any, is ignored. - [“shrinksafe.keeplines”] All layer modules are processed by shrinksafe; new-lines are preserved; the semantics of
the
stripConsole
property are executed. - [“shrinksafe”] All layer modules are processed by shrinksafe; new-lines are not preserved; the semantics of the
stripConsole
property are executed. - [“closure.keeplines”] All layer modules are processed by the Google Closure compiler, simple-mode; new-lines are
preserved; the semantics of the
stripConsole
property are executed. - [“closure”] All layer modules are processed by the Google Closure compiler, simple-mode; new-lines are not
preserved; the semantics of the
stripConsole
property are executed. - [“uglify.keeplines”] All layer modules are processed by the UglifyJS compiler (version 1 only), simple-mode; new-lines are
preserved; the semantics of the
stripConsole
property are executed. - [“uglify”] All layer modules are processed by the UglifyJS compiler (version 1 only), simple-mode; new-lines are not
preserved; the semantics of the
stripConsole
property are executed.
- [falsy] Layer modules are not optimized; the
optimize
(default = “undefined”)- [falsy] Non-layer modules are not optimized; the
stripConsole
profile property, if any, is ignored. - [“comment.keeplines”] All comments are removed fromm all non-layer modules; new-lines are preserved; the
stripConsole
profile property, if any, is ignored. - [“comment”] All comments are removed form all non-layer modules; new-lines are not preserved; the
stripConsole
profile property, if any, is ignored. - [“shrinksafe.keeplines”] All non-layer modules are processed by shrinksafe; new-lines are preserved; the semantics of
the
stripConsole
property are executed. - [“shrinksafe”] All non-layer modules are processed by shrinksafe; new-lines are not preserved; the semantics of the
stripConsole
property are executed. - [“closure.keeplines”] All non-layer modules are processed by the Google Closure compiler, simple-mode; new-lines are
preserved; the semantics of the
stripConsole
property are executed. - [“closure”] All non-layer modules are processed by the Google Closure compiler, simple-mode; new-lines are not
preserved; the semantics of the
stripConsole
property are executed. - [“uglify.keeplines”] All layer modules are processed by the UglifyJS compiler (version 1 only), simple-mode; new-lines are
preserved; the semantics of the
stripConsole
property are executed. - [“uglify”] All layer modules are processed by the UglifyJS compiler (version 1 only), simple-mode; new-lines are not
preserved; the semantics of the
stripConsole
property are executed.
- [falsy] Non-layer modules are not optimized; the
- Important: Dead code removal consequent to static has.js feature values and the hasFixup transform requires a Google
- Closure or UglifyJS compiler optimization switch setting. To use UglifyJS, you will need to
npm install uglify-js@1
, in a directory parallel toutil
stripConsole
(default = “normal”)- [“none”] No console applications are stripped.
- [“normal”] All console applications are stripped except
console.error
andconsole.warn
. - [“warn”] All console applications are stripped except
console.error
. - [“all”] All console applications are stripped.
Source Location¶
util/build/transforms/writeOptimized.js