::::::::: :::::::::: ::: :::::::: ::::::::::: ::::::::::: :::::::: :::: :::
:+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+:+: :+:
+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ :+:+:+ +:+
+#++:++#: +#++:++# +#++:++#++: +#+ +#+ +#+ +#+ +:+ +#+ +:+ +#+
+#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+#
#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#+#
### ### ########## ### ### ######## ### ########### ######## ### ####
Meta
Installation
$ git clone --recursive https://github.com/artsy/reaction.git
$ cd reaction
$ npm install -g yarn
$ yarn install
$ cp .env.oss .env
Instructions
-
Development of components happen in storybooks:
$ yarn start
$ open http://localhost:9001/
-
Run the tests:
$ yarn test
-
Run the tests continuously (or use vscode-jest
):
$ yarn test -- --watch
-
In vscode, run the TypeScript: Run type-checker
task and open the PROBLEMS
view to see continuous type-checker
results.
-
After updating components, be sure to deploy a new demo (sharing is caring!):
$ yarn deploy-storybook
-
When using new changes in metaphysics’ schema, be sure to update the local schema copy:
$ yarn sync-schema
-
There are some suggested VSCode extensions in .vscode/extensions.json
and additional docs at docs/vscode.md.
Commits and Deployments
Circle CI is set up to publish releases to NPM automatically via semantic-release following every successful merge to master.
Release versions (major, minor, patch) are triggered by commit messages, when they adhere to Ember conventions:
[TAG context] commit message
Valid tags for release include PATCH, DOC, FIX (patch), FEATURE (minor), and BREAKING (major). Commits that do not adhere to this convention will not trigger an NPM release.
Example Patch Release
[FIX onboarding] Modal does not open
[PATCH] Bump version
Example Minor (Feature) Release
[FEATURE auctions] Add relay-based slider component
Example Major (Breaking) Release
[BREAKING publishing] Replace children with props for caption editing