{"id":13727358,"url":"https://github.com/artsy/emission","last_synced_at":"2025-05-07T22:31:12.199Z","repository":{"id":66336099,"uuid":"52437732","full_name":"artsy/emission","owner":"artsy","description":"⚠️ Deprecated repo, moved to artsy/eigen ➡️ React Native Components","archived":true,"fork":false,"pushed_at":"2020-03-03T14:44:08.000Z","size":98918,"stargazers_count":618,"open_issues_count":54,"forks_count":78,"subscribers_count":60,"default_branch":"master","last_synced_at":"2024-11-14T17:48:14.114Z","etag":null,"topics":["app","artsy","react-native"],"latest_commit_sha":null,"homepage":"http://artsy.github.io/blog/2018/04/17/making-a-components-pod/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artsy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-02-24T11:36:24.000Z","updated_at":"2024-04-22T02:18:25.000Z","dependencies_parsed_at":"2023-03-13T20:29:56.648Z","dependency_job_id":null,"html_url":"https://github.com/artsy/emission","commit_stats":null,"previous_names":[],"tags_count":346,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artsy%2Femission","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artsy%2Femission/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artsy%2Femission/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artsy%2Femission/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artsy","download_url":"https://codeload.github.com/artsy/emission/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252965393,"owners_count":21832885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","artsy","react-native"],"created_at":"2024-08-03T01:03:51.720Z","updated_at":"2025-05-07T22:31:10.003Z","avatar_url":"https://github.com/artsy.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# ⚠️ This repo is deprecated\n\nThe code in this repository was folded into [Eigen]. Please go there for all future development.\n\n## Reactions ⇒ Emissions\n\nEmission is a collection of [React Native] Components which are consumed by [Eigen]. A writeup on how \u0026 why we made a lot of the repo decisions is on our [blog here].\n\nInside Emission you will find:\n\n- An example app for building and running Emission's components with an Eigen-like API.\n- An NPM module that relies on React Native and manages the components.\n- A Podspec that wraps it all together for easy external usage in Eigen.\n\n### Meta\n\n- **State:** retired, see [Eigen]\n- **Point People:** [@ashfurrow](https://github.com/ashfurrow), [@ds300](https://github.com/ds300)\n- **CI:**\n  - React Native components: [![Build Status](https://travis-ci.org/artsy/emission.svg?branch=master)](https://travis-ci.org/artsy/emission)\n  - Native unit tests: [![CircleCI](https://circleci.com/gh/artsy/emission.svg?style=svg)](https://circleci.com/gh/artsy/emission)\n- **[Troubleshooting](https://github.com/artsy/emission/blob/master/docs/troubleshooting.md)**\n\nThis 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).\n\nDon'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).\n\nWant 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. Also check out [the map to Emission](docs/map_to_emission.md) to oriented yourself to the codebase.\n\n### Prerequisites\n\n- Xcode\n\n### Installation\n\n_Automated install_:\n\n- **OSS**: `git clone https://github.com/artsy/emission.git \u0026\u0026 cd emission \u0026\u0026 make setup \u0026\u0026 make oss`\n- **Artsy**: `git clone https://github.com/artsy/emission.git \u0026\u0026 cd emission \u0026\u0026 make setup \u0026\u0026 make artsy`. Then look in 1password for the Eigen keys.\n\n_Manual install_\n\n1. Install [Node.js][node], and [Yarn][yarn]: `$ brew install node yarn`\n1. Install file watcher used by React Native:\n   - `$ brew install watchman`\n1. Install NPM modules: `$ yarn install`\n1. Install Pods: `$ cd Example \u0026\u0026 bundle \u0026\u0026 bundle exec pod install`\n\nRan into issues? Try [troubleshoot](docs/troubleshooting.md).\n\n### Running the project:\n\n1. Run `$ yarn start` from the top directory, which will:\n\n   - Clean the example app’s Xcode build dir.\n   - Start the example app’s React Native packager.\n   - Start the React Storybooks environment.\n\n1. Now from Xcode you can run the app in `Example/Emission.xcworkspace`.\n\n- If you already have the app installed, you can run `open -a Simulator` to open the last sim, and then `xcrun simctl launch booted net.artsy.Emission` to open the app.\n- If you run into any issues with the above commands oftentimes a full clean can help. Run `rm -rf node_modules; rm -rf Example/Pods; yarn install; cd Example; bundle exec pod install` and then repeat the steps above.\n\n### Daily Development\n\nTo use [Storybooks](https://github.com/storybooks/storybook), select \"Open Storybook\" from the \"Developer\" section of the root view in the app. You can also use the [VSCode Storybooks plugin](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-react-native-storybooks).\n\nTo create your React components and Relay containers, use the [omakase generator][omakase-cli]. E.g.\n\n```\n$ yarn om g src/lib/Scenes/Artwork/ArtworkMetadata -f Artwork\n```\n\n```\n$ yarn om g src/lib/Scenes/Artwork/ArtworkMetadata -r Artwork\n```\n\n```\n$ yarn om g src/lib/Scenes/Artwork/ArtworkMetadata -p Artwork.artists\n```\n\nFor full details see [the CLI README][omakase-cli].\n\n---\n\n### Using VS Code as an IDE\n\nThere is a comprehensive document covering [our setup here](docs/vscode.md).\n\n### Debugging\n\nThere is a comprehensive document covering [the various options](docs/debugging.md).\n\n### Updating Dependencies\n\nWe vendor some data from other repositories that you will sometimes need to update. Notably the GraphQL schema of metaphysics that Relay uses to generate queries from: `$ yarn sync-schema`\n\n### Deploying Emission\n\nDeploys are automated on CI after each PR merge, based on the patch/minor/major label added to the PR (patch is default).\n\n### Resources\n\n- React Native:\n\n  - http://makeitopen.com\n  - https://github.com/fbsamples/f8app/\n  - http://facebook.github.io/react-native/docs/getting-started.html\n  - http://beginning-mobile-app-development-with-react-native.com/book-preview.html\n\n- Relay:\n\n  - https://facebook.github.io/relay/docs/getting-started.html\n  - https://github.com/facebook/relay/tree/master/examples\n  - https://github.com/fbsamples/f8app/\n\n- TypeScript:\n\n  - https://www.typescriptlang.org\n  - https://github.com/basarat/typescript-book\n\n- Testing:\n\n  - https://facebook.github.io/jest/\n  - https://facebook.github.io/jest/docs/api.html#content\n  - https://facebook.github.io/jest/blog/2016/07/27/jest-14.html\n\n- Flexbox:\n\n  - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n  - http://blog.krawaller.se/posts/a-react-app-demonstrating-css3-flexbox/\n  - https://egghead.io/courses/flexbox-fundamentals\n\n- React Native Storybooks:\n\n  - https://github.com/storybooks/storybook/\n  - https://github.com/storybooks/storybook/tree/master/app/react-native\n\n- React Native Debugger:\n  - https://github.com/jhen0409/react-native-debugger\n\n[react native]: http://facebook.github.io/react-native/\n[eigen]: https://github.com/artsy/eigen\n[yarn]: https://yarnpkg.com\n[flow]: http://flowtype.org\n[node]: http://nodejs.org\n[glossary-yarn]: http://artsy.github.io/blog/2016/11/14/JS-Glossary/#yarn\n[blog here]: http://artsy.github.io/blog/2016/08/24/On-Emission/\n[spec-repo]: https://github.com/artsy/Specs/tree/master/React\n[metaphysics]: https://github.com/artsy/metaphysics\n[omakase-cli]: https://github.com/omakase-js/omakase/blob/master/packages/cli/README.md\n\n## License\n\nMIT.\n\n## About Artsy\n\n\u003ca href=\"https://www.artsy.net/\"\u003e\n  \u003cimg align=\"left\" src=\"https://avatars2.githubusercontent.com/u/546231?s=200\u0026v=4\"/\u003e\n\u003c/a\u003e\n\nThis project is the work of engineers at [Artsy][footer_website], the world's\nleading and largest online art marketplace and platform for discovering art.\nOne of our core [Engineering Principles][footer_principles] is being [Open\nSource by Default][footer_open] which means we strive to share as many details\nof our work as possible.\n\nYou can learn more about this work from [our blog][footer_blog] and by following\n[@ArtsyOpenSource][footer_twitter] or explore our public data by checking out\n[our API][footer_api]. If you're interested in a career at Artsy, read through\nour [job postings][footer_jobs]!\n\n[footer_website]: https://www.artsy.net/\n[footer_principles]: culture/engineering-principles.md\n[footer_open]: culture/engineering-principles.md#open-source-by-default\n[footer_blog]: https://artsy.github.io/\n[footer_twitter]: https://twitter.com/ArtsyOpenSource\n[footer_api]: https://developers.artsy.net/\n[footer_jobs]: https://www.artsy.net/jobs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartsy%2Femission","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartsy%2Femission","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartsy%2Femission/lists"}