add headless entry point

Summary:
Adding `headless/index.js` This is the entry point to the headless version of Flipper.

This creates a redux store, and initializes the dispatchers. As all business logic (adb connections, etc.) are managed by dispatchers, this spins up a working version of Flipper, listening on our ports, allowing connections to devices.

For APIs not available in node.js, we are adding polyfills. `WebSocket` is used by redux-devtools, `fetch` is used in a couple of places throughout the application. These polyfills are added to the global namespace, so the app can run the same as in the browser.

Reviewed By: passy

Differential Revision: D13786573

fbshipit-source-id: 685f67e1c0d2948de7c43b8a1e2dc10dc69aa743
This commit is contained in:
Daniel Büchele
2019-01-25 12:10:30 -08:00
committed by Facebook Github Bot
parent 78cd40e890
commit dab50ec5c4
5 changed files with 264 additions and 3 deletions

46
flow-typed/npm/node-fetch_vx.x.x.js vendored Normal file
View File

@@ -0,0 +1,46 @@
// flow-typed signature: e5fd453dfa20fad0b205833eee62e758
// flow-typed version: <<STUB>>/node-fetch_v2.3.0/flow_v0.86.0
/**
* This is an autogenerated libdef stub for:
*
* 'node-fetch'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'node-fetch' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'node-fetch/browser' {
declare module.exports: any;
}
declare module 'node-fetch/lib/index.es' {
declare module.exports: any;
}
declare module 'node-fetch/lib/index' {
declare module.exports: any;
}
// Filename aliases
declare module 'node-fetch/browser.js' {
declare module.exports: $Exports<'node-fetch/browser'>;
}
declare module 'node-fetch/lib/index.es.js' {
declare module.exports: $Exports<'node-fetch/lib/index.es'>;
}
declare module 'node-fetch/lib/index.js' {
declare module.exports: $Exports<'node-fetch/lib/index'>;
}

View File

@@ -0,0 +1,53 @@
// flow-typed signature: 068e45937700fb48646a6b80285d5804
// flow-typed version: <<STUB>>/remote-redux-devtools_v0.5.16/flow_v0.86.0
/**
* This is an autogenerated libdef stub for:
*
* 'remote-redux-devtools'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'remote-redux-devtools' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'remote-redux-devtools/lib/configureStore' {
declare module.exports: any;
}
declare module 'remote-redux-devtools/lib/constants' {
declare module.exports: any;
}
declare module 'remote-redux-devtools/lib/devTools' {
declare module.exports: any;
}
declare module 'remote-redux-devtools/lib/index' {
declare module.exports: any;
}
// Filename aliases
declare module 'remote-redux-devtools/lib/configureStore.js' {
declare module.exports: $Exports<'remote-redux-devtools/lib/configureStore'>;
}
declare module 'remote-redux-devtools/lib/constants.js' {
declare module.exports: $Exports<'remote-redux-devtools/lib/constants'>;
}
declare module 'remote-redux-devtools/lib/devTools.js' {
declare module.exports: $Exports<'remote-redux-devtools/lib/devTools'>;
}
declare module 'remote-redux-devtools/lib/index.js' {
declare module.exports: $Exports<'remote-redux-devtools/lib/index'>;
}