-name : 'kraken'
+name : 'limn'
version : '0.1.0'
description : 'A charting toolkit and dashboard.'
-homepage : 'http://git.less.ly/?p=kraken-ui.git'
-keywords : <[ visualization graph chart util server client browser ]>
-author : 'David Schoonover <dsc@less.ly> (http://less.ly)'
+homepage : 'https://github.com/wikimedia/limn'
+keywords : <[ visualization graph d3 util server client browser ]>
+author : 'David Schoonover <dsc@wikimedia.org> (http://less.ly)'
contributors : [
'Andrew Otto <otto@wikimedia.org>'
+ 'Fabian Kaelin <fabian.kaelin@gmail.com>'
'Evan Rosen <erosen@wikimedia.org>'
'Diederik van Liere <dvanliere@wikimedia.org>'
]
+
# main : './lib'
# directories : lib: './lib', bin:'./bin', doc:'./doc', man:'./man'
dependencies :
- 'coco' : '== 0.7.0'
- 'request' : '== 2.9.x'
+ 'd3' : '== 2.9.x'
'underscore' : '== 1.3.x'
'underscore.string' : '== 2.1.1'
'seq' : '== 0.3.5'
- 'hashish' : '== 0.0.4'
+ 'backbone' : '== 0.9.1'
+ 'express' : '== 2.5.11'
+ 'express-resource' : '== 0.2.4'
+ 'request' : '== 2.9.x'
'js-yaml' : '== 0.3.6'
'minimatch' : '== 0.2.5'
'glob' : '== 3.1.9'
- 'findit' : '== 0.1.2'
- 'remove' : '>= 0.1.1'
- 'express' : '== 2.5.11'
- 'express-resource' : '== 0.2.4'
- 'connect-compiler' : 'https://github.com/dsc/connect-compiler/tarball/master'
- 'connect-compiler-extras' : 'https://github.com/dsc/connect-compiler-extras/tarball/master'
'jade' : '== 0.22.1'
'stylus' : '== 0.27.2'
'nib' : '== 0.4.0'
- 'browserify' : '== 1.9.4'
- 'backbone' : '== 0.9.1'
- 'd3' : '== 2.9.x'
-
+
devDependencies :
+ 'coco' : '== 0.7.0'
+ 'remove' : '>= 0.1.1'
'buildtools' : 'https://github.com/dsc/node-buildtools/tarball/master'
+ 'connect-compiler' : 'https://github.com/dsc/connect-compiler/tarball/master'
+ 'connect-compiler-extras' : 'https://github.com/dsc/connect-compiler-extras/tarball/master'
+ 'browserify' : '== 1.9.4'
'uglify-js' : '== 1.2.6'
- # 'expresso' : '== 0.9.2'
+# 'expresso' : '== 0.9.2'
# scripts : test:'expresso'
-repository : type:'git', url:'git://less.ly/kraken-ui.git'
+repository : type:'git', url:'git://github.com/wikimedia/limn.git'
engine : node:'>=0.8.1'
license : 'MIT'
{
- "name": "kraken",
+ "name": "limn",
"version": "0.1.0",
"description": "A charting toolkit and dashboard.",
- "homepage": "http://git.less.ly/?p=kraken-ui.git",
+ "homepage": "https://github.com/wikimedia/limn",
"keywords": [
"visualization",
"graph",
- "chart",
+ "d3",
"util",
"server",
"client",
"browser"
],
- "author": "David Schoonover <dsc@less.ly> (http://less.ly)",
+ "author": "David Schoonover <dsc@wikimedia.org> (http://less.ly)",
"contributors": [
"Andrew Otto <otto@wikimedia.org>",
+ "Fabian Kaelin <fabian.kaelin@gmail.com>",
"Evan Rosen <erosen@wikimedia.org>",
"Diederik van Liere <dvanliere@wikimedia.org>"
],
"dependencies": {
- "coco": "== 0.7.0",
- "request": "== 2.9.x",
+ "d3": "== 2.9.x",
"underscore": "== 1.3.x",
"underscore.string": "== 2.1.1",
"seq": "== 0.3.5",
- "hashish": "== 0.0.4",
+ "backbone": "== 0.9.1",
+ "express": "== 2.5.11",
+ "express-resource": "== 0.2.4",
+ "request": "== 2.9.x",
"js-yaml": "== 0.3.6",
"minimatch": "== 0.2.5",
"glob": "== 3.1.9",
- "findit": "== 0.1.2",
- "remove": ">= 0.1.1",
- "express": "== 2.5.11",
- "express-resource": "== 0.2.4",
- "connect-compiler": "https://github.com/dsc/connect-compiler/tarball/master",
- "connect-compiler-extras": "https://github.com/dsc/connect-compiler-extras/tarball/master",
"jade": "== 0.22.1",
"stylus": "== 0.27.2",
- "nib": "== 0.4.0",
- "browserify": "== 1.9.4",
- "backbone": "== 0.9.1",
- "d3": "== 2.9.x"
+ "nib": "== 0.4.0"
},
"devDependencies": {
+ "coco": "== 0.7.0",
+ "remove": ">= 0.1.1",
"buildtools": "https://github.com/dsc/node-buildtools/tarball/master",
+ "connect-compiler": "https://github.com/dsc/connect-compiler/tarball/master",
+ "connect-compiler-extras": "https://github.com/dsc/connect-compiler-extras/tarball/master",
+ "browserify": "== 1.9.4",
"uglify-js": "== 1.2.6"
},
"repository": {
"type": "git",
- "url": "git://less.ly/kraken-ui.git"
+ "url": "git://github.com/wikimedia/limn.git"
},
"engine": {
"node": ">=0.8.1"
fs = require 'fs'
path = require 'path'
-{existsSync:exists} = path
+exists = fs.existsSync or path.existsSync
-_ = require 'underscore'
-yaml = require 'js-yaml'
-findit = require 'findit'
Seq = require 'seq'
+glob = require 'glob'
+yaml = require 'js-yaml'
+
+{_, op} = require '../../util'
+{readFilesAsync} = require '../files'
+Controller = require '../controller'
-Controller = require '../controller'
EXT_PAT = /\.[^\.]*$/i
YAML_EXT_PAT = /\.ya?ml$/i
* @returns {Object} JSON listing of the datasource metadata files.
*/
index : (req, res, next) ->
- files = findit.sync @dataDir
- # fs.readdir @dataDir, (err, files) ->
- res.send do
- files.filter -> YAML_OR_JSON_PAT.test it
- .map -> "#it".replace YAML_EXT_PAT, '.json'
+ Seq()
+ .seq glob, 'data/datasources/**/*.@(yaml|json)', {+nocase, +nosort}, Seq
+ .filter -> YAML_OR_JSON_PAT.test it
+ .map -> "#it".replace YAML_EXT_PAT, '.json'
+ .seq -> res.send it
/**
* GET /datasources/:datasource
*/
allData : (req, res, next) ->
data = {}
- files = []
- Seq(findit.sync @dataDir)
- # .seq ~> @ok findit.sync @dataDir
- # .flatten()
- .filter -> YAML_OR_JSON_PAT.test it
- .seq ->
- files := @stack.slice()
- # console.log 'files:', files
- @ok files
- .flatten()
- .parMap_ (next, f) ~>
- # console.log "fs.readFile '#CWD/data/#f'"
- fs.readFile f, 'utf8', next
- .parMap (text, i) ->
- f = files[i]
+ Seq()
+ .seq glob, 'data/datasources/**/*.@(yaml|json)', {+nocase, +nosort}, Seq
+ .seq (paths) -> readFilesAsync paths, this
+ .seq (txts) -> @ok _.items txts
+ .flatten false
+ .parMap ([f, text]) ->
# console.log "parsing file[#i]: '#f' -> text[#{text.length}]..."
k = f.replace YAML_EXT_PAT, '.json'
v = data[k] = {}
console.error err
console.error that if err.stack
res.send { error:String(err), partial_data:data }
-
+
module.exports = exports = DataSourceController
#!/usr/bin/env coco
+fs = require 'fs'
+path = {dirname} = require 'path'
+subproc = {exec, spawn} = require 'child_process'
+exists = fs.existsSync or path.existsSync
-fs = {existsSync:exists} = require 'fs'
-path = {dirname} = require 'path'
-subproc = {exec, spawn} = require 'child_process'
+Seq = require 'seq'
+glob = require 'glob'
+yaml = require 'js-yaml'
-glob = require 'glob'
-yaml = require 'js-yaml'
-Seq = require 'seq'
-express = require 'express'
+express = require 'express'
-{_, op} = require '../util'
-{mkdirp, mkdirpAsync} = require './mkdirp'
-{readFilesAsync} = require './files'
-Controller = require './controller'
+{_, op} = require '../util'
+{mkdirp, mkdirpAsync} = require './mkdirp'
+{readFilesAsync} = require './files'
+Controller = require './controller'
#!/usr/bin/env coco
-fs = require 'fs'
-path = require 'path'
+fs = require 'fs'
+path = {dirname} = require 'path'
+subproc = {exec, spawn} = require 'child_process'
+exists = fs.existsSync or path.existsSync
-{exec, spawn,
-} = require 'child_process'
-exists = fs.existsSync or path.existsSync
-
-
-express = require 'express'
+express = require 'express'
LimnMiddleware = require './middleware'
-
+/**
+ * Create server
+ */
app = exports = module.exports = express.createServer()
/**
throw err if err
REV = stdout.trim! unless REV
- console.log s = "Kraken Server (port=#PORT, env=#NODE_ENV, rev=#REV, base_dir=#{limn.BASE})"
+ console.log s = "Limn Server (port=#PORT, env=#NODE_ENV, rev=#REV, base_dir=#{limn.BASE})"
console.log '=' * s.length
app.listen PORT