diff --git a/local-cli/core/__fixtures__/mockFSWorkaround.js b/local-cli/core/__fixtures__/mockFSWorkaround.js new file mode 100644 index 0000000000..c045ae4fbc --- /dev/null +++ b/local-cli/core/__fixtures__/mockFSWorkaround.js @@ -0,0 +1,24 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @format + */ + +'use strict'; + +const fs = require('fs'); +const mockFS = require('mock-fs'); + +/** + * @see https://github.com/tschaub/mock-fs/issues/208 + */ +mockFS(); +if (!fs.statSync(process.cwd()).isDirectory()) { + test.only('skipping tests because of mock-fs bug in Node v8.x.x', () => {}); +} +mockFS.restore(); diff --git a/local-cli/core/__tests__/android/findAndroidAppFolder.spec.js b/local-cli/core/__tests__/android/findAndroidAppFolder.spec.js index 435d7b8423..3622076308 100644 --- a/local-cli/core/__tests__/android/findAndroidAppFolder.spec.js +++ b/local-cli/core/__tests__/android/findAndroidAppFolder.spec.js @@ -13,9 +13,8 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); - const findAndroidAppFolder = require('../../android/findAndroidAppFolder'); +const mockFS = require('mock-fs'); const mocks = require('../../__fixtures__/android'); describe('android::findAndroidAppFolder', () => { diff --git a/local-cli/core/__tests__/android/findManifest.spec.js b/local-cli/core/__tests__/android/findManifest.spec.js index bc592d859a..ed835d043a 100644 --- a/local-cli/core/__tests__/android/findManifest.spec.js +++ b/local-cli/core/__tests__/android/findManifest.spec.js @@ -13,9 +13,10 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); +require('../../__fixtures__/mockFSWorkaround'); const findManifest = require('../../android/findManifest'); +const mockFS = require('mock-fs'); const mocks = require('../../__fixtures__/android'); describe('android::findManifest', () => { diff --git a/local-cli/core/__tests__/android/findPackageClassName.spec.js b/local-cli/core/__tests__/android/findPackageClassName.spec.js index dd370345ca..07ad686020 100644 --- a/local-cli/core/__tests__/android/findPackageClassName.spec.js +++ b/local-cli/core/__tests__/android/findPackageClassName.spec.js @@ -13,9 +13,10 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); +require('../../__fixtures__/mockFSWorkaround'); const findPackageClassName = require('../../android/findPackageClassName'); +const mockFS = require('mock-fs'); const mocks = require('../../__fixtures__/android'); describe('android::findPackageClassName', () => { diff --git a/local-cli/core/__tests__/android/getDependencyConfig.spec.js b/local-cli/core/__tests__/android/getDependencyConfig.spec.js index b87ba9e9cb..7ed9867c7a 100644 --- a/local-cli/core/__tests__/android/getDependencyConfig.spec.js +++ b/local-cli/core/__tests__/android/getDependencyConfig.spec.js @@ -13,9 +13,10 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); +require('../../__fixtures__/mockFSWorkaround'); const getDependencyConfig = require('../../android').dependencyConfig; +const mockFS = require('mock-fs'); const mocks = require('../../__fixtures__/android'); const userConfig = {}; diff --git a/local-cli/core/__tests__/android/getProjectConfig.spec.js b/local-cli/core/__tests__/android/getProjectConfig.spec.js index d8b5953aaf..576d9bc93c 100644 --- a/local-cli/core/__tests__/android/getProjectConfig.spec.js +++ b/local-cli/core/__tests__/android/getProjectConfig.spec.js @@ -13,9 +13,10 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); +require('../../__fixtures__/mockFSWorkaround'); const getProjectConfig = require('../../android').projectConfig; +const mockFS = require('mock-fs'); const mocks = require('../../__fixtures__/android'); describe('android::getProjectConfig', () => { diff --git a/local-cli/core/__tests__/android/readManifest.spec.js b/local-cli/core/__tests__/android/readManifest.spec.js index e28ef10ecf..611660f96b 100644 --- a/local-cli/core/__tests__/android/readManifest.spec.js +++ b/local-cli/core/__tests__/android/readManifest.spec.js @@ -13,10 +13,11 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); +require('../../__fixtures__/mockFSWorkaround'); const findManifest = require('../../android/findManifest'); const readManifest = require('../../android/readManifest'); +const mockFS = require('mock-fs'); const mocks = require('../../__fixtures__/android'); describe('android::readManifest', () => { diff --git a/local-cli/core/__tests__/findAssets.spec.js b/local-cli/core/__tests__/findAssets.spec.js index 61171a0afc..af3c1c9d9e 100644 --- a/local-cli/core/__tests__/findAssets.spec.js +++ b/local-cli/core/__tests__/findAssets.spec.js @@ -13,10 +13,9 @@ jest.autoMockOff(); -const mockFs = require('mock-fs'); - const findAssets = require('../findAssets'); const dependencies = require('../__fixtures__/dependencies'); +const mockFs = require('mock-fs'); describe('findAssets', () => { beforeEach(() => { diff --git a/local-cli/core/__tests__/ios/findProject.spec.js b/local-cli/core/__tests__/ios/findProject.spec.js index c6004651cf..f8532936e9 100644 --- a/local-cli/core/__tests__/ios/findProject.spec.js +++ b/local-cli/core/__tests__/ios/findProject.spec.js @@ -13,9 +13,10 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); +require('../../__fixtures__/mockFSWorkaround'); const findProject = require('../../ios/findProject'); +const mockFS = require('mock-fs'); const projects = require('../../__fixtures__/projects'); const ios = require('../../__fixtures__/ios'); diff --git a/local-cli/core/__tests__/ios/getProjectConfig.spec.js b/local-cli/core/__tests__/ios/getProjectConfig.spec.js index 7d0e542d8d..762b0be12a 100644 --- a/local-cli/core/__tests__/ios/getProjectConfig.spec.js +++ b/local-cli/core/__tests__/ios/getProjectConfig.spec.js @@ -13,9 +13,10 @@ jest.autoMockOff(); -const mockFS = require('mock-fs'); +require('../../__fixtures__/mockFSWorkaround'); const getProjectConfig = require('../../ios').projectConfig; +const mockFS = require('mock-fs'); const projects = require('../../__fixtures__/projects'); describe('ios::getProjectConfig', () => { diff --git a/package.json b/package.json index 7ba63c20f5..0253d16ef7 100644 --- a/package.json +++ b/package.json @@ -232,7 +232,7 @@ "jest": "19.0.2", "jest-repl": "19.0.2", "jest-runtime": "^19.0.3", - "mock-fs": "^3.11.0", + "mock-fs": "^4.3.0", "react": "16.0.0-alpha.12", "react-test-renderer": "16.0.0-alpha.12", "shelljs": "0.6.0",