diff --git a/.gitignore b/.gitignore index 1e8b30c1..38afc934 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ jspm_packages /dist /demo/build .tmp +/coverage diff --git a/.travis.yml b/.travis.yml index f1f740e9..6dc541b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ env: - GH_REF: github.com/Rebilly/ReDoc.git - secure: ijk9zRQxw1XKVt1zjuJ4uc3iyU622HB0qSPdwVECqhUMm3Gh3MAmTH1bqubsSHKZbfNNIehUvu+X/3LeKZNUK+zBS8qbLXWQKZ4ime4RHT8ADjZV+NY2GdQUxs5rklb3kjVK6cOQ8A51jU/8Zw738iFDDPz3NxbXC+MP3CQANxYCeX2axdxVFzQcldA89vZr0K8DBMPW1EZP+e1jORB3YFwyKZMppB9XvI7GAjt2OQvZDQegNuVaPuECZcJjPh2VBopQ3+Giun2AIe3C0Q/DmU+rZd8M2/t2VEv0e6BZNtbpycq8ST3mWloTPhmL9F2xlm4ZuWUVWuxB3LgOTZUw11KRg51MUTv/9Xfrqf16CUvR4TJ7EDYAKt5NwVFNUJsIy9cpuI6fsndFeI7EWFFYN7m4FX/SWLhVzFcrZeWpwbMn+qFCE0S+VgUjwYwMMA667YgRPhIAGoJfL5MxrhE/HPUIDJU91t9ON7UpFcdcUex6jX9pKUvyP52uJQKIwP10ZgehvL3S0iutMYVYY0YNkKF4tIPiQPsCK4lx7Up4D/tR9jSZl11CLMBZ0jLk1sEtgMf9+v0emOiGIgmBBYwVec6Jy1kSJyEeAJThmLjdVtAVgT0T3jPhM0Z8BE0xkwFY/5myQeoo8QWdBcDZw3iAxgatHXnPLqoa5rViuA1thyw= - secure: QiSLFxMS0fNLQAuG081Oi22OkL8BqCDnZVGk0a69azNzl5vv3PCcYO2Sjbloe48gPVH3p5AonDTtDEtnUbMcCJjtrhggqs5gSilO+UVgDb+4LfrYDnJ8ffaeVGIugay9wl2aJVz3iNbnIovGP7Nw+M/OWtLc2xq6zE1rIJkdRJ4K55PYfO8EMDvzI7hjZxSZ+Kgglcdl/wdBSKXy/qG0atALQU9ilJnk/DcobCjaUjgH/v0HXTSO8K3TNso6Zo4HOO6xWXHDZnJ2sLNltW1jveBpfCr/ZlccgPASU03nIudJyKvX8V4fXQ+2Z2Rj3JtR0x95SSH3M7ixx3s4teiXNFe9HPMfN1NLh/zf8UmgWIN1uwyYecsjRVzz+ZsfnrNBjGyXdEJg5c6SZGIa/UMSxaQFdRzEA419qw2eJ9qcmfNPyIvijugEBupJsxK6MW+mrD8qaGKQDzEP1dD7PUlr1BBckFNI8SZKD0gEaqM/ibebxrMS2IcGE5Nk7qLdaOAdB1plXAhMl+PGNaPx4+cniUqIIpgDTX8hlmd/Qk8ThyN5Z4aQyWI2WfH1BSqwg8dQfB5B6WNUDbJh/4Z6AX7e7ACiMLKoRkBTWpQ1FIwEJh5j8X/mtMBjf4+HSf8kfnAWFCmPTpRcYz9i4ZUDfa/9QKMoumCjokfItU7Ue2UE5v4= + - secure: tLtodPafuSX0ZdTPGc+SrUOjOU4d5jhcb+30CvA7fgtzi5nElFnb3ZOLNZoCIC6jPlHEl3rM3ULri14PwNbW8Ny7Ei+sc41I/sY7E5zt8L/8VYIgrhtPOVE9Dx+UAX49Iq+VxcbmLVBsKkyZu13VA0tGlU22T3PW4IbD70+/dpR4Cd60NuTdjyIlrhNAfWBDFRuK7D+0FRyf8hTC0E7ecx0KTWxaRO4pKa6uFmYW3614et9Pla95BIXrRzAkUmAkAKbng6c30Y/pmqeZASAZuMob8VCELjCHXiuCzIxWoWo/Vfea6aUFgFpSn8vp625oc32Y5jhy1SnwSRpxMbKE6aTe4Otfo36qsLtokKM2ABgl1AEgp/QKPusnjuQi4RThfCYU5tmTtqij/a4Lj5NUAyOcMSgj5hZncRWynApvIAgfBeruYpWF++F2SMyox7+p5jJOThLczLxMn4pikh9O6rvTMVVXIhapnIaH4v9HWssousBSAnmU2+Y9Eltzikh5iFmPUcgXiq4ULmxMagYDllNO15lGMgbc6lJAJfwZ4293vEpJHdHy8jIKYe5eZwSBe0axUB/3oshnQlPptcSVCTuJM0anWOlsZz2mvfXFDZ628bNf/PGoTYtw9TGtMu/RoGAKQrFTyzx/9OmQQyBwDD5jQGKt//gf48g/fXdCyAQ= cache: directories: - node_modules diff --git a/karma.conf.js b/karma.conf.js index b3fc5cd1..9fbba618 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,7 +1,37 @@ module.exports = function (config) { + var travis = process.env.TRAVIS; config.set({ frameworks: ['phantomjs-shim', 'jspm', 'mocha', 'chai', 'sinon'], + preprocessors: { + 'lib/**/!(*spec).js': ['babel', 'coverage'] + }, + babelPreprocessor: { + options: { + sourceMap: 'inline', + "optional": [ + "runtime", + "optimisation.modules.system", + "es7.decorators", + "es7.classProperties" + ] + }, + sourceFileName: function(file) { + return file.originalPath; + } + }, + coverageReporter: { + instrumenters: { isparta : require('isparta') }, + instrumenter: { + 'lib/**/!(*spec).js': 'isparta' + }, + dir: 'coverage/', + reporters: [ + {type: 'html'}, + {type: 'text-summary'}, + {type: 'lcov'} + ] + }, client: { chai: { truncateThreshold: 0 @@ -27,7 +57,7 @@ module.exports = function (config) { '/jspm_packages/': '/base/jspm_packages/', '/node_modules/': '/base/node_modules/', }, - reporters: ['mocha'], + reporters: travis ? ['mocha', 'coverage', 'coveralls'] : ['mocha', 'coverage'], browsers: ['PhantomJS'], diff --git a/package.json b/package.json index 40bc4da0..4bb9dcce 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ } }, "devDependencies": { - "babel": "^6.3.13", + "babel": "^5.8.34", "babel-eslint": "^4.1.3", "babel-polyfill": "^6.3.14", "browser-sync": "^2.9.8", @@ -64,11 +64,15 @@ "gulp-replace": "^0.5.4", "gulp-sass": "^2.1.0", "gulp-sourcemaps": "^1.6.0", + "isparta": "^4.0.0", + "istanbul": "github:gotwarlost/istanbul#source-map", "jshint-stylish": "^2.0.1", "jspm": "^0.16.11", "karma": "^0.13.15", + "karma-babel-preprocessor": "^5.2.2", "karma-chai": "github:randing89/karma-chai", "karma-chrome-launcher": "^0.2.2", + "karma-coverage": "github:douglasduteil/karma-coverage#next", "karma-jspm": "^2.0.2", "karma-mocha": "^0.2.1", "karma-mocha-reporter": "^1.1.3",