- React Native integration
- Pluggable UI
- Explore: JSX fixtures
- UI control panel
- Redesign docs
- Design plugin API
- Create rough plugin structure for existing UI
- Enable toggling plugins at run time
- Refactor ResponsiveLoader into a plugin
- Create UiContext with playgroundOpts, URL params, UI state and fixtureEdit callback
- Derive state from fixture.viewport
- Decouple plugin config from core config
- Decouple URL params from core UI
- Export styled-components to use in plugins (eg. HeaderButton)
- Design package API
- Turn existing plugins into packages (type:
ui-plugin
)
- Turn existing plugins into packages (type:
- Create UI for browsing and toggling plugins
- Design config API for enabled plugins
- Create UI from installing packages
- Document UI plugins
- RN server
- Extract non-webpack core from react-cosmos/server
- Create RN server cmd
- Create sockets server (forwarding messages between clients)
- Generate user modules file
- Update cosmos.modules file on fixture file changes
- Add loaderOpts to cosmos.modules
- Onboarding
- Generate Cosmos config
- Add
cosmos.modules
to gitignore - Create new App file that forks between App.main and App.cosmos
- Add package.json script
- RN UI
- Add support for websocket communication (choose between sockets or postMessage)
- Ask loader for fixtures on load
- Create RN-specific onboarding screens
- Test socket transport
- Log using
debug
on the client
- RN loader
- Extract non ReactDOM-specific core from react-cosmos-loader
- Create RN loader
- Test socket transport
- Check if existing proxies are compatible
- Check if testing API is compatible
- Create React Native App example
- Add (experimental) README section
- Create search UI for examples (by tags extracted from README)
- Create search UI for plugins
- Create high-level examples (eg. Next.js, CRA, Gatsby)