diff --git a/.gitignore b/.gitignore index 76f1baa..0c03478 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,8 @@ Icon node_modules bin dist -npm-debug.log app -coverage \ No newline at end of file +app-min +temp +npm-debug.log +coverage diff --git a/definitions/definitions.d.ts b/definitions/definitions.d.ts deleted file mode 100644 index 6c02163..0000000 --- a/definitions/definitions.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -/// -/// -/// \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 3bf38b7..47d0e23 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,65 +1,48 @@ 'use strict'; +var coveralls = require('gulp-coveralls'); +var del = require('del'); +var exec = require('child_process').exec; +var flatten = require('gulp-flatten'); var gulp = require('gulp'); var mocha = require('gulp-mocha'); var coveralls = require('gulp-coveralls'); var tsc = require('gulp-typescript'); +var oneJsBuild = require('gulp-onejs-build'); var karma = require('karma').server; -var del = require('del'); -var paths = { - app: 'app/', - dist: 'dist/', - amd: 'dist/amd', - commonjs: 'dist/commonjs', - appSourceDest: 'app/src', - appTestDest: 'app/test', - libSource: ['src/*.ts'], - libTest: ['test/*.ts'] -}; - -var shouldExit = true; - -gulp.task('clean', function(cb) { - del([paths.dist, paths.app], cb); +oneJsBuild.gulpTasks.all({ + gulp: gulp, + rootDir: __dirname, + karma: karma }); -gulp.task('build-source', ['clean'], function() { - var tsResult = gulp.src(paths.libSource) - .pipe(tsc({ - module: 'amd', - target: 'ES5', - declarationFiles: true - })); +var shouldExit = true; - tsResult.dts.pipe(gulp.dest(paths.amd)); - tsResult.js.pipe(gulp.dest(paths.amd)) - return tsResult.js.pipe(gulp.dest(paths.appSourceDest)); +gulp.task('tdd', [], function (done) { + karma.start({ + configFile: __dirname + '/karma.conf.js' + }, done); }); -gulp.task('build-test', ['clean', 'build-source'], function() { - return gulp.src(paths.libTest) - .pipe(tsc({ - module: 'amd', - target: 'ES5', - declarationFiles: false - })) - .pipe(gulp.dest(paths.appTestDest)); +gulp.task('ciTest', ['test-preprocess'], function (done) { + karma.start({ + configFile: __dirname + '/karma-ci.conf.js' + }, done); }); -gulp.task('build', ['build-source', 'build-test']); - -gulp.task('test', ['build'], function (done) { - karma.start({ - configFile: __dirname + '/karma.conf.js', - singleRun: true - }, done); +gulp.task('covertest', ['ciTest'], function() { + return gulp.src('bin/coverage/**/lcov.info') }); -gulp.task('covertest', ['build','test'], function() { +gulp.task('covertest', ['build', 'test'], function() { return gulp.src('coverage/**/lcov.info') .pipe(coveralls()); +}); +gulp.task('watch', ['default'], function() { + shouldExit = false; + return gulp.watch(oneJsBuild.gulpTasks.paths.src.glob, ['default']); }); gulp.task('default', ['build', 'test']); diff --git a/package.json b/package.json index 9c56f09..bf3acb8 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,10 @@ "del": "^0.1.3", "gulp": "^3.8.5", "gulp-coveralls": "^0.1.3", + "gulp-flatten": "0.0.4", "gulp-jasmine": "^0.2.0", "gulp-mocha": "^1.1.0", + "gulp-onejs-build": "^1.2.0", "gulp-requirejs": "^0.1.3", "gulp-rjs": "^0.1.0", "gulp-typescript": "2.0.0", diff --git a/test/Block.test.ts b/test/Block.test.ts index 0e26ad2..ccc02ff 100644 --- a/test/Block.test.ts +++ b/test/Block.test.ts @@ -1,15 +1,16 @@ -/// +/// import chai = require("chai"); +import Block = require('../Block'); +import IBinding = require('../IBinding'); +import Binding = require('../Binding'); +import BlockProcessor = require('../BlockProcessor'); +import BlockType = require('../BlockType'); +import BaseView = require('../BaseView'); +import View = require('../View'); +import EventGroup = require('../EventGroup'); + var assert = chai.assert; -import Block = require('../src/Block'); -import IBinding = require('../src/IBinding'); -import Binding = require('../src/Binding'); -import BlockProcessor = require('../src/BlockProcessor'); -import BlockType = require('../src/BlockType'); -import BaseView = require('../src/BaseView'); -import View = require('../src/View'); -import EventGroup = require('../src/EventGroup'); describe('Block', function () { diff --git a/test/DomUtils.test.ts b/test/DomUtils.test.ts index 048bf31..70bc159 100644 --- a/test/DomUtils.test.ts +++ b/test/DomUtils.test.ts @@ -1,8 +1,8 @@ -/// +/// import chai = require("chai"); -import List = require("../src/List"); -import DomUtils = require("../src/DomUtils"); +import List = require("../List"); +import DomUtils = require("../DomUtils"); var expect = chai.expect; var assert = chai.assert; diff --git a/test/EventGroup.test.ts b/test/EventGroup.test.ts index 4727ba1..03b9ece 100644 --- a/test/EventGroup.test.ts +++ b/test/EventGroup.test.ts @@ -1,8 +1,8 @@ -/// +/// import chai = require("chai"); -import List = require("../src/List"); -import EventGroup = require("../src/EventGroup"); +import List = require("../List"); +import EventGroup = require("../EventGroup"); var expect = chai.expect; var assert = chai.assert; diff --git a/test/IfBlock.test.ts b/test/IfBlock.test.ts index 33c41e1..8fc55fe 100644 --- a/test/IfBlock.test.ts +++ b/test/IfBlock.test.ts @@ -1,11 +1,12 @@ -/// +/// import chai = require("chai"); +import Block = require('../Block'); +import BlockProcessor = require('../BlockProcessor'); +import BlockType = require('../BlockType'); +import View = require('../View'); + var assert = chai.assert; -import Block = require('../src/Block'); -import BlockProcessor = require('../src/BlockProcessor'); -import BlockType = require('../src/BlockType'); -import View = require('../src/View'); describe('Block', function () { diff --git a/test/List.test.ts b/test/List.test.ts index 92aa181..9982ceb 100644 --- a/test/List.test.ts +++ b/test/List.test.ts @@ -1,9 +1,9 @@ -/// +/// import chai = require('chai'); -import List = require('../src/List'); -import EventGroup = require('../src/EventGroup'); -import ViewModel = require('../src/ViewModel'); +import List = require('../List'); +import EventGroup = require('../EventGroup'); +import ViewModel = require('../ViewModel'); var assert = chai.assert; diff --git a/test/Observable.test.ts b/test/Observable.test.ts index 66560dc..8f0e476 100644 --- a/test/Observable.test.ts +++ b/test/Observable.test.ts @@ -1,8 +1,8 @@ -/// +/// import chai = require("chai"); -import Observable = require("../src/Observable"); -import EventGroup = require("../src/EventGroup"); +import Observable = require("../Observable"); +import EventGroup = require("../EventGroup"); var assert = chai.assert; diff --git a/test/Promise.test.ts b/test/Promise.test.ts index 1d8f75d..bf99b81 100644 --- a/test/Promise.test.ts +++ b/test/Promise.test.ts @@ -1,7 +1,7 @@ -/// +/// import chai = require("chai"); -import Promise = require("../src/Promise"); +import Promise = require("../Promise"); var expect = chai.expect; var assert = chai.assert; diff --git a/test/RepeaterBlock.test.ts b/test/RepeaterBlock.test.ts index c55b5eb..0e956a7 100644 --- a/test/RepeaterBlock.test.ts +++ b/test/RepeaterBlock.test.ts @@ -1,12 +1,13 @@ -/// +/// import chai = require("chai"); +import Block = require('../Block'); +import BlockProcessor = require('../BlockProcessor'); +import BlockType = require('../BlockType'); +import View = require('../View'); +import List = require('../List'); + var assert = chai.assert; -import Block = require('../src/Block'); -import BlockProcessor = require('../src/BlockProcessor'); -import BlockType = require('../src/BlockType'); -import View = require('../src/View'); -import List = require('../src/List'); describe('Block', function () { diff --git a/test/Scheduler.test.ts b/test/Scheduler.test.ts index 048556d..9a6eb32 100644 --- a/test/Scheduler.test.ts +++ b/test/Scheduler.test.ts @@ -1,7 +1,7 @@ -/// +/// import chai = require("chai"); -import Scheduler = require('../src/Scheduler'); +import Scheduler = require('../Scheduler'); var assert = chai.assert; diff --git a/test/View.test.ts b/test/View.test.ts index fd4f328..ef6c8e4 100644 --- a/test/View.test.ts +++ b/test/View.test.ts @@ -1,9 +1,9 @@ -/// +/// import chai = require("chai"); -import View = require("../src/View"); -import Block = require("../src/Block"); -import BlockType = require('../src/BlockType'); +import View = require("../View"); +import Block = require("../Block"); +import BlockType = require('../BlockType'); var assert = chai.assert; diff --git a/test/ViewModel.test.ts b/test/ViewModel.test.ts index 253b84f..d1c84a5 100644 --- a/test/ViewModel.test.ts +++ b/test/ViewModel.test.ts @@ -1,8 +1,8 @@ -/// +/// import chai = require("chai"); -import ViewModel = require("../src/ViewModel"); -import View = require("../src/View"); +import ViewModel = require("../ViewModel"); +import View = require("../View"); var assert = chai.assert; diff --git a/tsd.json b/tsd.json new file mode 100644 index 0000000..95469f2 --- /dev/null +++ b/tsd.json @@ -0,0 +1,15 @@ +{ + "version": "v4", + "repo": "borisyankov/DefinitelyTyped", + "ref": "master", + "path": "typings", + "bundle": "typings/tsd.d.ts", + "installed": { + "chai/chai.d.ts": { + "commit": "2544abac24320d3f0edb67d256dcee8faf0e6f14" + }, + "mocha/mocha.d.ts": { + "commit": "2544abac24320d3f0edb67d256dcee8faf0e6f14" + } + } +} diff --git a/definitions/chai.d.ts b/typings/chai/chai.d.ts similarity index 99% rename from definitions/chai.d.ts rename to typings/chai/chai.d.ts index fc767c6..a2ef137 100644 --- a/definitions/chai.d.ts +++ b/typings/chai/chai.d.ts @@ -94,6 +94,7 @@ declare module chai { that: Expect; and: Expect; have: Expect; + has: Expect; with: Expect; at: Expect; of: Expect; diff --git a/definitions/mocha.d.ts b/typings/mocha/mocha.d.ts similarity index 100% rename from definitions/mocha.d.ts rename to typings/mocha/mocha.d.ts diff --git a/definitions/rewire.d.ts b/typings/rewire.d.ts similarity index 100% rename from definitions/rewire.d.ts rename to typings/rewire.d.ts diff --git a/typings/tsd.d.ts b/typings/tsd.d.ts new file mode 100644 index 0000000..c7ba7d9 --- /dev/null +++ b/typings/tsd.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// \ No newline at end of file