A state controller with its own debugger
Cerebral v2 is still a work in progress. Please head over to our cerebral v2 WIP website for more information:
To try out Cerebral 2 you can install any package with:
npm install {cerebralPackage}@next --save --save-exact
This will install the latest version of that package. New versions are automatically deployed whenever pull requests are merged into master.
When you want to update your packages you have to update all used packages in one go, for example:
npm install cerebral@next cerebral-router@next cerebral-provider-http@next --save --save-exact
The entire Cerebral codebase has been rewritten to encourage contributions. The code is cleaned up, commented and all code is in a "monorepo". That means you can run tests across projects and general management of the code is simplified a lot.
- Clone the monorepo:
git clone https://github.com/cerebral/cerebral.git
- In root:
npm install
- Run
npm run setup
which will build code and bootstrap it together
The packages are located under packages
folder and there is no need to run npm install
for each package.
If you want to use Cerebral 2 directly from your cloned repo, you can create a symlink
to the packages/cerebral
directory into the node_modules
directory of your app.
If your app and the cerebral monorepo are in the same folder you can do from inside your app directory:
$ ln -s ../../cerebral/packages/cerebral/ node_modules/
Similar you can link other packages from the packages
directory into your app's
node_modules
folder.
Just remember to unlink the package before installing it from npm:
$ unlink node_modules/cerebral
Go to the respective packages/some-demo-folder
and run npm start
You can run all tests in all packages from root:
npm test
Or you can run tests for specific packages by going to package root and do the same:
npm test
When you make a code change you should create a branch first. When the code is changed and backed up by a test you can commit it from the root using:
npm run commit
This will give you a guide to creating a commit message. Then you just push and create a pull request as normal on Github.