Files
flipper/static/setup.js
Pascal Hartig c0cffe1240 Pass on launcherEnabled flag
Summary:
This is a bit embarrassing. It seems like I never wired this up which is
why the update indicator keeps coming up even if the app was started
by the Launcher.

This actually makes sure that we proxy the yargs flag through to
`processConfig`.

Reviewed By: jknoxville

Differential Revision: D17341896

fbshipit-source-id: 73602e2035c26fb0d03e853a4e94065af3986757
2019-09-12 08:12:42 -07:00

57 lines
1.4 KiB
JavaScript

/**
* Copyright 2018-present Facebook.
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
* @format
*/
const path = require('path');
const os = require('os');
const fs = require('fs');
module.exports = function(argv) {
if (!process.env.ANDROID_HOME) {
process.env.ANDROID_HOME = '/opt/android_sdk';
}
// emulator/emulator is more reliable than tools/emulator, so prefer it if
// it exists
process.env.PATH =
['emulator', 'tools', 'platform-tools']
.map(directory => `${process.env.ANDROID_HOME}/${directory}`)
.join(':') + `:${process.env.PATH}`;
// ensure .flipper folder and config exist
const flipperDir = path.join(os.homedir(), '.flipper');
if (!fs.existsSync(flipperDir)) {
fs.mkdirSync(flipperDir);
}
const configPath = path.join(flipperDir, 'config.json');
let config = {
pluginPaths: [],
disabledPlugins: [],
lastWindowPosition: {},
};
try {
config = {
...config,
...JSON.parse(fs.readFileSync(configPath)),
};
} catch (e) {
// file not readable or not parsable, overwrite it with the new config
fs.writeFileSync(configPath, JSON.stringify(config));
}
// Non-persistent CLI arguments.
config = {
...config,
updaterEnabled: argv.updater,
launcherEnabled: argv.launcher,
launcherMsg: argv.launcherMsg,
};
return {config, configPath, flipperDir};
};