<commit_before># Reactions ⇒ Emissions

Emission is a collection of [React Native] Components which are consumed by [Eigen]. A writeup on how & why we made a lot of the repo decisions is on our [blog here].

Inside here you will find:

* An example app for building and running Emission's components with an Eigen-like API.
* An NPM module that relies on React Native and manages the components.
* A Podspec that wraps it all together for easy external usage in Eigen.

### Meta

* __State:__ production
* __Point People:__ [@sarahscott](https://github.com/sarahscott), [@alloy](https://github.com/alloy)

This is a core [Artsy Mobile](https://github.com/artsy/mobile) OSS project, along with [Energy](https://github.com/artsy/energy), [Eidolon](https://github.com/artsy/eidolon), [Eigen](https://github.com/artsy/eigen) and [Emergence](https://github.com/artsy/emergence).

Don't know what Artsy is? Check out [this overview](https://github.com/artsy/meta/blob/master/meta/what_is_artsy.md) and [more](https://github.com/artsy/meta/blob/master/README.md), or read our objc.io on [team culture](https://www.objc.io/issues/22-scale/artsy).

Want to know more about Emission? Read the [mobile](http://artsy.github.io/blog/categories/mobile/) blog posts, or [Emission's](http://artsy.github.io/blog/categories/emission/) / [React Native's](http://artsy.github.io/blog/categories/reactnative/) specifically.

### Installation

1. Install [Node.js][node], and [Yarn][yarn]: `$ brew install node yarn`
2. Install file watcher used by React Native:
   * `$ brew install pcre`
   * `$ brew link pcre`
   * `$ brew install watchman --HEAD`
3. Install NPM modules: `$ yarn install`
4. Install CocoaPods: `$ gem install cocoapods`
5. Install Pods: `$ cd Example && ARTSY_STAFF_MEMBER=true pod install`

Why Yarn? See [our JS glossary for Yarn][glossary-yarn],

### Development



### Using VS Code as an IDE

There is a comprehensive document covering [our setup here](docs/vscode.md).

### Vanilla Commands

1. Run `$ npm start` from the top directory, which will:
   * Clean the example app’s Xcode build dir.
   * Start the example app’s React Native packager.
   * Start the React Storybooks environment.

2. Now from Xcode you can run the app in `Example/Emission.xcworkspace`.


### Debugging

You can use React Native debugger which is a standalone app to inspect views as well as the standard chrome debugging tools.

1. Install [RN debugger](https://github.com/jhen0409/react-native-debugger): `$ brew update && brew cask install react-native-debugger`.
2. You can now use `$ npm run rndebugger` instead of `$ npm start` to configure the React Native packager to use RNdebugger.


### Updating Dependencies

1. We vendor some data from other repositories that you will sometimes need to update. You can either update all of them<commit_msg>Adds screenshot<commit_after># Reactions ⇒ Emissions

Emission is a collection of [React Native] Components which are consumed by [Eigen]. A writeup on how & why we made a lot of the repo decisions is on our [blog here].

Inside here you will find:

* An example app for building and running Emission's components with an Eigen-like API.
* An NPM module that relies on React Native and manages the components.
* A Podspec that wraps it all together for easy external usage in Eigen.

### Meta

* __State:__ production
* __Point People:__ [@sarahscott](https://github.com/sarahscott), [@alloy](https://github.com/alloy)

This is a core [Artsy Mobile](https://github.com/artsy/mobile) OSS project, along with [Energy](https://github.com/artsy/energy), [Eidolon](https://github.com/artsy/eidolon), [Eigen](https://github.com/artsy/eigen) and [Emergence](https://github.com/artsy/emergence).

Don't know what Artsy is? Check out [this overview](https://github.com/artsy/meta/blob/master/meta/what_is_artsy.md) and [more](https://github.com/artsy/meta/blob/master/README.md), or read our objc.io on [team culture](https://www.objc.io/issues/22-scale/artsy).

Want to know more about Emission? Read the [mobile](http://artsy.github.io/blog/categories/mobile/) blog posts, or [Emission's](http://artsy.github.io/blog/categories/emission/) / [React Native's](http://artsy.github.io/blog/categories/reactnative/) specifically.

### Installation

1. Install [Node.js][node], and [Yarn][yarn]: `$ brew install node yarn`
2. Install file watcher used by React Native:
   * `$ brew install pcre`
   * `$ brew link pcre`
   * `$ brew install watchman --HEAD`
3. Install NPM modules: `$ yarn install`
4. Install CocoaPods: `$ gem install cocoapods`
5. Install Pods: `$ cd Example && ARTSY_STAFF_MEMBER=true pod install`

Why Yarn? See [our JS glossary for Yarn][glossary-yarn],

### Development



### Using VS Code as an IDE

There is a comprehensive document covering [our setup here](docs/vscode.md).

### Vanilla Commands

1. Run `$ npm start` from the top directory, which will:
   * Clean the example app’s Xcode build dir.
   * Start the example app’s React Native packager.
   * Start the React Storybooks environment.

2. Now from Xcode you can run the app in `Example/Emission.xcworkspace`.


### Debugging

You can use React Native debugger which is a standalone app to inspect views as well as the standard chrome debugging tools.

1. Install [RN debugger](https://github.com/jhen0409/react-native-debugger): `$ brew update && brew cask install react-native-debugger`.
2. You can now use `$ npm run rndebugger` instead of `$ npm start` to configure the React Native packager to use RNdebugger.

![screen shot 2017-01-23 at 1 00 01 pm](https://cloud.githubusercontent.com/assets/296775/22220775/09bb10ec-e17e-11e6-8801-3b0ccbdbaa84.png)

### Updating Dependencies

1. We vendor some data from other repositories that you will sometimes need to update. You can either update all of them
{'fraction_non_alphanumeric': 0.11737411926447844, 'fraction_numerical': 0.013060663344217219, 'mean_word_length': 4.33455545371219, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 23, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1580989', 'n_tokens_mistral': 1904, 'n_tokens_neox': 1789, 'n_words': 660}