More about .jade

Compiled client-mode template may be used wia require(). More information at './test', also examples was placed in wiki jade template engine. In browser should be pre-loaded Jade's runtime.js.

More about React (.jsx, .csbx)

Created by clinch file can be requested via the require (), as is done in the tests. For use in the browser requires the connect of the React, its runtime-transfom tool not needed, everything will be prepared and packed.

React was added to the kernel and will be mandatory to be supported, it's a phenomenal tool for writing maintainable code.

Unfortunately while combining the best of two worlds - CoffeeScrip and jsx by React implemented "in place" - used trick with the backticks, which allow you to insert in CoffeScript js code that are not parsed them . This is the reason for such an extension of selected files - "Coffee Script with Backticks eXt" - .csb

As soon as the normal method to combine both of these tools - I 'll do it ASAP, most likely with the file extension is .csx

flushCache()

This method will force flush packer cache. As usually clinch flush cache if files changed, but for some rare cases its available to force it.

getPackageFilesList()

packer.getPackageFilesList package_config, cb

This method will return an Array of all files, used in package building process.
May be used for custom watch implementation or in other cases

Settings

clinch_options

log : off # will add verbose output, but now not realized yet
strict : on # knob for 'use strict;' in bundle header
inject : on # if changed to 'off' - bundle will not to inject 'package_name' to global
runtime : off # use internal boilerplate code, or as external file
cache_modules : on # by default all resolved by 'require' file will be cached, if you have some problem - turn cache off and notice me
###
this settings will be applied to jade.compile() function
###
jade :
pretty : on
self : on
compileDebug : off
###
this settings will be applied to React compiler
###
react :
harmony : off

package_config

###
May be omitted. If omitted - inject all bundle members to global OR, if `inject : off` in package settings - make all bundle members local for bundle (it may be usefully in case of widgets with self-detection)
###
package_name : 'bundle_pack_name'
# bundle settings
strict : on # bundle knob for 'use strict;' in bundle header
inject : on # if changed to 'off' - bundle will not to inject 'package_name' to global
runtime : off # use internal boilerplate code, or as external file
cache_modules : on # by default all resolved by 'require' file will be cached, if you have some problem - turn cache off and notice me
###
At least one key must be exists
name -> code place
this keys was be exported when script loaded
bundle =
main : function(){...}
helper : function(){...}
later in code
main = bundle.main
###
bundle :
main : './src'
helper : './src/lib/helper'
###
This is local for code variables, to imitate node.js environment,
or replace somthing
Important - keys will be used as variable name, so any strange things may happened
if it not old plain string, remember it!!!
###
environment :
process : './node/js-process'
console : './node_modules/console-shim'
###
This part replace modules with browser-spec one
###
replacement :
util : './node_modules/js-util'
lodash : -> @_ # yes, its allowed to use function instead of file (`this` will be pointed to global scoop)
###
this is list of modules, which is not be placed in bungle
###
exclude : [
'underscore'
]
###
This is list of modules, which we are not check for require in it
save time with huge pre-bulded libraries, like `lodash` or `jquery`
if we are decide to place it in bundle
###
requireless : [
'lodash'
]