diff --git a/.gitignore b/.gitignore index dea54e7..cc0ca5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +mx_modules/ bower_components/ nohup.out *.iml diff --git a/.npmignore b/.npmignore index c36b7f3..85b0a8a 100644 --- a/.npmignore +++ b/.npmignore @@ -1,3 +1,4 @@ +mx_modules/ bower_components/ tests/ node_modules/ diff --git a/.travis.yml b/.travis.yml index f5d5344..5dadbad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ before_script: - node --harmony server & - npm install gulp bower mocha-phantomjs -g - bower install +- gulp mx - phantomjs --version script: - npm test diff --git a/bower.json b/bower.json index bb6ec77..4a58d4a 100644 --- a/bower.json +++ b/bower.json @@ -19,6 +19,8 @@ ], "devDependencies": { "modulex": "*", + "modulex-feature": "1.x", + "modulex-ua": "1.x", "async": "~0.9.0" } } diff --git a/gulpfile.js b/gulpfile.js index 9e207b2..e410d1a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -67,6 +67,11 @@ gulp.task('build', ['lint'], function () { .pipe(gulp.dest(path.resolve(build))); }); +gulp.task('mx', function () { + var aggregateBower = require('aggregate-bower'); + aggregateBower('bower_components/', 'mx_modules/'); +}); + gulp.task('tag', function (done) { var cp = require('child_process'); var version = packageInfo.version; diff --git a/package.json b/package.json index fada64f..24b6bf0 100644 --- a/package.json +++ b/package.json @@ -1,72 +1,75 @@ { - "name": "modulex-event-custom", - "version": "1.0.2", - "author": "yiminghe ", - "engines": { - "node": "~0.11" - }, - "license": "MIT", - "repository": { - "type": "git", - "url": "http://github.com/kissyteam/event-custom.git" - }, - "testling": { - "server": "server.js", - "html": "tests/runner.html", - "browsers": [ - "ie/6..latest", - "chrome/latest", - "firefox/latest", - "safari/latest", - "iphone/6..lastest", - "ipad/6..latest", - "android-browser/latest" - ] - }, - "devDependencies": { - "expect.js": "^0.3.1", - "gulp": "^3.8.7", - "gulp-clean": "^0.3.1", - "gulp-filter": "^1.0.0", - "gulp-footer": "^1.0.5", - "gulp-header": "^1.0.5", - "gulp-jscs": "^1.1.0", - "gulp-jshint": "^1.8.4", - "gulp-kclean": "0.0.15", - "gulp-modulex": "^1.0.0", - "gulp-rename": "^1.2.0", - "gulp-replace": "^0.4.0", - "gulp-uglify": "^0.3.1", - "gulp-util": "^3.0.0", - "jshint": "^2.5.5", - "jshint-stylish": "^0.4.0", - "kison": "^0.3.5", - "koa": "^0.11.0", - "koa-body": "^0.2.0", - "koa-mount": "^1.3.0", - "koa-serve-index": "^1.0.1", - "koa-static": "^1.4.7", - "mocha": "^1.21.4", - "node-jscover": "^0.6.8", - "node-jscover-coveralls": "^1.0.10", - "node-jscover-handler": "^1.0.3", - "gulp-wrapper": "^0.1.5", - "precommit-hook": "^1.0.7" - }, - "precommit": [ - "lint" - ], - "scripts": { - "start": "node --harmony server", - "publish": "gulp tag", - "test": "node ./node_modules/mocha/bin/mocha -R list tests/node/specs", - "lint": "gulp lint", - "browser-test": "mocha-phantomjs http://localhost:8014/tests/browser/runner.html", - "browser-test-build": "mocha-phantomjs http://localhost:8014/tests/browser/runner.html?build", - "browser-test-cover": "mocha-phantomjs -R node_modules/node-jscover/lib/reporters/mocha/console http://localhost:8014/tests/browser/runner.html?coverage" - }, - "dependencies": { - "modulex-event-base": "^1.0.1", - "modulex-util": "^1.1.0" - } + "name": "modulex-event-custom", + "version": "1.0.2", + "author": "yiminghe ", + "engines": { + "node": "~0.11" + }, + "license": "MIT", + "repository": { + "type": "git", + "url": "http://github.com/kissyteam/event-custom.git" + }, + "testling": { + "server": "server.js", + "html": "tests/runner.html", + "browsers": [ + "ie/6..latest", + "chrome/latest", + "firefox/latest", + "safari/latest", + "iphone/6..lastest", + "ipad/6..latest", + "android-browser/latest" + ] + }, + "devDependencies": { + "aggregate-bower": "^1.0.10", + "expect.js": "^0.3.1", + "gulp": "^3.8.7", + "gulp-clean": "^0.3.1", + "gulp-filter": "^1.0.0", + "gulp-footer": "^1.0.5", + "gulp-header": "^1.0.5", + "gulp-jscs": "^1.1.0", + "gulp-jshint": "^1.8.4", + "gulp-kclean": "0.0.15", + "gulp-modulex": "^1.0.0", + "gulp-rename": "^1.2.0", + "gulp-replace": "^0.4.0", + "gulp-uglify": "^0.3.1", + "gulp-util": "^3.0.0", + "gulp-wrapper": "^0.1.5", + "jshint": "^2.5.5", + "jshint-stylish": "^0.4.0", + "kison": "^0.3.5", + "koa": "^0.11.0", + "koa-body": "^0.2.0", + "koa-modularize": "^1.0.0", + "koa-mount": "^1.3.0", + "koa-node-jscover": "^1.0.0", + "koa-serve-index": "^1.0.1", + "koa-static": "^1.4.7", + "mocha": "^1.21.4", + "node-jscover": "^0.6.8", + "node-jscover-coveralls": "^1.0.10", + "node-jscover-handler": "^1.0.3", + "precommit-hook": "^1.0.7" + }, + "precommit": [ + "lint" + ], + "scripts": { + "start": "node --harmony server", + "publish": "gulp tag", + "test": "node ./node_modules/mocha/bin/mocha -R list tests/node/specs", + "lint": "gulp lint", + "browser-test": "mocha-phantomjs http://localhost:8014/tests/browser/runner.html", + "browser-test-build": "mocha-phantomjs http://localhost:8014/tests/browser/runner.html?build", + "browser-test-cover": "mocha-phantomjs -R node_modules/node-jscover/lib/reporters/mocha/console http://localhost:8014/tests/browser/runner.html?coverage" + }, + "dependencies": { + "modulex-event-base": "^1.0.1", + "modulex-util": "^1.1.0" + } } diff --git a/server.js b/server.js index 0de8e71..5ec30bd 100644 --- a/server.js +++ b/server.js @@ -4,46 +4,25 @@ var gutil = require('gulp-util'); var koa = require('koa'); var koaBody = require('koa-body'); var path = require('path'); -var jscoverHandler = require('node-jscover-handler/lib/koa'); +var jscoverHandler = require('koa-node-jscover'); var jscoverCoveralls = require('node-jscover-coveralls/lib/koa'); var serve = require('koa-static'); -var fs = require('fs'); var app = koa(); var mount = require('koa-mount'); var cwd = process.cwd(); var serveIndex = require('koa-serve-index'); +var modularize = require('koa-modularize'); -function *modularize(next) { - var req = this.request; - var res = this.response; - if (path.extname(this.path) !== '.js') { - yield *next; - return; - } - var filePath = path.resolve(cwd, req.originalUrl.substring(1)).replace(/-coverage\.js/, '.js'); - var stats = fs.statSync(filePath); - if (!stats.isFile()) { - yield *next; - return; - } - var code = fs.readFileSync(filePath, 'utf-8'); - code = 'modulex.add(function(require,exports,module){' + code + '});'; - if (req.path.indexOf('-coverage.js') !== -1) { - req.nodeJsCoverCode = code; - yield *next; - return; - } - res.set('content-type', 'application/javascript;charset=utf-8'); - this.body = code; -} - -// parse application/x-www-form-urlencoded app.use(koaBody()); -app.use(mount('/lib/', modularize)); -app.use(mount('/tests/browser/specs/', modularize)); - +app.use(jscoverHandler({ + jscover:require('node-jscover'), + next:function(){ + return 1; + } +})); +app.use(mount('/lib/', modularize(path.resolve(__dirname,'lib')))); +app.use(mount('/tests/browser/specs/',modularize(path.resolve(__dirname,'tests/browser/specs/')))); app.use(jscoverCoveralls()); -app.use(jscoverHandler()); app.use(serveIndex(cwd, { hidden: true, view: 'details' diff --git a/tests/browser/runner.html b/tests/browser/runner.html index 8d54ae2..7ac53e2 100644 --- a/tests/browser/runner.html +++ b/tests/browser/runner.html @@ -16,11 +16,10 @@

event-custom tests

- - - - - + + + + @@ -58,6 +57,7 @@

event-custom tests