[x] Configured the project as a lerna monorepo, utilising a versioning system that keeps all packages on the same version number. We may want to consider moving to independent versioning.
[x] Configured yarn workspaces. Yarn workspaces is a must IMO when working with a monorepo.
[x] Created three packages:
react-automata: The core package
react-automata-test-utilities: Contains the test helper
react-automata-utilities: "Internal" utilities shared between the other packages. May want to consider a rename of this.
[x] All build/dev tools remain in root of mono repo. You build all 3 packages via the root. I kept the package.json scripts in the root and as they were in order to reduce friction with moving into the monorepo.
[x] Updated to latest version of babel to get around some issues I was having with running tests at root
[x] Updated eslint configurations
To be done:
[ ] Revise the root README
[ ] Create a README for each package?
[x] Fix the travis config
[ ] Validate publishing / versioning works as expected
Build is working, and so are the tests. đ
Note: when performing updates across the packages you may need to perform a build prior to test. It would be cool if there was a mechanism to build on the fly whilst running tests in watch mode.
Mostly there đ
What I have done:
react-automata
: The core packagereact-automata-test-utilities
: Contains the test helperreact-automata-utilities
: "Internal" utilities shared between the other packages. May want to consider a rename of this.To be done:
Build is working, and so are the tests. đ
Note: when performing updates across the packages you may need to perform a build prior to test. It would be cool if there was a mechanism to build on the fly whilst running tests in watch mode.
Closes #32