Rebuilds lib/ with new name. Updates Cokefile to build dist/limn.js. Adds symlinks...
authorDavid Schoonover <dsc@wikimedia.org>
Mon, 16 Jul 2012 23:02:28 +0000 (16:02 -0700)
committerDavid Schoonover <dsc@wikimedia.org>
Mon, 16 Jul 2012 23:58:25 +0000 (16:58 -0700)
159 files changed:
Cokefile
lib/app.js
lib/app.mod.js [deleted file]
lib/base/asset-manager.js
lib/base/base-mixin.js
lib/base/base-mixin.mod.js
lib/base/base-model.js
lib/base/base-model.mod.js
lib/base/base-view.js
lib/base/base-view.mod.js
lib/base/base.js
lib/base/base.mod.js
lib/base/cascading-model.js
lib/base/cascading-model.mod.js
lib/base/data-binding.js
lib/base/data-binding.mod.js
lib/base/index.js
lib/base/index.mod.js
lib/base/model-cache.js
lib/base/model-cache.mod.js
lib/base/resource-router.js [new file with mode: 0644]
lib/base/scaffold/index.js
lib/base/scaffold/index.mod.js
lib/base/scaffold/scaffold-model.js
lib/base/scaffold/scaffold-model.mod.js
lib/base/scaffold/scaffold-view.js
lib/base/scaffold/scaffold-view.mod.js
lib/chart/chart-type.js
lib/chart/chart-type.mod.js
lib/chart/index.js
lib/chart/index.mod.js
lib/chart/option/chart-option-model.js
lib/chart/option/chart-option-model.mod.js
lib/chart/option/chart-option-view.js
lib/chart/option/chart-option-view.mod.js
lib/chart/option/index.js
lib/chart/option/index.mod.js
lib/chart/type/d3-chart.js
lib/chart/type/d3-chart.mod.js
lib/chart/type/d3/d3-bar-chart-type.js
lib/chart/type/d3/d3-bar-element.js
lib/chart/type/d3/d3-bar-element.mod.js
lib/chart/type/d3/d3-chart-element.js
lib/chart/type/d3/d3-chart-element.mod.js
lib/chart/type/d3/d3-geo-element.js
lib/chart/type/d3/d3-line-element.js
lib/chart/type/d3/d3-line-element.mod.js
lib/chart/type/d3/index.js
lib/chart/type/d3/index.mod.js
lib/chart/type/dygraphs.js
lib/chart/type/dygraphs.mod.js
lib/chart/type/index.mod.js
lib/dashboard/dashboard-model.js
lib/dashboard/dashboard-model.mod.js
lib/dashboard/dashboard-view.js
lib/dashboard/dashboard-view.mod.js
lib/dashboard/index.js
lib/dashboard/index.mod.js
lib/data/data-view.js
lib/data/data-view.mod.js
lib/data/dataset-model.js
lib/data/dataset-model.mod.js
lib/data/dataset-view.js
lib/data/dataset-view.mod.js
lib/data/datasource-model.js
lib/data/datasource-model.mod.js
lib/data/datasource-ui-view.js
lib/data/datasource-ui-view.mod.js
lib/data/datasource-view.js
lib/data/datasource-view.mod.js
lib/data/index.js
lib/data/index.mod.js
lib/data/metric-edit-view.js
lib/data/metric-edit-view.mod.js
lib/data/metric-model.js
lib/data/metric-model.mod.js
lib/data/project-colors.mod.js
lib/graph/graph-display-view.js
lib/graph/graph-display-view.mod.js
lib/graph/graph-edit-view.js
lib/graph/graph-edit-view.mod.js
lib/graph/graph-list-view.js
lib/graph/graph-list-view.mod.js
lib/graph/graph-model.js
lib/graph/graph-model.mod.js
lib/graph/graph-view.js
lib/graph/graph-view.mod.js
lib/graph/index.js
lib/graph/index.mod.js
lib/limn.js [new file with mode: 0644]
lib/limn.mod.js [new file with mode: 0644]
lib/main-dashboard.js [deleted file]
lib/main-display.js [deleted file]
lib/main-edit.js [deleted file]
lib/main-graph-list.js [deleted file]
lib/server/controller.js
lib/server/controllers/dashboard.js
lib/server/controllers/datasource.js
lib/server/controllers/graph.js
lib/server/file-controller.js
lib/server/files.js
lib/server/middleware.js
lib/server/proxy.js
lib/server/server.js
lib/server/view-helpers.js
lib/template/chart/chart-option.jade.mod.js
lib/template/chart/chart-scaffold.jade.mod.js
lib/template/dashboard/dashboard-tab.jade.mod.js
lib/template/dashboard/dashboard.jade.mod.js
lib/template/data/data.jade.mod.js
lib/template/data/dataset-metric.jade.mod.js
lib/template/data/dataset.jade.mod.js
lib/template/data/datasource-ui.jade.js
lib/template/data/datasource-ui.jade.mod.js
lib/template/data/datasource.jade.mod.js
lib/template/data/metric-edit.jade.mod.js
lib/template/graph/graph-display.jade.mod.js
lib/template/graph/graph-edit.jade.js
lib/template/graph/graph-edit.jade.mod.js
lib/template/graph/graph-list.jade.js
lib/template/graph/graph-list.jade.mod.js
lib/util/aliasdict.js
lib/util/backbone.mod.js
lib/util/cascade.js
lib/util/cascade.mod.js
lib/util/event/index.js
lib/util/event/index.mod.js
lib/util/event/ready-emitter.js
lib/util/event/ready-emitter.mod.js
lib/util/event/waiting-emitter.js
lib/util/event/waiting-emitter.mod.js
lib/util/formatters.js
lib/util/formatters.mod.js
lib/util/index.js
lib/util/index.mod.js
lib/util/op.mod.js
lib/util/parser.js
lib/util/parser.mod.js
lib/util/timeseries/csv.js
lib/util/timeseries/csv.mod.js
lib/util/timeseries/index.js
lib/util/timeseries/index.mod.js
lib/util/timeseries/timeseries.js
lib/util/timeseries/timeseries.mod.js
lib/util/underscore/array.mod.js
lib/util/underscore/class.mod.js
lib/util/underscore/function.mod.js
lib/util/underscore/index.js
lib/util/underscore/index.mod.js
lib/util/underscore/kv.mod.js
lib/util/underscore/object.mod.js
lib/util/underscore/string.mod.js
src/version.js [new file with mode: 0644]
static/vendor/browserify.js
static/vendor/underscore.mod.js [new file with mode: 0644]
www/css/graph.css
www/js/limn.js [new symlink]
www/js/limn.min.js [new symlink]
www/modules.yaml

index 949701e..876cf99 100644 (file)
--- a/Cokefile
+++ b/Cokefile
@@ -4,8 +4,14 @@ require 'buildtools/tasks'
 {removeSync:remove} = require 'remove'
 
 
-MODULE_LINK = 'node_modules/limn'
+MODULE_LINK            = 'node_modules/limn'
 
+APP_BUNDLE_PATH        = 'var/js/limn.no-deps.js'
+APP_BUNDLE_MIN_PATH    = APP_BUNDLE_PATH.replace /\.js$/, '.min.js'
+VENDOR_BUNDLE_PATH     = 'var/vendor/vendor-bundle.js'
+VENDOR_BUNDLE_MIN_PATH = VENDOR_BUNDLE_PATH.replace /\.js$/, '.min.js'
+DIST_PATH              = 'dist/limn.js'
+DIST_MIN_PATH          = DIST_PATH.replace /\.js$/, '.min.js'
 
 
 
@@ -25,7 +31,7 @@ task \install 'Install project dependencies.' ->
 task \setup 'Ensure project is set up for development.' ->
     invoke \install
     invoke \link
-    invoke \update_version
+    err, version <- writeVersionFile 'src/version.js'
 
 
 task \server 'Start dev server' ->
@@ -38,7 +44,7 @@ task \build 'Build coco sources' ->
     invoke \setup
     coco <[ -bjc package.co ]>
     
-    {sources} = require 'limn/server/view-helpers'
+    {sources}  = require 'limn/server/view-helpers'
     browserify = require 'browserify'
     Coco       = require 'coco'
     Jade       = require 'jade'
@@ -47,6 +53,7 @@ task \build 'Build coco sources' ->
     yaml       = require 'js-yaml'
     
     matchExt = /((?:\.min)?)\.mod((?:\.min)?)\.js$/i
+    fullExt  = /(\.(min|mod|amd|jade))*\.js$/i
     
     console.log 'Building source...'
     Seq()
@@ -85,11 +92,13 @@ task \build 'Build coco sources' ->
         .set sources("www/modules.yaml", 'development').map -> it.slice 1
         .seqEach (srcfile) ->
             return @ok() unless matchExt.test srcfile
-            outfile = (if _.startsWith srcfile, 'vendor' then 'static' else 'www') + '/' + srcfile
+            outfile = (if _.startsWith srcfile, 'vendor' then 'static' else 'lib') + '/' + srcfile.replace /^js\/limn\//, ''
             infile = outfile.replace matchExt, '$1$2.js'
-            return @ok() unless exists infile
+            unless exists infile
+                console.log "  Wrapping JS in Module:\t Cannot find #infile!"
+                return @ok() 
             return @ok() if _.startsWith(srcfile, 'vendor') and exists outfile
-            parts = infile.replace matchExt, '' .split '/' .slice 2
+            parts = srcfile.replace fullExt, '' .split '/' .slice 1
             parts.pop() if 'index' is _.last parts
             ID = parts.join '/' 
             console.log "  Wrapping JS in Module:\t #infile \t-->\t #outfile"
@@ -128,37 +137,49 @@ task \build 'Build coco sources' ->
 task \bundle 'Build application and vendor bundles' ->
     invoke \bundle_app
     invoke \bundle_vendor
+    invoke \bundle_combine
 
 task \bundle_app 'Build application bundle' ->
     {sources} = require 'limn/server/view-helpers'
     
-    app_bundle_path = 'var/js/limn/app-bundle.js'
     app_sources = sources("www/modules.yaml", 'development')
         .filter -> not _.startsWith it, '/vendor'
         .map -> it.slice 1 .replace /js\/limn/, 'lib'
-    mkdirp dirname app_bundle_path
-    bundle_js app_bundle_path, app_sources, {-minify}
+    mkdirp dirname APP_BUNDLE_PATH
+    bundle_js APP_BUNDLE_PATH, app_sources, {-minify}
     
-    app_bundle_min_path = app_bundle_path.replace /\.js$/, '.min.js'
-    print 'Minifying into', app_bundle_min_path.magenta.bold, '... '
-    write app_bundle_min_path, minify read app_bundle_path
+    APP_BUNDLE_MIN_PATH = APP_BUNDLE_PATH.replace /\.js$/, '.min.js'
+    print 'Minifying into', APP_BUNDLE_MIN_PATH.magenta.bold, '... '
+    write APP_BUNDLE_MIN_PATH, minify read APP_BUNDLE_PATH
     say 'ok.\n'
 
 task \bundle_vendor 'Build vendor bundle' ->
     {sources} = require 'limn/server/view-helpers'
     
-    vendor_bundle_path = 'var/vendor/vendor-bundle.js'
+    VENDOR_BUNDLE_PATH = 'var/vendor/vendor-bundle.js'
     vendor_sources = sources("www/modules.yaml", 'development')
         .filter -> _.startsWith it, '/vendor'
         .map -> "static#it"
-    mkdirp dirname vendor_bundle_path
-    bundle_js vendor_bundle_path, vendor_sources, {-minify}
+    mkdirp dirname VENDOR_BUNDLE_PATH
+    bundle_js VENDOR_BUNDLE_PATH, vendor_sources, {-minify}
     
-    vendor_bundle_min_path = vendor_bundle_path.replace /\.js$/, '.min.js'
-    print 'Minifying into', vendor_bundle_min_path.magenta.bold, '... '
-    write vendor_bundle_min_path, minify read vendor_bundle_path
+    VENDOR_BUNDLE_MIN_PATH = VENDOR_BUNDLE_PATH.replace /\.js$/, '.min.js'
+    print 'Minifying into', VENDOR_BUNDLE_MIN_PATH.magenta.bold, '... '
+    write VENDOR_BUNDLE_MIN_PATH, minify read VENDOR_BUNDLE_PATH
     say 'ok.\n'
 
+task \bundle_combine 'Combine bundles into dist file' ->
+    print 'Writin