diff --git a/index.js b/index.js index e75e10e7c..00e6cc81f 100755 --- a/index.js +++ b/index.js @@ -6,9 +6,7 @@ const arrify = require('arrify') const cachingTransform = require('caching-transform') const util = require('util') const findCacheDir = require('find-cache-dir') -const { copySync } = require('fs-extra') const fs = require('fs') -const glob = require('glob') const Hash = require('./lib/hash') const libCoverage = require('istanbul-lib-coverage') const libHook = require('istanbul-lib-hook') @@ -198,12 +196,6 @@ NYC.prototype.instrumentAllFiles = function (input, output, cb) { if (stats.isDirectory()) { inputDir = input this.walkAllFiles(input, visitor) - - if (output) { - const globOptions = { dot: true, ignore: ['**/.git', `**/${path.basename(output)}`] } - glob.sync(`${path.resolve(input)}/*`, globOptions) - .forEach(src => copySync(src, path.join(output, path.relative(input, src)), { overwrite: false })) - } } else { visitor(input) } diff --git a/package-lock.json b/package-lock.json index da5b07822..dd60e2f9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1736,16 +1736,6 @@ "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", "dev": true }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2514,14 +2504,6 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -5297,11 +5279,6 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", diff --git a/package.json b/package.json index 30d640158..e07cf8d66 100644 --- a/package.json +++ b/package.json @@ -74,8 +74,6 @@ "find-cache-dir": "^2.1.0", "find-up": "^3.0.0", "foreground-child": "^1.5.6", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", "istanbul-lib-coverage": "^2.0.4", "istanbul-lib-hook": "^2.0.5", "istanbul-lib-instrument": "^3.1.2", @@ -97,6 +95,7 @@ "any-path": "^1.3.0", "chai": "^4.2.0", "coveralls": "^3.0.3", + "glob": "^7.1.3", "is-windows": "^1.0.2", "lodash": "^4.17.11", "newline-regex": "^0.2.1", diff --git a/test/fixtures/cli/subdir/input-dir/include-me/exclude-me.js b/test/fixtures/cli/subdir/input-dir/include-me/exclude-me.js new file mode 100644 index 000000000..239a04e74 --- /dev/null +++ b/test/fixtures/cli/subdir/input-dir/include-me/exclude-me.js @@ -0,0 +1,2 @@ +'use strict'; +console.log('Hello, World!') diff --git a/test/fixtures/cli/subdir/input-dir/include-me/include-me.js b/test/fixtures/cli/subdir/input-dir/include-me/include-me.js new file mode 100644 index 000000000..239a04e74 --- /dev/null +++ b/test/fixtures/cli/subdir/input-dir/include-me/include-me.js @@ -0,0 +1,2 @@ +'use strict'; +console.log('Hello, World!') diff --git a/test/nyc-integration.js b/test/nyc-integration.js index 62a5ea088..999e5102b 100644 --- a/test/nyc-integration.js +++ b/test/nyc-integration.js @@ -687,8 +687,8 @@ describe('the nyc cli', function () { const files = fs.readdirSync(path.resolve(fixturesCLI, './output')) files.should.include('index.js') files.should.include('ignore.js') - files.should.include('package.json') - files.should.include('node_modules') + files.should.not.include('package.json') + files.should.not.include('node_modules') done() }) }) @@ -738,13 +738,10 @@ describe('the nyc cli', function () { code.should.equal(0) const files = fs.readdirSync(path.resolve(fixturesCLI, './output')) files.length.should.not.equal(0) - files.should.include('exclude-me') - files.should.include('node_modules') + files.should.not.include('exclude-me') + files.should.not.include('node_modules') files.should.include('index.js') files.should.include('bad.js') - const excludeTarget = path.resolve(fixturesCLI, 'output', 'exclude-me', 'index.js') - fs.readFileSync(excludeTarget, 'utf8') - .should.not.match(/var cov_/) const includeTarget = path.resolve(fixturesCLI, 'output', 'index.js') fs.readFileSync(includeTarget, 'utf8') .should.match(/var cov_/) @@ -764,16 +761,13 @@ describe('the nyc cli', function () { code.should.equal(0) const files = fs.readdirSync(path.resolve(fixturesCLI, './output')) files.length.should.not.equal(0) - files.should.include('exclude-me') - const target = path.resolve(fixturesCLI, 'output', 'exclude-me', 'index.js') - fs.readFileSync(target, 'utf8') - .should.not.match(/var cov_/) + files.should.not.include('exclude-me') done() }) }) it('allows specifying a single sub-directory to be included', function (done) { - const args = [bin, 'instrument', '--include', '**/exclude-me/**', './subdir/input-dir', './output'] + const args = [bin, 'instrument', '--include', '**/include-me/**', './subdir/input-dir', './output'] const proc = spawn(process.execPath, args, { cwd: fixturesCLI, @@ -784,19 +778,16 @@ describe('the nyc cli', function () { code.should.equal(0) const files = fs.readdirSync(path.resolve(fixturesCLI, './output')) files.length.should.not.equal(0) - files.should.include('exclude-me') - const instrumented = path.resolve(fixturesCLI, 'output', 'exclude-me', 'index.js') + files.should.include('include-me') + const instrumented = path.resolve(fixturesCLI, 'output', 'include-me', 'include-me.js') fs.readFileSync(instrumented, 'utf8') .should.match(/var cov_/) - const uninstrumented = path.resolve(fixturesCLI, 'output', 'index.js') - fs.readFileSync(uninstrumented, 'utf8') - .should.not.match(/var cov_/) done() }) }) it('allows a file to be excluded from an included directory', function (done) { - const args = [bin, 'instrument', '--exclude', '**/index.js', '--include', '**/exclude-me/**', './subdir/input-dir', './output'] + const args = [bin, 'instrument', '--exclude', '**/exclude-me.js', '--include', '**/include-me/**', './subdir/input-dir', './output'] const proc = spawn(process.execPath, args, { cwd: fixturesCLI, @@ -807,13 +798,14 @@ describe('the nyc cli', function () { code.should.equal(0) const files = fs.readdirSync(path.resolve(fixturesCLI, './output')) files.length.should.not.equal(0) - files.should.include('exclude-me') - const instrumented = path.resolve(fixturesCLI, 'output', 'exclude-me', 'index.js') + files.should.include('include-me') + const includeMeFiles = fs.readdirSync(path.resolve(fixturesCLI, 'output', 'include-me')) + includeMeFiles.length.should.not.equal(0) + includeMeFiles.should.include('include-me.js') + includeMeFiles.should.not.include('exclude-me.js') + const instrumented = path.resolve(fixturesCLI, 'output', 'include-me', 'include-me.js') fs.readFileSync(instrumented, 'utf8') - .should.not.match(/var cov_/) - const uninstrumented = path.resolve(fixturesCLI, 'output', 'index.js') - fs.readFileSync(uninstrumented, 'utf8') - .should.not.match(/var cov_/) + .should.match(/var cov_/) done() }) })