diff --git a/desktop/flipper-server-core/src/utils/environmentInfo.tsx b/desktop/flipper-server-core/src/utils/environmentInfo.tsx index f6368c78317..fbf149a80e6 100644 --- a/desktop/flipper-server-core/src/utils/environmentInfo.tsx +++ b/desktop/flipper-server-core/src/utils/environmentInfo.tsx @@ -39,6 +39,10 @@ export async function getEnvironmentInfo( process.env.FLIPPER_FORCE_VERSION ?? (isProduction ? packageJson.version : '0.0.0'); + if (packageJson.reactNativeOnly) { + process.env.FLIPPER_REACT_NATIVE_ONLY = 'true'; + } + return { processId: process.pid, isProduction, diff --git a/desktop/scripts/build-release.tsx b/desktop/scripts/build-release.tsx index 99047dc04bb..0ab8760332c 100755 --- a/desktop/scripts/build-release.tsx +++ b/desktop/scripts/build-release.tsx @@ -73,6 +73,11 @@ const argv = yargs 'Unique build identifier to be used as the version patch part for the build', type: 'number', }, + 'react-native-only': { + description: 'React Native only build', + type: 'boolean', + default: false, + }, channel: { description: 'Release channel for the build', choices: ['stable', 'insiders'], @@ -115,6 +120,10 @@ if (argv['default-plugins-dir']) { process.env.FLIPPER_DEFAULT_PLUGINS_DIR = argv['default-plugins-dir']; } +if (argv['react-native-only']) { + process.env.FLIPPER_REACT_NATIVE_ONLY = 'true'; +} + async function generateManifest(versionNumber: string) { await fs.writeFile( path.join(distDir, 'manifest.json'), @@ -130,6 +139,7 @@ async function modifyPackageManifest( versionNumber: string, hgRevision: string | null, channel: string, + reactNativeOnly: boolean, ) { // eslint-disable-next-line no-console console.log('Creating package.json manifest'); @@ -148,6 +158,7 @@ async function modifyPackageManifest( manifest.revision = hgRevision; } manifest.releaseChannel = channel; + manifest.reactNativeOnly = reactNativeOnly; await fs.writeFile( path.join(buildFolder, 'package.json'), JSON.stringify(manifest, null, ' '), @@ -299,7 +310,13 @@ async function copyStaticFolder(buildFolder: string) { await moveSourceMaps(dir, argv['source-map-dir']); const versionNumber = getVersionNumber(argv.version); const hgRevision = await genMercurialRevision(); - await modifyPackageManifest(dir, versionNumber, hgRevision, argv.channel); + await modifyPackageManifest( + dir, + versionNumber, + hgRevision, + argv.channel, + argv['react-native-only'], + ); await fs.ensureDir(distDir); await generateManifest(versionNumber); await buildDist(dir); diff --git a/desktop/scripts/start-dev-server.tsx b/desktop/scripts/start-dev-server.tsx index 3a1edff53c8..6c90ced3e84 100644 --- a/desktop/scripts/start-dev-server.tsx +++ b/desktop/scripts/start-dev-server.tsx @@ -70,6 +70,10 @@ const argv = yargs '[FB-internal only] Will yield `true` on any GK. Disabled by default. Setting env var FLIPPER_ENABLE_ALL_GKS is equivalent', type: 'boolean', }, + 'react-native-only': { + description: '[FB-internal only] React Native only build', + type: 'boolean', + }, channel: { describe: '[FB-internal only] Release channel. "stable" by default. Setting env var "FLIPPER_RELEASE_CHANNEL" is equivalent.', @@ -148,6 +152,10 @@ if (argv.channel !== undefined) { process.env.FLIPPER_RELEASE_CHANNEL = argv.channel; } +if (argv['react-native-only'] === true) { + process.env.FLIPPER_REACT_NATIVE_ONLY = 'true'; +} + if (argv['force-version']) { process.env.FLIPPER_FORCE_VERSION = argv['force-version']; } diff --git a/desktop/static/icons.json b/desktop/static/icons.json index 8f189d9e2b5..e2766315371 100644 --- a/desktop/static/icons.json +++ b/desktop/static/icons.json @@ -13,365 +13,185 @@ "brush-paint", "bug", "building-city", - "camcorder", - "camera", - "caution-octagon", - "caution-triangle", - "caution", - "checkmark", - "chevron-down-outline", - "chevron-down", - "chevron-left", - "chevron-right", - "chevron-up", - "compose", - "copy", - "cross-circle", - "cross", - "dashboard-outline", - "dashboard", - "data-table", - "desktop", - "directions", - "dots-3-circle-outline", - "download", - "face-unhappy-outline", - "first-aid", - "flash-default", - "info-circle", - "internet", - "life-event-major", - "magic-wand", - "magnifying-glass", - "messages", - "minus-circle", - "mobile-engagement", - "mobile", - "network", - "news-feed", - "pause", - "posts", - "power", - "profile", - "question-circle-outline", - "question-circle", - "question", - "refresh-left", - "rocket", - "settings", - "share-external", - "share", - "star-outline", - "star-slash", - "star", - "stop-playback", - "stop", - "target", - "thought-bubble", - "tools", - "translate", - "trash-outline", - "trash", - "tree", - "trending", - "triangle-down", - "triangle-right", - "underline", - "washing-machine", - "watch-tv", - "gears-two", - "info-cursive", - "on-this-day", - "zoom-out", - "zoom-in", - "fast-forward", - "draft-outline", - "gradient", - "crop", - "play", - "cross-outline", - "messenger-code", - "book", - "list-arrow-up", - "cat", - "duplicate", - "profile-circle-outline", - "card-person", - "pencil-outline", - "code", - "undo-outline", - "checkmark-circle-outline", - "target-outline", - "internet-outline", - "profile-outline", - "app-react-outline", - "send-outline", - "paper-stack", - "weather-cold", - "mobile-cross", - "database-arrow-left", - "plus-circle-outline", - "arrows-circle", - "navicon", - "paper-fold-text", - "marketplace", - "workflow", - "sankey-diagram", - "media-stack", - "question-hexagon", - "briefcase", - "business-briefcase", - "log", - "triangle-up", - "checkmark-circle", - "circle", - "comment-swish", - "direct", - "plus", - "scuba", - "line-chart", - "caution-circle", - "megaphone", - "wireless", - "cup-outline", - "unicorn", - "turtle", - "sushi", - "arrows-up-down", - "style-effects", - "stopwatch", - "database", - "bar-chart", - "augmented-reality", - "app-flash", - "sample-lo", - "point", - "eye", - "send", - "refresh-right", - "hourglass", - "mobile-outline", - "bookmark-outline", - "app-facebook-f-outline", - "app-messenger-outline", - "app-instagram-outline", - "app-whatsapp-outline", - "app-workplace-outline", - "app-work-chat-outline", - "sample-hi", - "dog", - "hub", - "upload", - "list-gear-outline", - "app-apple-outline", - "app-microsoft-windows", - "box-outline", - "differential", - "raincloud", - "app-microsoft-windows-outline", - "camcorder-live", - "plumbing", - "app-facebook-circle", - "link", - "commercial-break-usd", - "friends-engagement", - "app-cms", - "caution-triangle-outline", - "bird-flying", - "arrows-left-right", - "grid-9", - "stethoscope", - "friend-except", - "app-instagram", - "nav-magnifying-glass", - "list-arrow-down", - "photo-arrows-left-right", - "badge", - "square-ruler", - "phone", - "app-horizon-assets", - "app-bloks", - "settings-internal", - "weather-thunder-outline", "weather-thunder" -] +] \ No newline at end of file