splits core and app into separate packages, adds complete configuration for dev and production #67
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes #66
This structure provides a basis for extensible "package oriented" component design and testing with a development server and environment and also a production deployment of mirador app. There are many, many options with webpack, so this should not be considered complete, but does provide reasonable defaults for further enhancement.
The separation of versioned libraries and feature/plugin components from the main app allows maintainability as the code-base grows. Currently, there is one library, "mirador3-core" which provides redux actions and reducers.
As a library then, mirador3-core is just a npm package and can be published by itself. Currently, since it is not published, it is referenced in the package.json with "file://"
The option in
minimal_redux_poc
to provide a distribution binary of mirador3-app for an non-optimized production app build can also be provided, though this has not been included in this PR. Note that production deployment with webpack primarily involves chunking, and this cannot be achieved with a distribution binary. Chunking optimizations are particularly advantageous for mobile platforms.The tests do run and most pass, but there are now a couple of failures. I suspect that this can be addressed in a subsequent PR.
Running the app can be done with "npm start" from the packages/mirador3-app directory. lerna could be added to make building and testing multiple packages easier.