diff --git a/.gitignore b/.gitignore index 7a7f206c7..b90fe92f7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ website/build yarn-error.log static/main.bundle.* +# conflicts with FB internal infra +.watchmanconfig + # iOS / Xcode *.xcworkspace **/Pods/ diff --git a/.watchmanconfig b/_watchmanconfig similarity index 100% rename from .watchmanconfig rename to _watchmanconfig diff --git a/scripts/yarn-install.ts b/scripts/yarn-install.ts index a5967c0d0..24567b5c3 100644 --- a/scripts/yarn-install.ts +++ b/scripts/yarn-install.ts @@ -11,8 +11,10 @@ import path from 'path'; import util from 'util'; import globImport from 'glob'; import {exec as execImport} from 'child_process'; +import {exists as existsImport, copyFile} from 'fs'; const glob = util.promisify(globImport); const exec = util.promisify(execImport); +const exists = util.promisify(existsImport); const PACKAGES = [ 'headless-tests', 'static', @@ -26,6 +28,9 @@ const YARN_PATH = ? path.join(__dirname, process.argv[2]) : 'yarn' + (WINDOWS ? '.cmd' : ''); +prepareWatchmanConfig(path.join(__dirname, '..')); +prepareWatchmanConfig(path.join(__dirname, '..', 'static')); + Promise.all( PACKAGES.map(pattern => glob(path.join(__dirname, '..', pattern, 'package.json')), @@ -63,3 +68,15 @@ Promise.all( console.error(err); process.exit(1); }); + +async function prepareWatchmanConfig(dir: string) { + const hasGit = exists(path.join(__dirname, '..', '.git')); + const hasWatchmanConfig = exists(path.join(dir, '.watchmanconfig')); + if ((await hasGit) && !(await hasWatchmanConfig)) { + console.log(`Creating .watchmanconfig in ${dir}`); + await util.promisify(copyFile)( + path.join(dir, '_watchmanconfig'), + path.join(dir, '.watchmanconfig'), + ); + } +} diff --git a/static/.watchmanconfig b/static/.watchmanconfig deleted file mode 100644 index 0967ef424..000000000 --- a/static/.watchmanconfig +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/static/_watchmanconfig b/static/_watchmanconfig new file mode 100644 index 000000000..dc2ac4181 --- /dev/null +++ b/static/_watchmanconfig @@ -0,0 +1,3 @@ +{ + "ignore_dirs": ["node_modules"] +}