From 52b907fa25ac80cc9b2d6528e46026b01f2388c4 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Thu, 5 Mar 2020 08:05:10 -0800 Subject: [PATCH] Ignore watchmanconfig in fbsource (#868) Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/868 As discussed in D20252170 Reviewed By: passy Differential Revision: D20278783 fbshipit-source-id: c965520a0ad44bf1838224003017177c149025e9 --- .gitignore | 3 +++ .watchmanconfig => _watchmanconfig | 0 scripts/yarn-install.ts | 17 +++++++++++++++++ static/.watchmanconfig | 1 - static/_watchmanconfig | 3 +++ 5 files changed, 23 insertions(+), 1 deletion(-) rename .watchmanconfig => _watchmanconfig (100%) delete mode 100644 static/.watchmanconfig create mode 100644 static/_watchmanconfig 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"] +}