We’ve been waiting for this day for a long time!
Reaction Commerce release 0.13 is the last release using the classic Meteor Atmosphere package architecture.
Historically, we’ve been tied to specific releases of Meteor, and with each Meteor release we’ve needed to refactor the entire codebase to keep current. Meteor’s 1.4 core packages will be independently released, so now we’ll only need to update Meteor when we need specific packages to be updated. This new package independence allows us to replace packages that were previously provided as part of the Meteor core distribution, such as Accounts that can not be independently updated and released. Node.js releases will now also be able to be independently updated from Meteor as well, enabling quicker updates for important security and performance release.
This is all really great news for Reaction - it will allow us to create a much more stable codebase, as we’re not going to need to be refactoring just to keep up with Meteor releases, and we’ll be able to focus more on completing features, and spend less time refactoring.
Reaction release v0.14 will be a full migration to this new package architecture.
- We’re switching the default project branch to
masterand resuming a “normal” git flow.
- We’re merging
developmentby next Monday 6/13
- We’ll be updating docs and tests to mirror updates made in development, to be mostly completed before this merge, but work will continue in the
- Current open PR’s will be closed or deferred.
- Evaluating development for decoupling and extensibility.
module-structure-rebase moves all Reaction core packages that used to exist in
/packages into application folders, and refactors all our packages to use ES6 modular import patterns.
Custom packages that have been built or installed for Reaction will continue to work, but you will likely need to make updates to import Reaction into your packages. We’re discussing making a helper package to ensure backward compatibility, we’ll document the exact steps to update Meteor Reaction packages built pre release 0.14.
We will be merging into
development by next Monday 6/13 (or as soon as we’re confident that none of the existing functionality is broken). To make this transition easier, we’re not going accept existing PR and are closing existing ones to make clear this switch to the new modular structure. We’ll review and re-open PR’s that were outstanding, if we feel confident we can merge them but they will likely need to be updated for the latest modular development.
New PR’s prior to Monday can be made to
module-structure-rebase, and after Monday should still be made to
development. However, take care with new PR’s to choose the correct branch, as we still won’t be accepting pull requests to
Triage of existing bugs/tickets will resume after the merge.
The Reaction core team is currently working on the following updates in
module-structure-rebase, these items are in progress, but we expect to have these ready for the
- testing / CI running module-structure-rebase
- update payment to use import
- i18next client, locales
- backwards compatibility or a convenience export loader
- solve optional packages loading (shipping, product-variant)
- example custom module (enable/disable)
- merge current WIP product variants updates
- theming and LESS updates
- merging current WIP Taxes into 0.14
- updating documentation
These are major updates, and will be disruptive for now but will provide a much more stable version of Reaction. We’re targeting a production release (1.x) to be released after 0.15, so this should be the last major architectural change for the current development cycle.