diff --git a/.babelrc b/.babelrc index 1a12c35ef..aca3fdae5 100644 --- a/.babelrc +++ b/.babelrc @@ -6,4 +6,13 @@ ignore: [ "packages/enzyme-test-suite/test/_helpers/untranspiled*", ], + "env": { + "test": { + "plugins": [ + ["transform-replace-object-assign", { "moduleSpecifier": "object.assign" }], + "istanbul", + ], + "sourceMaps": "inline", + }, + }, } diff --git a/.gitignore b/.gitignore index 8600a9e70..50838623a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ lib-cov # Coverage directory used by tools like istanbul coverage +.nyc_output # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) .grunt diff --git a/.nycrc b/.nycrc new file mode 100644 index 000000000..6445fcf3c --- /dev/null +++ b/.nycrc @@ -0,0 +1,28 @@ +{ + "all": true, + "cache": true, + "check-coverage": true, + "reporter": ["text-summary", "text", "html", "json"], + "extension": [".jsx", ".js"], + "sourceMap": false, + "instrument": false, + "lines": 100, + "statements": 100, + "functions": 100, + "branches": 100, + "exclude": [ + "_book", + "coverage", + "docs", + "env.js", + "karma.conf.js", + "packages/enzyme/withDom.js", + "packages/enzyme-test-suite", + "packages/enzyme-example-mocha", + "since.js", + "test" + ], + "require": [ + "babel-register" + ] +} diff --git a/package.json b/package.json index 2ef5ca693..8f36f72a5 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,8 @@ "docs:watch": "npm run docs:prepare && gitbook serve", "docs:publish": "npm run docs:clean && npm run docs:build && cd _book && git init && git commit --allow-empty -m 'update book' && git fetch git@github.com:airbnb/enzyme.git gh-pages && git checkout -b gh-pages && git add . && git commit -am 'update book' && git push git@github.com:airbnb/enzyme.git gh-pages --force", "pretravis": "npm run build", + "coverage": "NODE_ENV=test nyc _mocha packages/enzyme-test-suite/test --recursive", + "postcoverage": "nyc report", "travis": "babel-node \"$(which istanbul)\" cover --report html --report json _mocha -- packages/enzyme-test-suite/test --recursive", "since": "node since" }, @@ -64,6 +66,7 @@ "babel-core": "^6.26.3", "babel-eslint": "^7.2.3", "babel-loader": "^6.4.1", + "babel-plugin-istanbul": "^4.1.6", "babel-plugin-transform-replace-object-assign": "^1.0.0", "babel-preset-airbnb": "^2.6.0", "babel-register": "^6.26.0", @@ -94,10 +97,17 @@ "karma-webpack": "^1.8.1", "lerna": "^2.11.0", "mocha": "^3.5.3", + "nyc": "^10.3.2", "prop-types": "^15.6.2", "rimraf": "^2.6.2", "safe-publish-latest": "^1.1.2", "webpack": "^1.15.0" }, - "dependencies": {} + "dependencies": {}, + "greenkeeper": { + "//": "nyc is ignored because it requires node 4+, and we support older than that", + "ignore": [ + "nyc" + ] + } }