Wow! We've got an incredible set of Aurelia releases for you! Today we're pleased to announce the 1.0 release of Aurelia Validation, the Release Candidate of our new Webpack plugin and major updates to the Aurelia CLI.
We've been working on our new validation library for quite some time. Thanks to the hard work of Core Team Member Jeremy Danyow, along with countless community members, we're excited to announce the 1.0 release. We've been making tons of incremental improvements as part of the alpha and beta series releases. The 1.0 releases continues in that fashion and also adds the final bit of polish. There's one major new feature as part of the final release: the ability to use Aurelia Validation as a server-side validation library! The full details are in the changelog below. If you've been looking for a great validation library to use with Aurelia or for a validation library to use with any server-side framework, look no further :)
Aurelia Webpack Plugin
Webpack has had some huge changes over the last year. While Webpack has been steadily improving its offering, Core Team Members Joel Dumas and Bazyli Brzóska have been working tirelessly to build a modernized Webpack setup for Aurelia as well. Together with them, I'd like to thank the many community members who have been providing feedback and early testing already. Today, we're announcing our Webpack Plugin 2.0 Release Candidate. This is a brand new implementation of the plugin, so those who wish to adopt it will need to update their configuration. There are plenty of advantages to the new setup: a much simpler configuration model, it's built for the latest Webpack 2 release, has deeper integration with Webpack itself, etc. This also sets the stage for Hot Module Reload, which is coming soon as well.
We're still working on official documentation for the new plugin and are in-progres with updating skeleton projects. If you'd like to give the RC plugin a spin, you can find the information you need to get setup in Joel's Aurelia Webpack Plugin Wiki. We'll have further announcements when we launch the official documentation and have the skeletons ready.
We've got a huge update to the Aurelia CLI today. Here's a brief bit about this release from Aurelia Core Team Member Jeroen Vinke:
If you are using the Aurelia CLI, you have most likely configured dependencies in the aurelia.json file before. Today we are introducing a new feature of the CLI that can configure dependencies for you. This feature is called the “importer” and can be used in two ways.
au import jquery will configure the jQuery package in aurelia.json, provided that jQuery has already been installed (by NPM or yarn for example). The second option is
au install jquery. This command will both install and configure the jQuery package. By default the CLI installs the package using NPM but Yarn can be selected as well. This can be done by setting a
packageManager property in the aurelia.json file to “yarn”.
There are many packages available (some adhering to standards and some not), so it can happen that packages are imported incorrectly. When this happens, please let us know so we can work on making the CLI smarter. We would like to thank @martonsagi for his work on
aurelia-cli-pacman which has been the proof of concept of the importer feature, and @adriatic as well as @Thanood for helping to test the importer with all kinds of packages.
There are many more new features, bug fixes and performance enhancements in today's library releases. As always, you can get all the details of the additional minor and patch releases below. If you have any problems updating any of these libraries, you may need to clear your NPM cache and re-install. In some cases, we have noticed that NPM does not correctly pick up all updated dependencies.
Major updates may include breaking changes, new features, fixes to bugs and performance improvements.
- build: add __esModule flag (0f20d7c), closes #417
- package: delete unnecessary @types packages (f9ec842)
- package: update to typescript 2.2 (65759b4), closes #417
- ValidationParser: improve function regex (5e32142)
- validation-errors: enable explicit controller binding (4fbf24e)
- validation-messages: displayName function (233fbbc)
- Validator: server-side validation (1b701ab), closes #398
- Huge performance improvements to building/bundling.
- Many minor enhancements.
Tons of bugs fixed all over the place. Oh my!
We have removed the code for configuring Bluebird from
main.[js|ts]. This code has been moved to a file that is now prepended to
vendor-bundle.js. You will need to update the
prepend section of your
vendor-bundle.js configuration to start with the following two files:
"prepend": [ "node_modules/bluebird/js/browser/bluebird.core.js", "node_modules/aurelia-cli/lib/resources/scripts/configure-bluebird.js" ]
This is a complete re-write of the Aurelia Webpack plugin, designed to modernize our Webpack setup to match the latest version of the popular build and asset bundling system.
Minor updates include new features, updates to bugs and performance improvements.
- build: declare ModuleNameOptions as it's understood by the new Webpack plugin (2cf136b)
- typings: add shorthand for moduleName's second parameter (41f0926)
- More efficient loggers connect.
- opt-out for polyfills
- index: provide public api for enabling long stack traces (352f50b)
- Fix fix child urls with emptys
- 411 bug fix
- fix pipeline return type
- add isExplicitNavigation and isExplicitNavigationBack
- Assign: enable nesting assignments (8186ef7), closes #561
- CheckedObserver: handle undefined model (#575) (e16bb9e), closes #574
- SelectValueObserver: handle null model (f3d80c9), closes #540
- build: make SVG support optional (b2d68c8)
- child-observation: make property descriptor configurable (7f07ffb), closes #520
- swap: fix missing return result/controller statement (e464663)
- swap-strategies: correct parameter name on with method (bb6e09d)
- view-slot: check for undefined child (47a04a7)
- view-slot: eliminate double lookup (8639ad5)
- ViewCompiler: use primary prop's default binding mode (3a350e8)
- swapOrder: add swaporder property for concurrent enter/leave transitions (6a77043)
- SelfBindingBehavior: add SelfBindingBehavior (6dee0cb)
- swapOrder: add swaporder property for concurrent enter/leave transitions (68b52e5)
- Updated dependencies
- route: load html only component (112dd29)
- Update to use shared SwapStrategies from templating.
- animator: fix custom animation name handling in 'enter' and 'leave' functions (12d820f)
- animator: fix using aliases in 'enter' and 'leave', added tests (1db99bc)
- startup: start() incorrectly returns a resolved promise (4ef49e6)
- config: .feature() accepts explicit /index. (890f8d5)
- Some dependency changes and internal cleanup.
- startup: starting promise fullfils too early (020e851)
- Add shadows to design language.
Patch updates include only fixes to bugs and performance improvements.
- DefaultLoader: use config API for map (a4607b9)
aurelia-webpack-plugin 1.2.1 and 1.2.2
- "Can't resolve 'bundle'" issue
- webpack-plugin: Windows specific paths fix (f5624a3)