Files
flipper/desktop
Anton Kastritskiy 4ad54db723 eslint warn on non null assertions
Summary:
Let's ban the non null assertion syntax `maybeNull!` as it is unsafe and can cause unexpected behavior. Ideally this should be an error or require a comment explaining why the value cannot be nullish. Though, there are 468 occurrences around the codebase and it is not worth it to manually go around fixing it now. Thus I used a warn to still warn developers to avoid the use where possible.

Last week I spend over an hour on debugging something where the code was null-asserted as the developer thought the value could never be null while in reallity it could. Adding a runtime check in this case sounds reasonable.

rule docs
https://typescript-eslint.io/rules/no-non-null-assertion/

Reviewed By: nikoant

Differential Revision: D45773327

fbshipit-source-id: 9e8a40af353ce979f469ffaedd8e777d72500dab
2023-05-11 07:30:07 -07:00
..
2023-01-25 04:35:09 -08:00
2023-01-25 04:35:09 -08:00
2023-04-28 12:19:45 -07:00
2022-05-30 03:41:33 -07:00
2023-05-10 07:47:19 -07:00
2023-05-10 07:47:19 -07:00
2023-04-28 12:19:45 -07:00
2021-09-27 08:25:20 -07:00
2023-04-28 12:19:45 -07:00
2023-04-26 05:30:21 -07:00
2021-10-08 01:33:03 -07:00
2021-12-17 10:04:23 -08:00
2023-05-10 07:47:19 -07:00

Flipper Desktop

This folder contains everything to run the Flipper 'Desktop', that is, the UI which you use to interact with the device / app under debug.

Packages provided here:

  • flipper-common: utilities & types shared between client, server, flipper-plugin
  • flipper-server-core: all device & client management goes in here. Basically flipper's backend
  • flipper-ui-core: all UI goes in here, as far as it doesn't depend on Electron
  • flipper-ui-electron: the Electron app, will load server-core and ui-core, and glue them together, providing implementations for some electron * specific stuff like dialgos
  • flipper-server: A node process hosting flipper-server-core, that can be connected to over websockets. And probably can serve a browser version of the UI as well.
  • flipper-ui-browser: thin wrapper around flipper-ui-core, providing some browser specific behavior / stubs.
  • flipper-dump: (might remove later), but want to hack a quick and dirt flipper dump in here, as alternative way to test flipper-server-core.
  • flipper-plugin: The flipper SDK used by plugins. Exposes all API's that can be used by plugins
  • pkg: CLI tool to manage building flipper plugins
  • pkg-lib
  • plugin-lib
  • babel-transformer
  • doctor
  • eslint-plugin-flipper

Packages overview

flipper-ui-electron:
   - flipper-server-core (directly embedded)
   - flipper-ui-core
       - plugins (prebundled)
   - plugins (installable)
       - flipper-plugin

flipper-server
   - flipper-server-core
   - flipper-ui-browser (served by webserver)
       - flipper-ui-core (communicates using WebSocket with server-core)
           - plugins (prebundled)
   - plugins (installable)?

flipper-dump
   - flipper-server-core